资源描述:
《软件测试实验六动态测试.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验六动态测试1提交期限和方式期限:第16周周三(2015-6-17)23:59pm方式:由学习委员收集所有学生的实验报告,以电子档的形式提交给任课教师(发邮箱:)。2实验目的和内容2.1实验目的结合黑盒与白盒测试技术,编写驱动程序,掌握基本模块的动态测试是如何实现的。2.2实验内容通过账单优惠计算问题,综合使用黑盒和白盒测试方法来设计测试用例,并编写模块的驱动程序,完成基本模块的动态测试。3案例实践:账单优惠计算问题的动态测试3.1问题简述问题描述如下:账单优惠计算问题主要是根据账单的消费数额大小,给予不同程度的折扣优惠,但当账单上的消费数额无效时,程序应提示
2、消费数额无效。程序代码如下:#include"stdio.h"#include"math.h"doubleFuncRevenueAccount(doubleamount){1doublerate=1.0;2if(amount<=800)3rate=1.0;4elseif(amount>800&&amount<=1800)5rate=0.9;6elseif(amount>1800&&amount<=4800)7rate=0.8;8elseif(amount>4800)9rate=0.7;10elseif(amount<=0){11return-1.0;12}13r
3、eturnamount*rate;}//测试驱动程序voidDriveroFuncRevenueAccount(){printf("这是对FuncRevenueAccount()函数的测试");charc;intnum,count=0,pass=0,fail=0;doubletmp,tmp1,temp;FILE*FpFrom=NULL;//数据文件的指针,存储测试用例的基本信息FILE*FpTo=NULL;//记录测试用例执行结果的文件指针FpFrom=fopen("J:\TCData1.txt","rb");FpTo=fopen("J:\result.
4、txt","wb");while(!feof(FpFrom)){if((c=fgetc(FpFrom))!=''){count++;fscanf(FpFrom,"%d",&num);printf("测试用例:%d,",num);fscanf(FpFrom,"%lf",&tmp);printf("输入:%lf,",tmp);temp=FuncRevenueAccount(tmp);fscanf(FpFrom,"%lf",&tmp1);printf("预期输出:%lf,",tmp1);printf("实际输出:%lf,",temp);fprintf(FpTo,"
5、测试用例%d",num);if(fabs(temp-tmp1)<1e-6){fputs(":Passr",FpTo);printf("通过");pass++;}else{fputs(":Failr",FpTo);printf("失败");fail++;}}}printf("共执行了%d个测试用例,其中%d个通过,%d个失败",count,pass,fail);fprintf(FpTo,"共执行了%d个测试用例,其中%d个通过,%d个失败",count,pass,fail);fclose(FpFrom);fclose(FpTo);}vo
6、idmain(){/*1doubleamountBefore=0.0;2printf("请输入账单的消费数额(该数额应大于零):");3scanf("%lf",&amountBefore);4printf("输入的账单值为%lf,",amountBefore);5doubleamountAfter=0.0;6amountAfter=FuncRevenueAccount(amountBefore);7if(amountAfter<=0)8printf("账单消费数额无效");9else10printf("优惠计算后的账单值为%f",amountAf
7、ter);*/DriveroFuncRevenueAccount();}1.1编译执行首先对该段程序进行编译,由于没有语法错误,因此编译通过。接着运行程序,输入数值600,按回车。观察程序执行结果,输出为600,符合预期结果。1.2静态测试单元测试不应仅针对程序来测试,那样只能证明代码是可以运行的。单元测试的首要任务是对照被测对象的详细设计,查看程序是否按照详细设计的功能来实现。通过检查能够发现,账单优惠计算问题缺少详细的折扣优惠政策,也并未明确说明什么条件下消费数额无效。因此,程序代码中所展示的折扣无从考证,不知是否正确。于是,首先应补充账单优惠计算的详细功能
8、说明如下:账单优惠计算的