您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 三角形、nextday、佣金问题实验报告
南昌航空大学实验报告2013年10月20日课程名称:软件质量保证与测试实验名称:测试程序的设计班级:******姓名:***同组人:指导教师评定:签名:一、实验目的完成测试用程序的编写,为接下来的测试实验做准备。二、实验要求(1)设计程序的语言可以选择C、C++、JAVA等;(2)保证程序语法正确(3)记录实验数据并书写实验报告题目要求:题目一:三角形问题问题描述:输入三角形三条边a、b、c,三条边有效取值范围为[1,200],判断该三角形是什么三角形,输出内容具体包括:(1)等边三角形;(2)等腰三角形;(3)直角三角形;(4)等腰直角三角形;(5)一般三角形;(6)非三角形;(7)输入数据非法。题目二:NextDate问题问题描述:输入年月日year、month、day,其中年份的有效取值范围为[1900,2100],请输出输入日期的下一天,例如输入2013年9月29日,输出为2013年9月30日。若输入日期非法,例如输入2013年2月30日,则输出“输入日期不存在”,若输入日期超出取值范围,例如输入2013年9月32日,则输出“输入日期超出范围”。问题三:佣金问题问题描述:前亚利桑那洲境内的一位步枪销售商销售密苏里州制造商制造的步枪机(lock)、枪托(stock)和枪管(barrel)。枪机卖45美元,枪托卖30美元,枪管卖25美元。销售商每月至少要售出一支完整的步枪,且生产限额是大多数销售商在一个月内可销售70个枪机、80个枪托和90个枪管。根据当月的销售情况,并计算销售商的佣金如下:(1)不到(含)1000美元的部分为10%;(2)1000(不含)~1800(含)美元的部分为15%;(3)超过1800美元的部分为20%。佣金程序生成月份销售报告,汇总售出的枪机、枪托和枪管总数,销售商的总销售额以及佣金。三、实验步骤1.运行TC,VisualC++,JAVA等开发工具;2.在开发环境中完成程序设计,并进行调试;3.在程序没有语法错误的前提下重点检查程序的逻辑错误;4.对程序进行调试,并记录实验数据。四、实验内容三角形问题:概要设计:在输入不同数值可以得到相应的输出结果(1)当输入三条边的数值大小有一不在范围内,提示“输入范围不合理”(2)当输入三值不满足构成三角形条件时,输出“非三角形”(3)当输入三值只是满足构成三角形条件,没有其他特殊问题,输出“一般三角形”(4))当输入三条边只有两个值相等,输出“等腰三角形”(5)当输入三条边都相等时,输出“等边三角形”(6)当输入三条边只是满足勾股定理时,输出“直角三角形”(7)当输入三条边不仅满足勾股定理,而且其中有两条边相等,输出“等腰直角三角形”源代码:#includestdio.hmain(){inta,b,c;system(graftabl936);clrscr();printf(请输入三个边长:\n);scanf(%d,%d,%d,&a,&b,&c);if((a=1&&a=200)&&(b=1&&b=200)&&(c=1&&c=200)){if(a+bc&&a+cb&&b+ca)if(a*a==b*b+c*c||b*b==a*a+c*c||c*c==a*a+b*b){printf(可以构成一个直角三角形\n);if(a==b||b==c||a==c)printf(可以构成一个等腰直角三角形\n);}elseif(a==b&&a==c)printf(可以构成一个等边三角形\n);elseif(a==b||b==c||a==c)printf(可以构成一个等腰三角形\n);elseprintf(可以构成一个等腰三角形\n);elseprintf(不能构成三角形\n);}elseprintf(输入范围不合理\n);getch();}运行结果:Nextday函数:概要设计:分析不同情况下的输入,可以得到不同输出(1)当输入数值只要有一个不符合范围,提示“不合理范围”(2)当输入非月头月尾数值时,输出日期将天数加1(3)当输入非2月月尾时,输出日期将月份加1(4)当输入的为年尾时,输出日期将年份加1(5)当输入闰年28日时,输出日期将天数加1(6)当输入闰年29日时,输出日期将月份加1(7)当输入非闰年27日时,输出日期将天数加1(8)当输入非闰年28日时,输出日期将月份加1(9)当输入非闰年29日时,提示“输入错误”源代码:#includestdio.hmain(){intyear,month,day;inta[]={31,29,31,30,31,30,31,31,30,31,30,31};intb[]={31,28,31,30,31,30,31,31,30,31,30,31};system(graftabl936);clrscr();printf(请输入日期:\n);scanf(%d,%d,%d,&year,&month,&day);if(year=2100&&year=1900){if(year%4==0&&year%100!=0||year%400==0){if(month12){if(a[month-1]day)printf(后一天:%d年%d月%d日,year,month,day+1);elseprintf(后一天:%d年%d月1日,year,month+1);}elseif(month==12){if(a[month-1]day)printf(后一天:%d年%d月%d日,year,month,day+1);elseprintf(后一天:%d年1月1日,year+1);}}else{if(month12){if(b[month-1]day)printf(后一天:%d年%d月%d日,year,month,day+1);elseprintf(后一天:%d年%d月1日,year,month+1);}elseif(month==12){if(b[month-1]day)printf(后一天:%d年%d月%d日,year,month,day+1);elseprintf(后一天:%d年1月1日,year+1);}}}getch();}运行结果:输出结果错误,代表程序源代码出现错误佣金问题:概要分析:当输入不同数值时会有不同的的佣金(1)当输入数值不满足要求时,提示“不合理范围”(2)当输入数值计算得总销售额不到(含)1000美元,佣金为其10%(3)当输入数值计算得总销售额为1000(不含)~1800(含)美元,佣金为其15%(4)当输入数值计算得总销售额超过1800美元,佣金为其20%源代码:#includestdio.hintmain(){intx,y,z,n;system(graftabl936);clrscr();printf(请输入购买的枪机、枪托、枪管数量:\n);scanf(%d,%d,%d,&x,&y,&z);if((x=1&&x=70)&&(y=1&&y=80)&&(z=1&&z=90)){n=45*x+30*y+25*z;if(n=1000)printf(枪机数%d、枪托数%d、枪管数%d、总销售额%d、佣金%f,x,y,z,n,0.1*n);elseif(n=1800)printf(枪机数%d、枪托数%d、枪管数%d、总销售额%d、佣金%f,x,y,z,n,0.15*n);elseprintf(枪机数%d、枪托数%d、枪管数%d、总销售额%d、佣金%f,x,y,z,n,0.2*n);}elseprintf(输入范围不合理\n);getch();}运行结果:五、结果分析对以上三个题目的编码中,三角形问题和佣金问题没有出现什么错误,就是在nextday中出现众多小错误,其中,对于范围问题只是对年份进行了控制,没有对月份及日期进行控制,从而超出范围也不会作出相对应的提示。而且,在nextday中有的输入得不到相对应的输出,将会在下面的白盒测试中对其进行修改。南昌航空大学实验报告2013年10月27日课程名称:软件质量保证与测试实验名称:功能性测试班级:******姓名:***同组人:指导教师评定:签名:一、实验目的掌握边界值、等价类、决策表测试的基本功能性测试方法二、实验要求分别用健壮性测试(边界值方法)、弱健壮等价类测试(等价类方法)和决策表测试技术分别对三角形问题|、Nextdate问题和佣金问题设计测试用例(即每个程序都要用这三种方法进行测试),并分别对实验一所编写的三个程序进行测试。要求:对于测试用例的设计必须给出详细的设计过程,在测试过程中如果发现缺陷(预期输出与实际输出不符),则采用截图的方式说明缺陷现象,并简单分析其可能产生的原因及建议,但不允许修改程序。三、实验步骤1.运行TC,VisualC++,JAVA等开发工具;2.在开发环境中完成程序设计,并进行调试;3.在程序没有语法错误的前提下重点检查程序的逻辑错误;4.对程序进行调试,并记录实验数据。四、实验内容三角形问题健壮性边界值测试用例测试用例输入条件预期输出实际输出用例状态abcTest10100100提示“输入范围不合理”提示“输入范围不合理”failTest21100100等腰三角形等腰三角形passTest32100100等腰三角形等腰三角形passTest4100100100等边三角形等边三角形passTest5199100100等腰三角形等腰三角形passTest6200100100非三角形非三角形passTest7201100100提示“输入范围不合理”提示“输入范围不合理”failTest81000100提示“输入范围不合理”提示“输入范围不合理”failTest91001100等腰三角形等腰三角形passTest101002100等腰三角形等腰三角形passTest11100199100等腰三角形等腰三角形passTest12100200100非三角形非三角形passTest13100201100提示“输入范围不合理”提示“输入范围不合理”failTest141001000提示“输入范围不合理”提示“输入范围不合理”failTest151001001等腰三角形等腰三角形passTest161001002等腰三角形等腰三角形passTest17100100199等腰三角形等腰三角形passTest18100100200非三角形非三角形passTest19100100201提示“输入范围不合理”提示“输入范围不合理”fail缺陷截图:Test1:Test7:Test8:Test13:Test14:Test19:弱健壮等价类条件桩:C1:是否构成三角形(a+bca+cbb+ca)动作桩:A1:非三角形C2:a=bA2:等腰三角形C3:b=cA3:等边三角形C4:a=cA4:一般三角形A5:不可能出现三角形问题决策表决策表1-8910111213141516C1C2C3C4F———TTTTTTTFTTFTTTFFTFTTTFTFTFFTTFFFA1A2A3A4A5√√√√√√√√√三角形问题决策表测试用例测试用例输入条件预期输出abc1-8910111213141516236333﹡﹡﹡﹡﹡﹡151520﹡﹡﹡152020252025152026非三角形等边三角形不可能不可能等腰三角形不可能等腰三角形等腰三角形一般三角形Nextday问题健壮性边界值测试用例测试用例输入条件预期输出实际输出用例状态年月日Test11899615提示“超出范围”提示“超出范围”failTest219006151900/6/161900/6/16passTest319016151901/6/161901/6/16passTest420006152000/6/162000/6/16passTest520996152099/6/162099/6/16passTest621006152100/6/162100/6/17passTest72101615提示“超出范围”提示“超出范围”failTest82000015提示“超出范
本文标题:三角形、nextday、佣金问题实验报告
链接地址:https://www.777doc.com/doc-8132788 .html