你如何组织/设计你的测试脚本

8
我对他人如何组织测试脚本或者在哪里工作过看到的好的测试脚本组织方法很感兴趣。此外,这些测试脚本中包含多少细节也是我关注的焦点。这特别涉及手动测试创建的测试脚本,而不是为任何自动化测试目的创建的测试脚本。
问题在于,测试脚本中存在着许多复杂性,但却没有组织复杂或大型代码库所使用的原则。您需要能够指定代码应该执行的操作,但不能让阅读它的人感到无聊。
此外,您如何布置测试脚本?我不想创建适用于数据输入类型运行的完全指定脚本,因为我们没有这样的团队,而且维护这些脚本的开销似乎太高了。此外,我觉得这样详细地规定流程会使实际进行测试的人对产品质量失去责任感。人们是否指定每个按钮点击和输入的值?如果没有,那么指定的详细程度是多少?
4个回答

2

由人类执行的测试应该具有非常高的抽象级别。

例如,stackoverflow注册的测试用例:

好的:

一个具有现有OpenId帐户的网站访问者注册为stackoverflow用户并发布了一个答案。

不好的:

1)导航到http://stackoverflow.com 2)单击登录链接3)等等 ...

这是有几个重要原因的:

a)它使测试易于维护。 因此,您无需在导航元素重新标记(例如,“登录”更改为“登录”)时更新测试脚本。

b)它可以避免测试人员因琐碎的细节而发疯。

c)编写详细的手动测试脚本是对有限测试资源的不良使用。
详细的手动测试脚本会将测试人员分散到为次要文档问题编写漏洞的过程中。 您希望利用时间来查找真正影响客户的漏洞。


1

测试可以按优先级分组。BVT / 烟雾测试可能具有最高优先级,而功能、集成、回归、本地化、压力和性能的优先级较低。根据您的测试通过,您将选择一个优先级并运行所有具有该优先级或更高优先级的测试。您只需要确定特定测试的优先级即可。


0
Matt Andresen提供了一个很好的答案,但有些情况下你不能这样做。例如,当你在处理必须符合其他方如FDA规定的验证应用程序时,需要经过非常严格的审计、审核和签署,那么就需要两个答案。尽管在这种情况下,我会选择使用HP QuickTestPro或IBM RationaRobot进行自动化。
也许你应该尝试一些测试库?再次,有来自HP QualityCenter和IBM产品的工具,但这可能很昂贵。你可以找到一些更便宜的工具,让你将它们按需求/特性组织成树形结构,分配优先级,将它们分组为发布测试套件,将它们分组为回归测试套件等等...

0

我试图将手动测试适应自动化结构——你可以两者兼备。

自动化测试使用的组织方案(例如xUnit框架)对我很有用。实际上,它们可以用于半自动化测试,通过停止并调用手动测试运行,或输入被输入,或检查GUI。该方案通常是镜像生产代码的目录结构,或将测试包含在生产代码内部,有时作为内部类。高于单元级别的测试通常可以适应更高级别的目录(假设您有足够深的目录树)。这些更高级别的测试可以放在(镜像)没有生产代码但出于组织目的而存在的目录中。

详细程度——嗯,那取决于情况,对吧?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接