软件测试基础 - 集成测试(实战部分)

 

//对以下模块进行集成测试,分别用大爆炸模式和自顶向下模式进行测试。

int moduleA(int x, int y)
{
 int resA=0;
 if(x>100) resA=-1;
 else if(x>0) resA=moduleB(x, y);
 else if(x==0) resA=moduleC(y);
 else if(x>-100) resA=moduleD(x, y);
 else resA=-1;
 return resA;
}
int moduleB(int x, int y)
{
 int resB=0;
 if(x==5) resB=-1;
 else resB=moduleE(y);
 return resB;
}

int moduleC(int x)
{
 return x*x+2;
}

int moduleD(int x, int y)
{
 int resD=0;
 if(x==-1) resD=-1;
 else resD=moduleF(y);
 return resD;
}

int moduleE(int x)
{
 return x+1;
}

int moduleF(int x)
{
 return 1-x;
}

首先,画出模块之间的关系图

1.大爆炸的测试

Step1:
      接收测试用例的输入、预期结果; 
Step2:
      调用被测对象;
Step3:
      比较预期结果和实际结果  相同: PASS 不同:Fail;

bigbang_driver(int x,int y,int expRes){
  int actRes=moduleA(x,y);
  if(actRes==expRes)
  printf("Testcase Pass!\n");
  else
  printf("Testcase Fail!\n");
 }            
 main(){
   bigbang_driver(1,9,10);    //A-B,B-E
   bigbang_driver(0,3,11);    //A-C
   bigbang_driver(-99,9,-8);    //A-D,D-F
  
   system("Pause");
}       
    

2.自顶向下测试

Step1:
       测试AB,设计AB的驱动,针对CDE分别打桩;
Step2:
       测试ABE,利用AB的驱动,针对CD打桩;
Step3:
       测试ABEC,利用AB的驱动,针对D打桩;

topdown_driver(int x,int y,int expRes){
  int actRes=moduleA(x,y);
  if(actRes==expRes)
  printf("Testcase Pass!\n");
  else
  printf("Testcase Fail!\n");
}             

int moduleC_stub(int x)
{
 //return x*x+2;
 if(x==5) return 27;  
}


int moduleD_stub(int x, int y)
{
    /* 
 int resD=0;
 if(x==-1) resD=-1;
 else resD=moduleF(y);
 return resD;
 */ 
 if(x==-99&&y==8) return -7; 
}
/* step1
int moduleE_stub(int x)
{
 //return x+1;
 if(x==9) return 10; 
}
*/

//step2
int moduleE(int x)
{
 return x+1;
}

main(){
   topdown_driver(1,9,10);    //AB-E
   topdown_driver(0,5,27);    //AB-C
   topdown_driver(-99,8,-7);  //AB-D
   system("Pause");            
}

 

转载于:https://www.cnblogs.com/Carolinee/p/5417411.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
81、您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么? 82、单元测试集成测试、系统测试的侧重点是什么? 83、集成测试通常都有那些策略? 84、一个缺陷测试报告的组成 85、基于WEB信息管理系统测试时应考虑的因素有哪些? 86、软件测试项目从什么时候开始,?为什么? 87、需求测试注意事项有哪些? 88、简述一下缺陷的生命周期 89、你在你所在的公司是怎么开展测试工作的?是如何组织的? 90、你认为理想的测试流程是什么样子? 91、您在从事性能测试工作时,是否使用过一些测试工具?如果有,请试述该工具的工作 原理,并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。 92、软件测试活动的生命周期是什么? 93、请画出软件测试活动的流程图? 94、针对缺陷采取怎样管理措施? 95、什么是测试评估?测试评估的范围是什么? 96、如果能够执行完美的黑盒测试,还需要进行白盒测试吗?为什么? 97、测试结束的标准是什么? 98、软件验收测试除了alpha ,beta测试以外,还有哪一种? 99、做测试多久了?以前做过哪些项目?你们以前测试的流程是怎样的?用过哪些测试工 具? 100、请就如何在开发中进行软件质量控制说说你的看法 101、一套完整的测试应该由哪些阶段组成?分别阐述一下各个阶段。 102、软件测试的类型有那些?分别比较这些不同的测试类型的区别与联系。 103、测试用例通常包括那些内容?着重阐述编制测试用例的具体做法 104、在分别测试winform的C/S 结构与测试WEB结构的软件是,应该采取什么样的方法 分别测试?他们存在什么样的区别与联系?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值