1、123语句覆盖的含义就是语句覆盖的含义就是选择足够多的测试用选择足够多的测试用例,运行被测程序,例,运行被测程序,使得程序中每条语句使得程序中每条语句至少执行一次。至少执行一次。选择测试用例为:选择测试用例为:a2,b0,x4;程序的执行路径为;程序的执行路径为RACBDE,覆盖了,覆盖了所有的语句,如果执行结果正确,则证明两个判定语句为真的情况下,程序所有的语句,如果执行结果正确,则证明两个判定语句为真的情况下,程序是正确的是正确的456789101112辅助模块有两种,一种是驱动模块(辅助模块有两种,一种是驱动模块(driver),用以模拟被测模块的上级模块。),用以模拟被测模块的上级模块
2、。驱动模块在单元测试中接受测试数据,把相关的数据传送给被测模块,启动被测驱动模块在单元测试中接受测试数据,把相关的数据传送给被测模块,启动被测模块,并打印出相应的结果;另一种是桩模块(模块,并打印出相应的结果;另一种是桩模块(stub),用以模拟被测模块工作),用以模拟被测模块工作过程中所调用的模块。桩模块由被测模块调用,它们一般只进行很少的数据处理,过程中所调用的模块。桩模块由被测模块调用,它们一般只进行很少的数据处理,例如打印入口和返回,以便于检验被测模块与其下级模块的接口。例如打印入口和返回,以便于检验被测模块与其下级模块的接口。1314在进行单元测试时,根据它们在进行单元测试时,根据它
3、们在结构图中的地位,对模块在结构图中的地位,对模块B、C和和D配备了驱动模块和桩模配备了驱动模块和桩模块,对模块块,对模块E和和F只配备了驱只配备了驱动模块。对主模块动模块。对主模块A由于它处由于它处在结构图的顶端,无其他模块在结构图的顶端,无其他模块调用它,因此,仅为它配备了调用它,因此,仅为它配备了三个桩模块,以模拟被它调用三个桩模块,以模拟被它调用的三个模块的三个模块B、C和和D,如图,如图7.4(b)、()、(c)、()、(d)、)、(e)、()、(f)、()、(g)所示。)所示。分别进行单元测试以后,再按分别进行单元测试以后,再按图图7-5(a)的结构图形式连接)的结构图形式连接起来
4、,进行集成测试。起来,进行集成测试。1516图图7-6给出了一个按广度优先方式进行集成测试的典型例子。首给出了一个按广度优先方式进行集成测试的典型例子。首先,对顶层的主模块先,对顶层的主模块A进行单元测试,这时需配以桩模块进行单元测试,这时需配以桩模块sub1、sub2和和sub3(见图(见图7-6(a),以模拟被它调用的模块),以模拟被它调用的模块B、C和和D。其后,把模块。其后,把模块B、C和和D与顶层模块与顶层模块A连接起来,再对模块连接起来,再对模块B和和D配以桩模块配以桩模块sub4和和sub5以模拟对模块以模拟对模块E和和F的调用。这样按的调用。这样按图图7-6(b)的形式完成测试
5、。最后,去掉桩模块)的形式完成测试。最后,去掉桩模块sub4和和sub5,把模块把模块E和和F连上即对完整的结构图(见图连上即对完整的结构图(见图7-6(c)进行测试。)进行测试。17图图7-7(a)、()、(b)和()和(c)表示:树状结构图中处在最下层的叶结点模块)表示:树状结构图中处在最下层的叶结点模块E、C和和F,由于它们不再调用其他模块,对它们进行单元测试时,只需配以驱,由于它们不再调用其他模块,对它们进行单元测试时,只需配以驱动模块动模块drv1、drv2和和drv3,用来模拟,用来模拟B、A和和D对它们的调用。完成这三个单对它们的调用。完成这三个单元测试以后,再按图元测试以后,再按图7-7(d)和()和(e)的形式,分别将模块)的形式,分别将模块B和和E及模块及模块D和和F连接起来,在配以驱动模块连接起来,在配以驱动模块drv4和和drv5的条件下实施部分集成测试。最后的条件下实施部分集成测试。最后再按图再按图7-7(f)的形式完成整体的集成测试。)的形式完成整体的集成测试。181920212223