zoukankan      html  css  js  c++  java
  • 集成测试深度理解

        这两天在复习软件测试的考试,对于之前不大理解的集成测试有了新的理解。

        集成测试,也叫组装测试或者联合测试。在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。

        可以说,集成测试是处于系统测试和单元测试之间,承上启下的重要测试。

        具体方法有两个:

        自下向上集成

      对任何系统几乎都可以采用这一策略。该策略是从低层次的、相互之间依赖性最步的模块开始的,可以用驱动程序来测试这些模块。这种策略能用来逐步建立系统,或者首先并行地建立起子系统,然后集成为一个完整系统。这种集成可以从开发过程的早期就开始进行。当然,如果项目计划中模块提交也是采用自下而上的方式,那么采用这种方法就能够尽早检测出接口问题,而且这些接口问题也比较容易被隔离,因此解决起来成本就低。其主要缺点是需要使用许多驱动程序来执行这一策略,而且因为测试需要迭代,所以也是一种非常耗时的策略。

        自上向下集成

      这种策略由系统的控制结构来引导。控制结构按照自上向下的顺序开发,这也提供了从上层控制模块开始,自上而下集成模块的能力。对每一个新的层次,位于同一层次的相关模块被集成起来并得到测试。还不存在的模块角色可以用占位来实现。采用该集成策略的一个缺点是:如果需求发生了变化,变化对底层模块产生影响,从而也将导致上层模块需要更改。这可能导致需要(部分)重新开始集成以及测试过程。另一个缺点是用于测试每个集成步骤所必须用的占位数目很大。如果在早期从上层模块开始集成测试,即使采用占位来替代系统的主要部件。仍然可以观察到整个系统的概貌以及工作方式。

        举个例子:

      被测试段代码实现的功能是:如果a>b,则返回a,否则返回a/b

      被测试段代码由两个函数实现,分别是

      ---int  max (int a, int b, char *msg)

      ---void divide (int *a, int *b)

      divide函数实现a/b功能,max函数实现其他对应功能,并进行结果输出

      int  max (int a, int b, char *msg)

      {

      char dsp[20];      /*声明一个大小为20的char型数组*/

      if (a<0 || b<0)       /*如果a和b中有一个数不是正数*/

      return -1;             /*则直接返回*/

      if (a>b)                 /*如果a大于b,*/

      ;                  /*什么也不做*/

      else

      divide (&a, &b);

      sprintf (dsp, ”%s %d”,msg,a);

      printf (dsp);

      return  a;

      }

      void divide (int *a, int *b)

      {

      (*a)=(*a)/(*b);

      return ;

      }

      画出结构图为:

      集成测试操作步骤

      确定集成测试策略

      ---采用自底向上的测试策略

      确定集成测试粒度

      ---函数

      选定测试用例设计方法

      ---等价类划分、边界值等

      编写测试用例

      ---因为测试策略是自底向上,所以先测试divide( int *a, int *b)函数

      构造驱动(其中m和n是测试用例输入)

      int  test ( )

      {

      int a=m;

      int b=n;

      divide( &a, &b);

      }

      依次执行测试用例,完成测试

      

  • 相关阅读:
    网络七层
    微信小程序开发工具 常用快捷键
    BZOJ 1026 windy数 (数位DP)
    BZOJ 1026 windy数 (数位DP)
    CodeForces 55D Beautiful numbers (SPOJ JZPEXT 数位DP)
    CodeForces 55D Beautiful numbers (SPOJ JZPEXT 数位DP)
    HDU 3709 Balanced Number (数位DP)
    HDU 3709 Balanced Number (数位DP)
    UVA 11361 Investigating Div-Sum Property (数位DP)
    UVA 11361 Investigating Div-Sum Property (数位DP)
  • 原文地址:https://www.cnblogs.com/qbcq/p/4457086.html
Copyright © 2011-2022 走看看