第四讲:软件测试覆盖分析0C202SoftwareTesting4-*提纲软件测试覆盖分析代码覆盖分析控制流覆盖语句覆盖、判定覆盖、条件覆盖、条件判定组合覆盖、多条件覆盖、修正条件/判定覆盖、路径覆盖数据流覆盖Rapps和Weyuker的标准、Ntafos的标准、Ural的标准、Laski和Korel的标准其它覆盖标准0C202SoftwareTesting4-*软件测试覆盖分析“测试执行到何时是足够的?”我们需要一种方式来知道测试已经执行的程度。测试覆盖是一种可以凭经验确定软件质量的方法。每种测试覆盖意味着一种针对特定种类的程序缺陷的测试技术。0C202SoftwareTesting4-*软件测试覆盖分析(续)在测试计划阶段与测试执行阶段进行。在测试计划阶段,确定用何种测试覆盖分析及相应的覆盖率。在测试执行阶段,根据既定的覆盖率来检查是否进行了足够的测试。0C202SoftwareTesting4-*基于测试覆盖的测试过程0C202SoftwareTesting4-*代码覆盖代码覆盖是一种直接观测代码而进行的测试,因而归于白盒测试。0C202SoftwareTesting4-*代码覆盖(续)主要步骤:识别满足覆盖标准的一组实体,然后选择一组覆盖该组实体的有限路径。0C202SoftwareTesting4-*代码覆盖分析(续)两种代码覆盖类型:控制流覆盖与数据流覆盖。控制流覆盖:语句覆盖、判定覆盖、条件覆盖、多条件覆盖、条件判定组合覆盖、修正条件/判定覆盖及路径覆盖。数据流覆盖是选择一组满足变量的定义与引用间的某种关联关系实体;然后选择一组覆盖该组实体的有限路径。0C202SoftwareTesting4-*代码覆盖(续)无论是哪种覆盖类型,它们都遵循如下的测试过程:由被测程序的源代码,构造程序图。如基本路径法的流图,数据流法的定义使用关联图等。根据程序图,生成测试用例。如基本路径法中,先算出环形复杂度,再据此找出基本路径集,生成测试用例。编译被测源程序,生成可执行代码(假设源程序无语法错误)。生成的可执行代码,用测试用例的输入条件驱动,以执行程序测试。计算测试结果的实际覆盖率,如果达不到既定覆盖率,则返回第2步,否则结束测试。对于测试结果,除了进行代码覆盖分析外,还可以进行其他方面的分析,如测试通过率,失败率,可靠性等。0C202SoftwareTesting4-*
覆盖分析 来自淘豆网www.taodocs.com转载请标明出处.