- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 伦理学考试提纲汇总.doc
- 伦理流程图(上墙).doc
- 伦理是内在的管理.doc
- 伦理试题.doc
- 低温固相合成的发展现状与研究进展.doc
- 伯牙绝弦课堂实录及评析.doc
- 低温磷浮法及其应用.doc
- 低硅低温铁水去磷生产实践.doc
- 伺服驱动系统的原理与种类.doc
- 体内受精与早期胚胎发育学案.doc
- 2024-2025学年安徽省亳州市涡阳县高二下学期2月开学考试政治试题(解析版).docx
- 2024-2025学年江西省赣州市上犹县高二下学期开学考试政治试题(解析版).docx
- 2024-2025学年山东省济宁市高二下学期开学考试政治试题(解析版).docx
- 2024-2025学年山西省卓越联盟高三下学期2月开学质量检测政治试题(解析版).docx
- 2024-2025学年新疆乌鲁木齐市高二下学期2月开学考试政治试题(解析版).docx
- 2024-2025学年新疆维吾尔自治区乌鲁木齐地区高三2月大联考文科综合政治试题(解析版).docx
- 2024-2025学年安徽省蚌埠市固镇县高一上学期1月期末考试政治试题 (解析版).docx
- 2024-2025学年江苏省扬州市高三上学期期末检测政治试卷(解析版).docx
- 2024-2025学年江西省吉安市高三上学期期末教学质量检测政治试题(解析版).docx
- 2024-2025学年山东省济宁市高二上学期1月期末考试政治试题(解析版).docx
最近下载
- 必威体育精装版部编版道德与法治五年级下册全册一课一练及答案.pdf
- 第4课 画外之意——中国传统人物画 课件-2023-2024学年高中美术人教版(2019)美术鉴赏.pptx VIP
- 《中国老年骨质疏松症诊疗指南(2024)》解读.pptx VIP
- 大学英语六级词汇带音标.pdf VIP
- 美国儿科学会育儿百科-家庭教育.doc VIP
- SL 754-2017 城市防洪应急预案编制导则{高清的版}.pdf-2020-09-15-16-48-02-128.docx
- “节水”小知识竞答试题及答案.doc
- 玻璃及玻璃升降器布置.pdf VIP
- 高星级饭店运营与管理专业人才培养方案.pdf VIP
- 湖北省黄冈市黄梅县晋梅中学九年级(下)竞赛化学试卷(3月份).doc VIP
文档评论(0)