Testing 您如何组织/布局您的测试脚本

Testing 您如何组织/布局您的测试脚本,testing,manual-testing,Testing,Manual Testing,我对其他人如何组织他们的测试脚本感兴趣,或者在他们工作过的任何地方都看到过良好的测试脚本。此外,这些测试脚本中的详细程度如何。这特别涉及为手动测试创建的测试脚本,而不是为任何自动测试目的创建的测试脚本 我所看到的问题是,测试脚本非常复杂,但没有组织复杂或大型代码库所使用的原则的好处。您需要能够指定一段代码应该做什么,但不会让人在阅读时感到厌烦 另外,如何布局测试脚本,我不想创建适合由数据输入类型运行的完全指定的脚本,因为这不是我们的团队,维护它们的开销似乎太高。此外,我觉得,如此详细地规定流程,

我对其他人如何组织他们的测试脚本感兴趣,或者在他们工作过的任何地方都看到过良好的测试脚本。此外,这些测试脚本中的详细程度如何。这特别涉及为手动测试创建的测试脚本,而不是为任何自动测试目的创建的测试脚本

我所看到的问题是,测试脚本非常复杂,但没有组织复杂或大型代码库所使用的原则的好处。您需要能够指定一段代码应该做什么,但不会让人在阅读时感到厌烦


另外,如何布局测试脚本,我不想创建适合由数据输入类型运行的完全指定的脚本,因为这不是我们的团队,维护它们的开销似乎太高。此外,我觉得,如此详细地规定流程,免除了实际进行产品质量测试的人员的责任。人们是否指定每个按钮的点击次数和要输入的值?如果没有,则指定详细程度。

我尝试将手动测试融入到自动化结构中,您可以同时使用这两种测试

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


细节的层次——嗯,这取决于,对吧?

人类执行的测试应该处于非常高的抽象层次

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

好:

具有现有OpenId的站点访问者 帐户注册为堆栈溢出 用户和帖子的答案

坏的:

1) 导航到 2) 点击 登录链接(3)等

这一点很重要,原因如下:

a) 它使测试保持可维护性。因此,您不必每次重新标记导航元素时都更新测试脚本(例如,“登录”更改为“登录”)

b) 它使您的测试人员不会因为繁琐的细节而发疯

c) 编写详细的手动测试脚本是对有限测试资源的拙劣使用。

详细的手动测试脚本将引导您的测试人员编写小文档问题的bug。你想利用你的时间去发现真正会影响客户的bug

测试可以按优先级分组。BVT/smoke测试的优先级最高,功能、集成、回归、本地化、压力和性能的优先级较低。根据您的测试通过情况,您可以选择一个优先级,并使用该优先级或更高优先级运行所有测试。您所需要做的就是确定特定测试的优先级

马特·安德里森(Matt Andresen)在一般情况下提供了很好的答案,但在某些情况下,你不能这样做。例如,当您处理经过验证的应用程序时,这些应用程序必须符合FDA等其他方的规定,并且需要经过非常密集的审核、审查、签署,而不是需要您的示例的2个答案。尽管在这种情况下,我会选择使用HP QuickTestPro或IBM RationalRobot实现自动化

也许你应该尝试一些测试库?还有来自HP QualityCenter和IBM产品的工具,但这可能很昂贵。你可以找到一些更便宜的,可以让你按照需求/特性将它们组织成树形结构,分配它们的优先级,将它们分组到发布的测试套件中,将它们分组到回归测试套件中等等