概述
多层结构式测试策略(三明治式测试策略)综合了自顶向下和自底向上策略,试图利用这两种策略的优点。多层结构式测试过程中,测试人员必须能够再次规划或将子系统的分解与三层结构映射起来,一个目标层(“肉”),一个目标层之上的层次(“上面的面包”)和目标层下面的层(“下面的面包”)。将目标层作为注意的焦点,就可以并行进行自顶向下的测试和自底向上的测试。自顶向下的测试是通过测试不断加入目标层组件的顶层完成的,而自底向上的测试则用来测试不断加入目标层组件的底层实现的。结果,顶层和底层就不用写测试存根和驱动,因为它们使用来自目标层的实际组件。2
测试组成改进的多层结构式测试策略在将三个层次组合进一个递增的测试前,要对它们进行单独的测试。
单层测试由一组三个测试组成:
1、用存根代替目标层进行顶层测试;
2、用驱动和存根代替顶层和底层进行目标层测试;
3、用驱动代替目标层进行底层测试。
组合的分层测试由两个测试组成:
1、顶层访问目标层(本测试可以复用来自单层测试的目标层测试,用顶层组件代替测试驱动);
2、目标层访问底层(本测试可以复用来自单层测试的目标层测试,用底层组件替换测试存根)。
改进的多层结构式测试的优点是可以并行执行多个测试活动,缺点是需要另外的测试存根和驱动。一般来说,与自项向下和自底向上的测试相比,它的总测试时间要短的多。2