代码之家  ›  专栏  ›  技术社区  ›  Robin

如何组织/布局测试脚本

  •  8
  • Robin  · 技术社区  · 16 年前

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

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

    另外,如何布局测试脚本,我不希望创建完全指定的脚本,适合由数据输入类型运行,因为这不是我们拥有的团队,维护它们的开销似乎太高。而且,我觉得这样详细地说明过程可以免除实际测试产品质量的人员的责任。人们是否指定了每个按钮的点击和要输入的值?如果没有,则指定的详细级别是什么。

    4 回复  |  直到 16 年前
        1
  •  2
  •   Matt Andersen    16 年前

    人类执行的测试应该处于非常高的抽象级别。

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

    好:

    具有现有openid的站点访问者 帐户注册为堆栈溢出 用户并发布答案。

    坏的:

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

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

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

    b)它可以避免测试人员在繁琐的细节中发疯。

    c)编写详细的手动测试脚本对有限的测试资源的利用很差。
    详细的手动测试脚本会将您的测试人员转移到编写小文档问题的bug中。你想利用你的时间来找出真正会影响客户的错误。

        2
  •  1
  •   Craig Delthony    16 年前

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

        3
  •  0
  •   Glenn    16 年前

    我试着让手工测试适应自动化的结构——你可以两者兼得。

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

    细节的层次——那要看情况而定,对吧?

        4
  •  0
  •   yoosiba Pointy    15 年前

    一般情况下,马特·安德烈提供了很好的答案,但有些情况下,你不能这样做。例如,当您处理经过验证的申请时,必须符合其他方(如FDA)的规定,并且它经过非常严格的审计、审查、签署,而不是2个答案,您的示例是必需的。尽管在这种情况下,我会选择使用HP QuickTestPro或IBM RationalRobot进行自动化。

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