网站大量收购独家精品文档,联系QQ:2885784924

单元测试实践实验报告.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单元测试实践实验报告

《软件测试技术》 单元测试实践实验报告 诚信声明 本人郑重承诺:本实验报告是本人独立工作所获得的成果。尽我所知,实验报告中除特别标注的地方外,不包含其他人已经发表或撰写过的成果。实验报告中对报告工作的任何帮助者所做的贡献均做了明确的说明并表达了谢意。 如有抄袭,本人愿意承担因此而造成的任何后果。 特此声明。 签名: Eastmount 日期:2013-6-9 任务:第 2 题 实验内容与完成情况: 实验思想 单元测试实践中我测试题目是第2题“输入年份year和月month,求该月有多少天”的任务。由于它是一个C语言程序,而且没有子函数,能直接计算其结果,所以直接把该程序看做一个测试单元,并采用如下实验步骤进行测试: 1.首先对源程序进行不执行的代码走读,静态分析源程序代码(静态白盒测试方法),分析检查源程序的语法、结构、算法等的正确性,并对错误进行修正; 2.然后采用动态黑盒测试的等价划分、边界值分析、错误猜解法等方法,并结合动态白盒测试的逻辑覆盖,对每条语句及分支条件都进行覆盖测试,同时测试过程中跟踪执行每一条语句,对程序进行比较完整动态测试; 3.分析统计测试的结果,并完成实验报告。 静态测试 我采用的是VS 2012进行单元测试,源程序如下所示: #include stdio.h main( ) { int year, month, days; printf(Enter year and month:); scanf(%d%d, year, month); switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: days=31; break; /* 处理“大”月 */ case 4: case 6: case 9: case 11: days=30; break; /* 处理“小”月 */ case 2: if(year%4==0year%100!=0 year%400==0) days=29; /* 处理闰年平月 */ else days=28;/* 处理不是闰年平月 */ break; default: printf(Input error!\n); /* 月份错误 */ days=0; } if( days!=0 ) printf(%d, %d is %d days\n, year, month, days); } 经过代码走读,静态分析源程序,我发现该程序具有以下错误: 1.语法错误 (1).主函数mian()缺少类型说明,应该添加int或void类型; (2).程序缺少返回值,如果定义的int型,添加“return 0;”返回值,如果是void型,添加“return;”返回空值; (3).注意“;”的使用,它应该是英文的“;”,而代码中都是使用的中文的分号,这是一个编码方式错误的语法错误; 2.算法错误 判断闰年时的计算公式:“year%4==0year%100!=0year%400==0”是错误的算法,它应该是该年“(year%4==0year%100!=0)||(year%400==0)”时为闰年,2月为29天(下面的测试用例及测试都是修改后的算法进行的); 3.代码规范格式优化 (1).按照正规的、更有效、美观的编码方式,定义变量时应该每个变量单独定义一行,这样更加方便阅读和使用,如下: int year; int month; int days; (2).在使用switch语句时,如果分支结果case中有多个语句时,最好使用括号包括相应的语句代码,如下图所示: default: { printf(Input error!\n); /* 月份错误 */ days=0; } 三.动态测试 在动态测试过程中,我主要采用黑盒动态测试等价划分、边界值分析、错误猜解法等方法,并结合白盒动态测试,逻辑覆盖所有语句及分支条件并跟踪每行代码进行测试。 1.输入数据特点 由于该程序要求输入的是year和month两个数据,并且都是int类型,再结合生活实际中年份和月份的知识,我对输入数据的特点进行一下总结: (1).输入的数据类型应该为int型,并且输入的是两个数字; (2).输入的年份范围应该大于0,小于int型的最大可表达范围; (3).输入的月份实际生活中只有12个月,因此应该为1-12间的数字; (4).由于要判断每月多少天,所以月份还要划分为4、6、9、11月30天,1、3、5、7、8、10、12

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档