软件测试:实践者方法
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.2.1 测试的充分性

软件测试的充分性是指在确定的环境中、规定的时间内,完成约定测试,所有问题得到有效处置,实现规定的质量目标。基于时间、成本、资源约束,制定准出准则,确定测试充分性的阈值及风险,是制定测试充分性准则的基础。软件缺陷理论、失效机理、环境搭建、场景构建、输入组合、测量不确定性以及时间与资源等无一不是制约测试充分性的重要因素。下面给出了软件测试充分性保证的基本法则,供读者参考。

(1)基于目标驱动的测试充分性:以目标为导向,定义质量目标,确定质量目标测量、分析、评价要求和方法,如逻辑覆盖率、功能覆盖率、错误检出率等。根据确定的质量目标进行测试策划,制定测试充分性准则,驱动测试设计。

(2)基于能力驱动的测试充分性:基于被测系统的使命任务、系统架构、测试风险等,确定实现测试目标所需的人员、技术、工具、环境等能力需求,保证测试的充分性。

(3)基于技术驱动的测试充分性:基于确定的测试目的及质量目标,分析确定并应用特定的测试技术,确保测试的充分性。

(4)基于用户体验的测试充分性:邀请用户代表及相关方参与测试大纲、测试说明、就绪检查等评审,基于正向思维模式,深度挖掘功能需求,在各种可能不同的使用环境和测试场景中组织实施体验式测试,验证操作使用、运行模式、运行流程的正确性和有效性。

(5)基于用例覆盖的测试充分性:单元测试用例覆盖每一条语句,配置项及系统测试用例覆盖每一个接口输入参数的每种等价类,以及每个场景及系统的每一个运行流程及组合。覆盖每个场景是系统测试设计的基本要求。