如何测试应用程序? [关闭]

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)

如何对 iOS 应用进行自动化测试? [关闭]

如何开发和测试一个发送电子邮件的应用程序(而不用测试数据填充某人的邮箱)? [关闭]

如何测试我正在开发的防病毒程序? [关闭]