基于结构的或白盒技术
代码覆盖(codecoverage)
判定覆盖(decisioncoverage)
语句覆盖(statementcoverage)
基于结构的测试(structure-basedtesting)
组件级别:软件组件的结构,比如:语句、判定、分支或每个不同的路径;
集成级别:结构可能是调用树(模块调用关系图);
系统级别:结构可能是菜单结构、业务过程或web页面结构
语句覆盖-在组件测试中,语句覆盖是指评价一个测试用例套件中已经执行的可执行语句的百分比。
语句覆盖率-取决于被(设计或执行)测试用例覆盖的可执行语句数量除以被测代码所有可执行语句数量。
判定覆盖-是指评价在一个测试用例套中已经执行的判定(例如if语句的true和false选项)输出的百分比。
判定覆盖率-取决于被(设计或执行)的测试用例覆盖的所以判定出口数目除以被测试代码中所有可能的判定出口数目。
判定覆盖比语句覆盖更全面,100%的判定覆盖可以保证100%的语句覆盖,反之则不行。
条件覆盖-是指选择足够的测试用例,使得运行这些测试用例后,要使每个判断中每个条件的可能值至少满足一次,但未必能覆盖全部分支。
条件覆盖>判定覆盖>语句覆盖