软件测试之测试覆盖率的基本策略
发布网友
发布时间:2024-10-10 22:27
我来回答
共1个回答
热心网友
时间:2024-10-13 10:56
软件测试覆盖率是度量测试完整性和测试技术有效性的重要手段。
计算覆盖率公式为:覆盖率=(至少被执行一次的item数)/item的总数。
覆盖率具备以下特点:能够检测测试是否充分,分析测试弱点,指导设计能够增加覆盖率的测试用例,但需注意,一味追求覆盖率可能增加测试成本,测试质量的提升还需综合考虑。
软件测试覆盖率分类为白盒、灰盒和黑盒三类。
白盒覆盖包括逻辑覆盖率、代码覆盖率和结构化覆盖率,常用的是逻辑覆盖率。逻辑覆盖率计算公式为:语句覆盖率=(至少被执行一次的语句数量)/(可执行的语句总数)。
语句覆盖率含义是测试时,程序中每个可执行语句至少执行一次。
判定覆盖(分支覆盖率)定义为程序中所有判断语句的取真分支和取假分支被执行的比率。条件覆盖定义为程序中每个判断语句中每个条件的可能取值出现的比率。
判定-条件覆盖结合了判定覆盖率和条件覆盖率,定义为程序中每个条件的所有可能取值和每个判断结果至少执行一次。
条件组合覆盖定义为程序中所有原子条件的所有可能组合出现的比率。
路径覆盖定义为程序中所有可能路径被执行的比率。
灰盒覆盖率包含函数覆盖和接口覆盖。函数覆盖关注的是哪些函数被测试及频率,接口覆盖要求通过设计用例测试每个接口。
黑盒覆盖率中,功能覆盖率是常见的一种,通过设计测试用例确保每个需求点都被验证到。
总结,逻辑覆盖率可以作为软件测试度量,但不能保证程序的正确性。覆盖率是测试策略中的关键指标,需综合考量成本与质量。