单元测试实践实验报告_第1页
单元测试实践实验报告_第2页
单元测试实践实验报告_第3页
单元测试实践实验报告_第4页
单元测试实践实验报告_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

《软件试术》单元测实实验报诚声本人郑重承诺实验报告是本人独立工作所获得的成果我所知验报告中除特别标注的地方外包含其他人已经发表或撰写过的成果验报告中对报告工作的任何帮助者所做的贡献均做了明确的说明并表达了谢意。如有抄袭,本人愿意承担因此而造成的任何后果。特此声明。签名:Eastmount

日期:2013-6-9任务:2题实验内与完成情况一实验思想单元测实践中我测题目是2题“输入年月month求该月有多少”的任务。于它是个C语程序,且没子函数能直接计算其结果所以直接把程序看一个测试单,并采如下实验步进行测:1.先对源程进行不行的代码走,静态析源程序代(态白测试方法,析检源程序语法、结构算法等的正确性并对错进行修正;2.然采用动黑盒测试的价划分边界分析、误猜解法等法,并结合态白盒测试逻辑覆,对每条语及分支件都进行覆测试,时测试程中跟踪执每一条句,对程序行比较整动态测试3.分统计测的结果,并成实验告。二静态测试我采用是VS2012进单元测,源程序如所示:#include<stdio.h>main(){intyear,month,days;printf("Enteryearandmonth:")scanf("%d%d",&year,&month)switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;/*处理“大”月*/case4:case6:case9:case11:days=30;break;/*处理“小”月*/

case2:if(year%4==0&&year%100!=0&&year%400==0)days=29;/*处理闰年平月*/elsedays=28处理不是闰年平月*/break;default:printf("Inputerror!\n")/*月份错误*/days=0;}if(days!=0)printf("%d,%dis%ddays\n",year,month,days)}经过代走读,静态析源程,我发现该序具有下错误:1.法错误(1).函数mian()少类说明,该添int型;(2).序缺返回值如果义的int,添加“return”返回值,如果是型添加“return;”返空值;(3).意“”使用,它应是英文“,代码中是使用的中的分号,是一个编码式错误语法错误;2.法错误判断闰时的计算公:“year%4==0&&year%100!=0&&year%400==0”是误的算,它应该是年“(year%4==0&&year%100!=0)||(year%400==0)”时为闰年,月为29天(下面的测用例及试都是修改的算法行的;3.码规范格优化(1).按照正规的、更有效美观的码方式,定变量时该每个变量独定义行,这样更方便阅和使用,如:intintint(2).使用switch语时,如果分结果case有多个句时,最好用括号括相应的语代码,下图所示::("Input);/*月份=0;(3).使用句时,最好用括号含相应语句码;同括号要单独占一行这样更加的便别人自己的阅读使用。

三动态测试在动态试过程中,主要采黑盒动态测等价划、边界值分、错误猜解等方法,并合白盒态测试,逻覆盖所语句及分支件并跟每行代进行测试。1.输数据特由于该序要求输入是year和month两个据,并都是int类,再结合生实际中年份月份的识,我对输数据的点进行一下结:(1).入的据类型该为int型并且输的是两个数;(2).入的份范围该大0,小于型最大表达范;(3).入的份实际活中有12月,因应该为间的字;(4).于要断每月少天所以月还要划分为4月30天,1、1031,2特殊判断(5).理,数year也要划分闰年和闰年;(6).时注测试月界值2.出等价类边界值输入条有效等价

无效等类年、月型(1).输个数字(2).输入非数字字符及个数

(3).入少2个字(4).入大2个字年份范(5).在0-int最值之间年被(8).份小0400除(9).份大于int最(6).在0-int最大值之间年不被100除且被4整(7).0-int最大值间平年

值(2147483647)月份范(10).份=4,6,9,11(15).份>12(11).月份3,5,7,8,10(16).份1(12).月份1(13).月份12(14).月份23.计测试用用例编输入

预期输

覆盖等类

是否通过CS0012002112002,11is30(1)、(7)、(10)daysCS002aaabbbInput(2)CS0032002Input(3)CS00420021110Input(4)CS0052000102000,10is31(1)、(5)、(11)daysCS00619961996is(1)、(6)、(12)CS0071990121990,12is31(1)days

CS008CS009CS010CS011CS012

180022008220002-2000710000000000

1800is2008,2292000,229InputInput

(1)、(7)(1)、(6)(1)、(5)(8)(9)CS013CS014三实验结果

8201302013

Input(15)Input(16)按照上等价划分和界值设的测试用例对源程进行测试的果如下图所:用编CS001号预输2002isdays出实输出用例编CS002号预期输Inputerror!出实际输出用例编CS003号预期输Input出实际输出一直等再输入一个字用例CS004号预期Input出

输入2002覆盖等(1)、(7)类是否通通过输入aaabbb覆盖等价(2)类是否通通过输入2002覆盖等价(3)类是否通未通过输入200210覆盖等(4)类实际出

是否通

未通过应该只输入2数字入3个也按两个处理显然不通过

用例编CS005号预期输2000is31days出实际输出用例编CS006预期输1996,1is31days实际输用编CS007号预输1990,12is31days出实输出用CS008号预1800,2is28days出实出用例编CS009预期输2008,is29days实际输用例编CS010预期输2000,229days实际输

输入200010覆盖等价(1)、(5)、(11)类是否通通过输入1996覆盖价(1)、(6)、(12)类是否通通过输入1990覆盖等(1)类是否通通过输入1800覆盖(1)类是否通通过输入2008覆盖等价(1)、(6)、(14)类是否通通过输入2000覆盖等价(1)、(5)、(14)类是否通通过

用例CS010号预期2000,2is29days出实际出用例编CS011号预期输Input出实际输出

输入2000覆等(1)类是否通通过输入-20007覆盖等(8)类是否通未通过当输入份<就应该是错的年份用例CS012编号预期Inputerror!输出

输入100000000008覆盖等(9)价类实际输出

是否通过

未通过从输出果可以发现字已经出,但它输了结果该输出错误示用例编CS013号预期输Inputerror!出实际输出用例编CS014号预期输Inputerror!出实际输出四结果分析与会

输入2013覆等价(15)类是否通通过输入201314覆盖等(16)价类是否通通过过经过上的测试后,测试例的语覆盖率和分条件覆率为,基本考虑所有该题目输入情。根据单师课程所讲的内容结合课件,美对题行了单元试,更好的握了静态测、动态试方法,其包括黑测试的等价分、边值设定白盒测试的盖所有径、分支条,都更刻的进行了习与理。

出现的题:同时,实验中也遇了一些题,其中主的问题下:1.对年份进等价划时,它只要输入的int数字没有具的输入年要求,但根生活中经验,是否把小于0的年份和大于int型最大值的份划分至无等价类这是一个很扰我的题。2.给定的题是想测输入year和判月份的数,但是在断闰年的式中,它给的是“year%4==0&&year%100!=0&&year%400==0,正确的应为“”,是否应该把它正在进测试?因为判断测用例是否通时,依上面不同的子,通的结果不同的。3.在态测试码,代码走过程中遇到格式不很规范的问,是否应该它编码规范,并修记录至文档?4.测过程中覆盖等价类出现重的现,这是是会导致测的效率降低而当前测试例又是不可少的,不是应测试覆盖的是唯一用例?解决方(列出遇到问题和决办法,列没有解的问题1.一个问题我的解方法是:答:测试过程中应该结生活中的实来编写试用例,如目中的month就应该设置为有月份,然题目中没提示,这显是生活识,而是衡成立的理,同设置year就有小0大于最大为无效等价。2.二个问题我的解方法是:答:在态测试,通过代码读,把码中的错误修正,时计闰年的公式应该修改过,再进测试,因为题目测的要求

温馨提示

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

评论

0/150

提交评论