我自己一直在研究一个应用程序,并且我正处于一切正常的阶段,只要用户完成他或她应该做的一切。 :-)该软件需要更多的测试,以查看它的坚固耐用,当人们进行诸如反复单击同一按钮之类的事情时,它的工作原理,尝试打开错误的文件,将数据放在错误的位置等等。

我对此有一些麻烦,因为我很难考虑使用该应用程序。这些都是我的边缘案例。尽管如此,我还是希望该应用程序尽可能稳定且经过良好的测试,然后才开始将其提供给Beta测试人员。假设我目前没有谈论雇用专业测试人员,我很好奇你们是否有任何技巧或系统的思考方式。

谢谢,一如既往。

有帮助吗?

解决方案

好吧,听起来您正在谈论两种不同的内容“测试应用程序的功能”和“压力测试”(这是您问题的标题)

压力测试是当您拥有网站时,并希望检查它可以同时处理100,000人。了解您的应用程序在压力下的表现。您可以通过记录一些操作,然后让许多代理机器同时击中应用程序来执行多种方法。

这个问题听起来更像是一个质量保证问题。这就是测试人员 /β测试人员的目的。但是,您可以自己做一些事情来验证应用程序的最佳功能。

单位测试您的代码将是一个良好的开始,它可以帮助您尝试找到这些边缘案例。如果您的方法涉及INT之类的东西,请尝试传递int.max,int.min,并查看什么炸毁。将无效进入一切。如果您使用的是.NET,则可能需要查看PEX,它将通过您的应用程序所具有的所有分支/编码器。这可能有助于您进一步完善单元测试,以尽可能地测试您的应用程序。

集成测试,看看您通常的某些事情会发生什么。这将帮助您稍后开发时“查找错误”。

这些是您可以尝试尝试发现可能错过的边缘案例的一些快速提示。但是,是的,最终您需要将应用程序传递给其他人进行测试。只需确保您在击中它们之前已经尽可能多地掩盖了吧:-)

其他提示

确保在单元测试和集成测试中具有足够的代码覆盖范围。

使用适当的UI验证以及可以打破它的测试组合。

我发现,一个良好的应用程序可以减少UI中可能的排列数量(用户可以破坏它)有很大帮助。像MVC这样的设计模式在这方面可能特别有用,因为它们使您的UI贴面尽可能薄。

自动化。

(重新)对您的代码进行考虑,以便另一个程序可以为其投掷用户活动。创建简单的用户事件脚本并将其播放回您的程序。从Beta用户捕获事件,并将这些事件保存为测试脚本(用于复制问题和检查回归)。编写一个绒毛塔,该模糊the对脚本进行小小的随机更改,并也对您的程序进行尝试。

通过这种自动化,您可以强调和应用,并发现诸如缓存和内存泄漏之类的明显问题。它不会测试实际功能。对于功能,单位测试可能会有所帮助。有大量的单元测试框架可以尝试。选择有用的东西,学会编写良好的测试,然后将它们集成到您的构建过程中。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top