4.4 基于经验的测试技术
以下各节将讨论常用的基于经验的测试技术:
• 错误猜测
• 探索性测试
• 基于检查表的测试
4.4.1 错误猜测
错误猜测是基于测试人员的知识来预测错误、缺陷和失效发生的技术,包括:
• 以前软件的运行方式。
• 开发人员常犯的错误类型以及由这些错误导致的缺陷类型。
• 其他类似应用软件产生的失效类型。
通常,错误、缺陷和失效可能与以下内容有关:输入(例如,正确的输入未被接受、参数错误或缺失)、输出(例如,错误的格式、错误的结果)、逻辑(例如,遗漏相关分支、错误的运算符)、计算(例如,不正确的操作数、错误的计算)、接口(例如,参数不匹配、不兼容的类型)或数据(例如,不正确的初始化、错误的类型)。
故障攻击是实现错误猜测的一种系统方法。这项技术要求测试人员创建或获取一份可能的错误、缺陷和失效列表,并设计测试来识别与缺陷相关的错误、暴露缺陷、或导致失效。这些列表可以基于经验、缺陷和失效数据,或者基于软件失败原因的常识来构建。
4.4.2 探索性测试
在探索性测试中,测试人员在了解有关测试对象的同时,设计、执行和评估测试。这种测试用于更深入地了解测试对象,使用重点测试进行深入探索,并为未测试的区域创建测试。
探索性测试有时使用基于会话的测试来构建。在基于会话的方法中,探索性测试在定义的时间盒内进行。测试人员使用包含测试目的的测试章程来指导测试。测试会话之后通常会汇报,包括测试人员和对测试会话的测试成果感兴趣的利益相关方之间的讨论。在这种方法中,测试目的可被视为高级别的测试条件。在测试会话期间,识别并执行覆盖项。测试人员可以使用测试会话表格来记录所执行的步骤和发现的内容。
探索性测试在规格说明文档较少或不充分时,或测试的时间压力大的情况下很有帮助。探索性测试也有助于作为对其他更正式测试技术的补充。如果测试人员经验丰富,具备领域知识,并具备较高的基本技能(如分析能力、好奇心和创造力),探索性测试将更加有效。
4.4.3 基于检查表的测试
在基于检查表的测试中,测试人员设计、实施和执行测试以覆盖检查表中的测试条件。检查表可以基于经验、对用户重要的知识,或者对软件失效原因和方式的理解来构建。检查表不应包含可以自动检查的项、更适合作为入口/出口准则的项或过于笼统的项。
检查表的项通常以问题的形式表述。每个项应该可以单独和直接地进行检查。这些项可以涉及需求、图形界面属性、质量特性或其他形式的测试条件。可以创建检查表支持各种测试类型,包括功能和非功能性测试。
由于开发人员能够学会避免犯同样的错误,因此检查表的某些条目随着时间的推移可能逐渐不那么有效。可能还需要添加新条目,以反映新发现的高严重性缺陷。因此,应根据缺陷分析定期更新检查表。但是,需要注意避免检查表变得过长。
在缺乏详细的测试用例的情况下,基于检查表的测试可以为测试提供指南和某种程度的一致性。如果检查表是高级别的,实际测试可能会出现一些可变性,从而可能获得更广泛的覆盖范围,同时保持较低的重复性。
原创文章,作者:iTestCat,保留所有权利,禁止转载,如若转载,请联系作者!