[关闭]
@rg070836rg 2015-09-17T16:01:22.000000Z 字数 920 阅读 1528

9.17 软件测试作业

软件测试


  1. 题目要求:
  2. 一、请构造一个尽可能简单的数值计算小程序P和两个测试用例t1t2以及两个Fault(F1, F2)满足以下要求:
  3. 1、在P中注入F1得到程序P1,使得t1 fail
  4. 2、在P中注入F2得到程序P2,使得t2 fail
  5. 3、在P中注入F1F2得到程序P3,使得t1t2pass

分析:设计一个累加正数的程序,读到正数就累加,最后输出

1 正确程序:

  1. #include<iostream.h>
  2. /*
  3. * 程序用来求4个数中 大于0部分的和,下面是正确程序
  4. * 用例1: {-1,-2,1,2} 结果3
  5. * 用例2: {-7,-1,8,0} 结果8
  6. */
  7. void main()
  8. {
  9. int a[4];
  10. int s=0;
  11. for(int i=0;i<4;i++)
  12. {
  13. cin>>a[i];
  14. if(a[i]>0)
  15. s+=a[i];
  16. }
  17. cout<<s<<endl;
  18. }

测试截图:

2 fault1:

  1. /*
  2. * 程序用来求4个数中 大于0部分的和,下面是fault1程序,修改if部分小于号
  3. * 用例1: {-1,-2,1,2} 结果-3 错误
  4. * 用例2: {-7,-1,8,0} 结果-8 错误
  5. */
  6. void main()
  7. {
  8. int a[4];
  9. int s=0;
  10. for(int i=0;i<4;i++)
  11. {
  12. cin>>a[i];
  13. if(a[i]<0)
  14. s+=a[i];
  15. }
  16. cout<<s<<endl;
  17. }

3 fault2:

  1. /*
  2. * 程序用来求4个数中 大于0部分的和,下面是fault2程序,修改累加部分符号
  3. * 用例1: {-1,-2,1,2} 结果-3 错误
  4. * 用例2: {-7,-1,8,0} 结果-8 错误
  5. */
  6. void main()
  7. {
  8. int a[4];
  9. int s=0;
  10. for(int i=0;i<4;i++)
  11. {
  12. cin>>a[i];
  13. if(a[i]>0)
  14. s-=a[i];
  15. }
  16. cout<<s<<endl;
  17. }

3 fault1与fault2:

  1. /*
  2. * 程序用来求4个数中 大于0部分的和,fault1 fault2 全改
  3. * 用例1: {-1,-2,1,2} 结果3
  4. * 用例2: {-7,-1,8,0} 结果8
  5. */
  6. void main()
  7. {
  8. int a[4];
  9. int s=0;
  10. for(int i=0;i<4;i++)
  11. {
  12. cin>>a[i];
  13. if(a[i]<0)
  14. s-=a[i];
  15. }
  16. cout<<s<<endl;
  17. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注