对于同一个被测对象进行测试分析得到的测试点都是差不多的,但是设计出来的测试用例却是千差万别,测试设计不同,很多测试者都遇到过别人看不懂自己设计的测试用例的尴尬,还有很多测试者宁愿自己加班把之前的测试设计推翻重写,也不愿意对之前的测试用例进行维护修改,这是因为测试设计是设计,不同的思路,写作方式,组织方式在针对同一个被测对象时设计出来的测试用例很大,理解别人的思路是一件非常困难的事情,尤其是没有规格说明书的情况下。
测试设计的方法
对于测试从业者,测试设计方法如等价类,边界值,判定表,因果图等理论上都很熟悉,但是具体到业务需求上是,都是凭感觉了,对于测试点有的时候生搬硬套。
对于流程类的测试点,可以通过绘制流程图来建立测试模型。
对于参数类的测试点,可以通过使用输入输出表来建立测试模型。
对于数据类的测试点,可以通过等价类分析表来建立测试模型。
对于组合类测试点,可以通过因子表来建立测试模型。
流程类测试点的特性有哪些?
流程类测试点主要关注的是软件系统中涉及的工作流、业务流程以及数据处理流程等方面。这类测试点通常是为了验证系统能否按照预定的设计和业务规则正确地执行流程。
流程完整性: 验证从开始到结束的完整流程是否能够顺利执行;测试所有分支路径,确保每个可能的路径都能被正确处理。
数据准确性: 确保在流程执行过程中,输入的数据被正确处理并产生正确的输出结果;验证数据在不同步骤之间传递时的一致性和完整性。
错误处理: 测试当遇到异常情况时,系统是否能够妥善处理错误,并给出适当的提示或采取相应的补救措施;验证错误处理逻辑是否符合业务需求。
交互性: 验证用户界面与后台服务之间的交互是否流畅;确保用户可以按照预期的方式与系统交互,完成各项操作。
参数类测试点的特性有哪些?
参数类测试点主要关注软件系统中使用的各种参数的正确性、有效性以及边界条件。这些测试点旨在验证系统在不同参数输入下的行为是否符合预期。
参数有效性和边界值分析:
验证输入参数是否在允许的范围内。
确保参数格式正确,例如日期格式、数值精度等。
测试参数在边界值处的行为,例如最小值、最大值、临界值等。
验证参数在边界值时系统的反应是否符合预期。
空值,异常值处理,默认值检查:
测试空值(NULL)或异常值(如负数、非法字符等)的处理情况。
确保系统能够妥善处理这些特殊值而不崩溃。
验证默认参数值是否正确设置。
确保当未指定参数值时,系统能够使用正确的默认值。
类型检查及参数依赖性:
确保参数类型与预期相符。
测试不同类型的数据作为输入时系统的反应。
测试参数之间的依赖关系。
验证当一个参数变化时,其他相关参数是否按预期更新。
参数组合及配置文件参数:
测试多个参数的不同组合情况。
验证参数之间的相互作用是否正确处理。
验证配置文件中的参数设置是否正确。
确保配置参数更改后,系统能够正确加载并应用新的配置。
安全性和隐私:
确保敏感参数的处理符合安全规范。
测试参数输入是否可能导致安全漏洞,如SQL注入、XSS攻击等。
数据类的测试点的特征?
数据的取值是一个范围,通常用于遍历覆盖测试效率低下或者无法完成的场景。
系统对允许输入的数据值的处理或响应往往是一样的。
数据完整性: 确保数据在传输、处理或存储过程中保持完整;测试数据在不同系统或模块间传递时的一致性。
数据准确性: 验证数据是否正确无误,符合预期的格式和内容;测试数据计算和转换过程中的准确性。
数据有效性: 确认数据是否在规定的范围内,并且符合预期的格式;测试数据输入的有效性,例如日期、数字范围等。
数据一致性: 验证数据在不同时间点和不同位置的一致性;测试跨多个数据源的数据同步。
数据安全 性: 确保敏感数据受到适当保护,如加密、访问控制等;测试数据加密和解密的过程。
数据冗余: 避免不必要的数据重复存储;测试数据去重机制。
数据并发处理:测试多个用户或进程同时访问和修改数据时的处理能力;验证数据锁和事务管理。
数据容量: 确保系统能够处理大量数据;测试系统在大数据量下的性能。
数据备份与恢复: 验证数据备份和恢复过程的有效性;测试灾难恢复计划。
数据结构: 验证数据结构的正确性,例如数组、列表、树等;测试复杂数据结构的构建和操作。
组合类测试点的特征有哪些?
组合类包含流程类,数据类,参数类测试点的结合,混合在一起进行测试设计,和单纯的流程测试点相对,组合类测试点一般有多个输入,这些输入可以是参数,也可以是数据。
错误推断法
错误推测法是测试者根据经验来判断产品在哪些地方容易出现问题,然后针对这些地方设计测试用例的方法。
错误推断法是一种基于经验的测试设计方法。使用错误推断法来设计测试用例,测试用例的有效性(测试用例发现缺陷的能力)会比较高,但也容易引发过度测试--测试者可能会为了发现缺陷而测试得过于严苛,却忽视对一些基本功能和场景的测试验证,造成测试遗漏。
一般来说,我们建议把错误推断法和基于模型的测试设计法放在一起使用,如我们前面介绍的测试设计四步法的第四步,在保证测试用例对场景、功能、设计有一定覆盖度的基础上,进一步增加测试用例的有效性。
错误推断法中的“经验”,主要源于对产品缺陷的分析。