实验1白盒测试——代码覆盖测试《软件测试方法和技术》_第1页
实验1白盒测试——代码覆盖测试《软件测试方法和技术》_第2页
实验1白盒测试——代码覆盖测试《软件测试方法和技术》_第3页
实验1白盒测试——代码覆盖测试《软件测试方法和技术》_第4页
实验1白盒测试——代码覆盖测试《软件测试方法和技术》_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验1 白盒测试代码覆盖测试一、实验目的熟悉Rational Purefy系列测试工具,理解和掌握软件开发单元测试环节中重要的代码逻辑和路径覆盖测试,使用Rational Purecoverage进行语句覆盖和判定覆盖测试。二、实验任务熟悉Rational Purefy测试环境,理解和掌握代码覆盖测试的测试用例设计和测试的执行,使用Rational Purecoverage进行代码覆盖测试。三、实验要求每人一台单独做,不得多人一起做。 四、实验内容1)了解Rational Purefy测试环境,了解常用的菜单项。2)使用已经设计好的测试用例和事先准备的测试代码进行测试。五、实验过程将程序编译后

2、使用Rational Purecoverage软件输入测试用例,进行测试:1 三角形判断(语句覆盖与判定覆盖测试用例相同)用例说明输入数据预期结果实际结果输入一般三角形3 4 5此三角形为一般三角形此三角形为一般三角形!输入等边三角形3 3 3此三角形为等边三角形此三角形为等边三角形!输入错误的边长1 8 9错误不构成三角形!输入等腰三角形2 1 2此三角形为等腰三角形此三角形为等腰三角形!2 下一个日期判断(语句覆盖)用例说明输入数据预期结果实际结果输入错误的年、月、日2013 7 33错误错误:日期不合法!输入错误的年、月、日2013 13 12错误错误:日期不合法!输入闰年2月29日20

3、12 2 292012 3 120120301下一个日期判断(判定覆盖)用例说明输入数据预期结果实际结果输入非闰年2月28日2011 2 282011 3 120110301输入错误的年、月、日2013 7 33错误错误:日期不合法!输入12月31日2012 12 312013 1 120130101输入错误的年、月、日2013 13 12错误错误:日期不合法!输入正确的年、月、日2013 7 122013 7 1320130713六、实验结果及分析三角形判断 1.语句覆盖:在本程序中,共有4个语句:a b c语句1(Return -1;)语句2(Return 0;)语句3(Return 1;

4、)语句4(Return 2;)3 4 53 3 31 8 92 1 2通过以上4个测试用例,每个语句至少被执行一次,满足语句覆盖法。2.判定覆盖:在本程序中,共有3个判断:a b cE1(a+b)>c&&(abs(a-b)<c)|(b+c)>a&&(abs(b-c)<a)|(a+c)>b&&(abs(a-c)<b)?E2a=b&&b=c?E3(a=b&&b!=c)|(a=c&&b!=c)|(b=c&&a!=c)?3 4 5TFF3 3 3TT1 8

5、 9F2 1 2TFT通过以上4个测试用例,每个判断的取真分支和取假分支都至少都被执行一次,满足判定覆盖法。下一个日期判断 1. 语句覆盖:在本程序中,共有7个语句:年 月 日语句1(month1=29;)语句2(return "错误:日期不合法!n")语句3(return "错误:日期不合法!n")语句4(D+;)语句5(D=1;M+;)语句6(M=1;Y+;)语句7(return q;)2013 7 332013 13 122012 2 29通过以上3个测试用例,每个语句至少被执行一次,满足语句覆盖法。2.判定覆盖:在本程序中,共有5个判断:年 月

6、日E1(Y%400=0|(Y%4=0&&Y%100!=0)?E2(M>12|M<1)?E3(D>monthM-1)?E4(D>monthM-1)?E5(M>12)?2011 2 28FFFTF2013 7 33FFT2012 12 31TFFTT2013 13 12FT2013 7 12FFFF通过以上5个测试用例,每个判断的取真分支和取假分支都至少都被执行一次,满足判定覆盖法。七、实验总结源代码:(三角形)#include<stdio.h>#include<math.h>int sanjiao(int a,int b,in

7、t c);void main() int x,y,z; printf("请输入三角形的边长(正整数):"); scanf("%d%d%d",&x,&y,&z); /printf("您输入的三角形边长为%d %d %dn",x,y,z); sanjiao(x,y,z); if(sanjiao(x,y,z)=0) printf("此三角形为一般三角形!"); if(sanjiao(x,y,z)=1) printf("此三角形为等腰三角形!"); if(sanjiao(x,y,

8、z)=2) printf("此三角形为等边三角形!"); if(sanjiao(x,y,z)=-1) printf("不构成三角形!");int sanjiao(int a,int b,int c) int i; if (a+b)>c&&(abs(a-b)<c)|(b+c)>a&&(abs(b-c)<a)|(a+c)>b&&(abs(a-c)<b) if (a=b&&b=c) i = 2;/等边三角形返回值为2 else if (a=b&&

9、b!=c)|(a=c&&b!=c)|(b=c&&a!=c) i = 1;/等腰三角形返回值为1 else i = 0;/一般三角形返回值为0 else i = -1;/不构成三角形返回值为-1 return i;(NEXTDATE)#include<stdio.h>#include<stdlib.h>char * NextDate(int Y,int M,int D);int main() int Y,M,D; char *p=(char *)malloc(sizeof(char)*8); printf("请输入年:"

10、); scanf("%d",&Y); printf("请输入月:"); scanf("%d",&M); printf("请输入日:"); scanf("%d",&D); p=NextDate(Y,M,D); printf("下一天的日期是:%sn",p); return 0;char * NextDate(int Y,int M,int D) char *q=(char *)malloc(sizeof(char)*8); int month=31,28,31,30,31,30,31,31,30,31,30,31; if(Y%400=0|(Y%4=0&&Y%100!=0) month1=29; if(M>12|M<1) return "错误

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论