正确答案
非渐增式测试与渐增式测试的测试方法有以下区别:
(1)非渐增式测试方法把单元测试和集成测试分成两个不同的阶段,前一阶段完成模块的单元测试,后一阶段完成集成测试。而渐增式测试往往把单元测试与集成测试和在一起,同时完成。
(2)非渐增式需要更多的工作量,因为每个模块都需要驱动模块和桩模块,而渐增式利用已测试过的模块作为驱动模块或桩模块,因此工作量较少。
(3)渐增式可以较早的发现接口之间的错误,非渐增式最后组装是才发现。
(4)渐增式有利于排错,发生错误往往和最近加进来的模块有关,而非渐增式发现接口错误推迟到最后,很难判断是哪一部分接口出错。
(5)渐增式比较彻底,已测试的模块和新的模块再测试。
(6)渐增式占用的时间较多,但非渐增式须更多的驱动模块、桩模块也占用一些时间。
(7)非渐增式开始可并行测试所有模块,能充分利用人力,对测试大型软件很有意义。
渐增式测试有以下两种不同的组装模块的方法:
(1)自顶向下组合。该方法只需编写桩模块,其步骤是从顶层模块开始,沿被测程序的软件结构图的控制路径逐步向下测试,从而把各个模块都结合起来,它又有两种组合策略:
①深度有先策略:先从软件结构中选择一条主控制路径,把该路径上的模块一个个结合进来进行测试,以便完成一个特定的子功能,接着再结合其它需要优先考虑的路径。
②宽度有先策略:逐层结合直接下属的所有模块。
(2)自低向上结合。该方法仅需编写驱动模块。其步骤为:
①把底层模块组合成实现一个个特定子功能的族。
②为每一个族编写一个驱动模块,以协调测试用例的输入和测试结果的输出。
③对模块族进行测试。
④按软件结构图依次向上扩展,用实际模块替换驱动模块,形成一个个更大的族。
⑤重复②至④步,直至软件系统全部测试完毕。
试题解析