软件工程从集成测试的概念学习怎样做好产品集成
Posted 软件工程之思
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件工程从集成测试的概念学习怎样做好产品集成相关的知识,希望对你有一定的参考价值。
集成测试有两种类型:增量测试和非增量测试。
非增量测试就是大爆炸测试:先独立地测试每个模块,然后再将这些模块组装成完整的程序。
非增量测试的步骤(假设某程序的模块分解如下图):
首先,对A~F每个模块进行单独的模块测试,将每个模块视为个独立的实体。根据环境和参与人数,这些模块可以同时或按次序进行测试。最后,将这些模块组装或集成为完整的程序。
测试单独的模块需要一个特殊的驱动模块和一个或多个桩模块。如:测试模块B首先要设计测试用例,然后将测试用例作为输入参数由驱动模块传递给模块B。驱动模块是测试人员编写的小模块,用来将测试用例驱动或传输到被测模块中(也可以用测试工具替代,驱动模块还必须向测试人员显示模块B的结果。此外,由于模块B调用了模块E,所以还必须使用一个额外的组件,该组件在模块B调用模块E时接受模块B的控制指令。这就由桩模块来完成,它是一个被命名为“E”的特殊模块,用来模拟E组装成完整的程序。
增量测试的概念(以“自底向上测试”为例):先测试模块E、C、F,可以并行测试,也可串行进行。每个模块都要准备一个驱动模块,但不是桩模块。然后是测试模块B和D,但不是单独测试它们,而是分别将其与模块E和模块F组装在一起。换言之,测试模块B应编写驱动模块并集成测试用例将模块B和E组合起来测试。将下—个要测试的模块组装到前面已经测试过的模块集合或子集中去,这个增长的过程―直进行到测试完最后―个模块为止。
下面是几个显而易见的结论!
1非增量测试所需的工作量要多出些。示例中非增量测试需要5个驱动模块和5个桩模块,而自底向上增量测试则只需要5个驱动模块,不需要桩模块。自顶向下的增量测试需要环桩模块,不需要驱动模块。增量测试使用前面测试过的模块代替了桩模块或驱动模块。
2如果使用了增量测试,可以较早地发现模块中与不匹配接口、不正确假设相关的编程错误。这是由于尽早地对模块组合进行了集成测试。如果采用非增量测试,只有到了测试过程的最后阶段,模块之间才能互相“看到”。
3如果使用增量测试,调试会进行得容易一些。因为它很容易发现模块间接口或假设相关的编程错误,因为该错误很可能与最近添加的模块有关。
4增量测试会将测试进行得更彻底。因为这种测试会使得最后一个模块完成测试时,前面的模块经受了更多的检验。
5非增量测试所占用的机器时间显得少一些。因为对于最后一个模块来说,增量测试需要调用所有模块,而非增量测试则它仅调用驱动模块和模块本身。但是,非增量测试需要更多的驱动模块和桩模块,这也是要占用机器时间的。
6模块测试阶段开始时,如果使用的是非增量测试,就会有更多的机会进行并行操作。对于大型软件项目,这可能十分重要,因为在模块测试开始之时,项目的人员数量常常处于高峰。
总之,1~4条是增量测试的优点,5~6条是它的不足。其中第5条的弱点越来越重要。
源自《软件测试的艺术》
以上是关于软件工程从集成测试的概念学习怎样做好产品集成的主要内容,如果未能解决你的问题,请参考以下文章