【问题标题】:Acceptance testing for a chat client聊天客户端的验收测试
【发布时间】:2010-08-17 17:30:22
【问题描述】:

我正在编写一个聊天客户端(msn messenger 风格),但在编写发送/接收功能的验收测试时遇到了一些问题。

例如考虑用户故事“一个用户可以向另一个用户发送消息”。

1- 我应该测试客户端软件是否正确地与服务器交互吗?在这种情况下,我应该如何表示这种交互?

2- 我是否应该测试第二个客户端是否真的收到了消息?在这种情况下,我应该依靠服务器来证明我的软件工作正常。这种假设在验收测试中是否正确?

我想用协和或健身来编写我的测试,但非常感谢每一个帮助。

谢谢

【问题讨论】:

    标签: java networking acceptance-testing


    【解决方案1】:

    当您编写验收测试时,应该以最高级别编写,就好像用户正在使用该软件一样。它通常是一个黑盒测试。在您的用户故事“一个用户可以向另一个用户发送消息”中,您将启动 2 个客户端和聊天服务器,从一个客户端发送消息并确保另一个客户端收到它。这个故事没有说明服务器应该如何处理它,它只是说一个用户可以向另一个用户发送消息。

    您也确实想测试各个部分,即客户端是否正确地与服务器交互。这些是更多的集成和功能测试(您还应该进行单元测试来单独测试各个组件)。

    【讨论】:

    • 我认为这种方法有不止一个缺陷。如果服务器或接收客户端(它可以是另一个实现)不能正常工作,我的测试可能会失败,但我的客户端实现仍然可以正常工作。但是我认为这个解决方案可能会奏效。在您看来,fitnesse 或 concordion 是否允许您测试这样的东西?
    • 如果客户端或服务器在验收测试中失败,并且测试是通过服务器测试两个客户端之间的通信,那么测试应该失败。我不确定您所说的“它可以是另一种实现”是什么意思,除非您为人们提供客户端 API 来开发客户端。我想你会提供至少一个有效的客户端,所以使用它。至于 Fitnesse/Concordion,我没有使用 Concordion 的经验,但您应该可以使用 Fitnesse。 strumtheworld.com/blog/2010/02/…
    猜你喜欢
    • 2012-06-04
    • 2015-10-12
    • 2011-01-04
    • 1970-01-01
    • 2015-07-03
    • 2015-06-01
    • 2011-12-05
    • 2012-09-07
    • 1970-01-01
    相关资源
    最近更新 更多