如何测试应用程序? [关闭]
Posted
技术标签:
【中文标题】如何测试应用程序? [关闭]【英文标题】:How to test an application? [closed] 【发布时间】:2009-01-29 18:05:46 【问题描述】:我一直在为 IMO 构建一个非常酷的 RIA。但它现在接近完成,我需要对其进行测试,看看是否有任何错误或违反直觉的部分或类似的东西。但是怎么做?每当我要求某人尝试打破它时,他们都会看着它 3 分钟并说“它很坚固”。你们是怎么测试的?我以前从未使用过单元测试,实际上大约 3 个月前我什至从未听说过单元测试,我仍然不明白它是什么。我是否必须构建一个全新的应用程序来运行每个功能?这将花费很长时间,而且某些功能可能只会在某些情况下产生错误,所以我不懂单元测试。
【问题讨论】:
【参考方案1】:这个问题非常开放,所以这篇文章不会回答你所有的问题。如果你能改进你正在寻找的东西,那会有所帮助。
您可能想要进行两项主要的测试。第一个是单元测试,第二个是所谓的验收测试。
单元测试是在相对隔离的情况下尝试每个类/方法并确保它们有效。您可以使用 jUnit、nUnit 等作为框架来保存测试。采取一种方法,看看它可能期望的不同输入以及它的结果是什么。然后为这些输入/输出对中的每一个编写一个测试用例。这将告诉您大部分部件都按预期工作。
验收测试(或有时称为端到端测试)正在运行整个系统并确保其正常工作。列出您希望用户执行的场景列表。现在系统地尝试它们。尝试它们的变体。做他们的工作?如果是这样,您可能已经准备好将其推广给至少有限的受众。
另外,请查看 James Whittaker 的 How to Break Software。这是最好的测试书籍之一,而且读起来很短。
【讨论】:
【参考方案2】:首先要系统地确保一切都按照您期望的方式进行。然后,您想针对每个现实的硬件与可行且适当的软件安装组合进行尝试。然后,您希望了解人机交互的每一个点,并尝试放入尽可能多的数据、不放入任何数据以及可能导致异常的特殊数据。尝试按照您意想不到的顺序或工作流程做事,有时某些操作依赖于其他操作。您和您的朋友自然会按顺序执行这些步骤,如果有人不这样做会怎样?此外,让完全新手使用它是查看用户可能尝试的奇怪事物的好方法。
【讨论】:
【参考方案3】:在测试版中发布它?
【讨论】:
【参考方案4】:它基于 Xcode 和 Cocoa 开发,但this video 仍然是单元测试的一个很好的介绍。单元测试确实应该与开发一起完成,因此如果您的应用程序快完成了,那么实现它需要一段时间。
【讨论】:
【参考方案5】:Firebug 有一个很好的网络应用分析器。至于测试JS文件,我使用Scriptaculous。无论您使用什么后端,都需要进行全面测试。
但在您这样做之前,您需要了解什么是单元测试。单元测试正在验证所有单独的源代码单元是否按预期运行。这意味着您验证所有函数/方法的输出。基本上,阅读this。除了单元测试之外,还有不同的测试策略,例如集成测试,即测试不同模块之间的集成。您要求人们做的是验收测试,即验证它的外观和行为是否符合原始计划。 Here 更多关于各种测试策略。
PS:总是测试边界条件
【讨论】:
以上是关于如何测试应用程序? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何对基于 Webrtc 的 Web 应用程序进行负载测试 [关闭]
如何打开和关闭应用程序并仍然记录每个测试用例? (RobotFramework/AppiumLibrary)