上海理工大学函授《软件工程》学习课程-不同集成测试策略的比较

院校:西安工业大学 发布时间:2021-04-26 09:46:41

    不同集成测试策略的比较

    一般说来,一种方法的优点正好对应于另一种方法的缺点。

    自顶向下集成的缺点是:需要建立存根模块。要使存根模块能够模拟实际子模块的功能将是十分困难的。同时涉及复杂算法和真正输入/输出的模块一般在底层,它们是最容易出问题的模块,到组装和测试的后期才遇到这些模块,一旦发现问题,会导致过多的回归测试。自顶向下集成的优点是:能够较早地发现在主要控制方面的问题。

    自底向上集成的缺点是:“程序一直未能作为一个实体存在,直到最后一个模块加上去后才形成一个实体”。也就是说,在自底向上组装和测试的过程中,对主要的控制直到最后才接触到。

    自底向上集成的优点是:不需要存根模块,而建立驱动模块- 般比建立存根模块容易,同时由于涉及到复杂算法和真正输入输出的模块最先得到组装和测试,可以把最容易出问题的部分在早期解决。此外,自底向上的方式可以实施多个模块的并行测试。

    也就是说,这两种方法的优缺点正好相反,鉴于此。通常是把以上两种方式结合起来进行组装和测试。

    常见的混合策略有:

    (1)改进的自项向下测试方法:它的基本思想是强化对输入输出模块和引入新算法模块的测试,并自底向上组装成为功能相当完整且相对独立的子系统,然后由主模块开始自顶向下进行渐增式测试。

    (2)混合法:对软件结构中较上层使用的自顶向下方法与对软件结构中较下层使用的白底向上方法相结合。这种方法兼有两种方法的优点和缺点,当被测试的软件中关键模块比较多时,这种混合法可能是最好的折衷方法。

    (3)回归测试。在集成测试过程中每当一个新模块结合进来时,程序就发生了变化:建立了新的数据流路径、可能出现了新的操作、激活了新的控制逻辑。这些变化有可能使原来工作正常的功能出现问题。在集成测试的范畴中,所谓回归测试是指重新执行已经做过的测试的某个子集,以保证上述这些变化没有带来非预期的副作用。

    更广义地说,任何成功的测试都会发现错误,而且错误必须被改正。每当改正软件错误的时候,软件配置的某些成分(程序、文档或数据)也被修改了。回归测试就是用于保证由于调试或其他原因引起的变化,不会导致I预期的软件行为或额外错误的测试活动。回归测试可以通过重新执行全部测试用例的一个子集人工地进行,也可以使用自动化的捕获回放工具自动进行。利用捕获回放工具,软件工程师能够捕获测试用例和实际运行结果,然后可以回放(即重新执行测试用例),并且比较软件变化前后所得到的运行结果。

    回归测试集(已执行过的测试用例的子集)包括以下3类不同的测试用例:

    1)检测软件全部功能的代表性测试用例。

    2)专门针对可能受修改影响的软件功能的附加测试。

    3)针对被修改过的软件成分的测试。

    在集成测试过程中,回归测试用例的数量可能变得非常大。因此,应该把回归测试集设计成只包括可以检测程序每个主要功能中的一类或多类错误的一些测试用例。