您已经有了一个分布式应用程序,其中消息在客户端之间通过服务器遍历。我希望我有这样的东西来测试:-)。
你可能在你的生活中尝试过许多聊天应用程序(Skype,IRC,在线聊天,Gmail聊天,Word文档中的评论),所以你知道聊天有多不同。你可能也有自己的形象,聊天室应该是什么样子和工作方式。因此,在发明测试用例之前,您应该更多地了解应用程序的预期行为。
- 应该总是传递信息吗?
- 它是实时同步聊天还是更像论坛,人们可以在论坛上留下信息(例如,在StackExchange上聊天)
- 如何将消息传递给有临时网络连接问题的节点?当收件人不在网上时,不同的应用程序对缓冲消息有不同的策略。其中一些在发送方(Skype)缓存,另一些则在服务器上缓存。
- 消息应该通过安全通道传送吗?SSL的组合-- Flash很难正确实现
- 同一个用户应该能够同时从两台不同的机器登录吗?
- 哪些媒体同行可以在聊天中进行交流?文本、格式化文本、图像?
- 有多少人可以参加一次聊天?二?三?四?有什么限制吗?对于大量的同行来说,消息传递的“实时性”应该是很好的吗?
- 聊天有什么特别的命令吗?例如,IRC为在频道上设置主题、主持频道等提供了许多命令。
- 可以有多大的消息?我能没有问题地通过它发送编码的MP3吗?
- 客户端可以发送特殊字符吗?字符是如何编码的?是ASCII还是其他标准?编码是固定在客户端(如IRC),还是在客户端和服务器之间自动协商?
- 聊天中的消息是如何排序的?根据投递时间还是交货时间?这尤其与当同伴(S)不在网上时发送的消息有关。
- 输出应该如何格式化?例如,将Skype与这里的聊天室进行比较。
- 你能编辑/删除你已经发送的消息吗?
- 应该显示发送消息的时间吗?对于来自不同时区的客户,或者时钟之间的偏差,这应该如何工作呢?
- 那DoS攻击呢?会有这样的风险吗?
- 数据库中的聊天条目是否持久存在?如果是,那么SQL注入怎么办?