




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验3 实验报告写作指南实验3 实验报告写作指南实验名称: Gcov覆盖测试工具的使用 班级: 11计软 学号: 1110815026 姓名: 陶元龙 实验日期: 2014/6/4 实验3 Gcov覆盖测试工具的使用饮料自动售货机程序的测试分析Gcov工具简介:Gcov工具的基本功能是可以查看测试时代码执行的覆盖率,包括函数覆盖,语句覆盖,分支覆盖等覆盖内容。有助于分析被测程序的缺陷。使用该工具可以查看程序在某分支处的执行频率,从而分析程序的性能。一、实验目的1. 理解Gcov测试工具的测试功能及使用流程2. 理解在Linux下对C源程序编译执行及测试方法3. 学会查看测试分析结果二、实验工具Gcov简介Gcov工具是Linux系统自带的代码覆盖测试工具。Gcov工具的基本功能是可以查看测试时代码执行的覆盖率,包括函数覆盖,语句覆盖,分支覆盖等覆盖内容。有助于分析被测程序的缺陷。使用该工具可以查看程序在某分支处的执行频率,从而分析程序的性能。三、实验内容在Linux下对饮料自动售货机程序进行测试。饮料自动售货机描述如下:有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:1. 若投入5角钱或1元钱的硬币,押下橙汁或啤酒的按钮,则相应的饮料就送出来。2. 若售货机没有零钱找,则一个显示零钱找完的红灯亮3. 投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;4. 若有零钱找,则显示零钱找完的红灯灭,在送出饮料的同时退还5角硬币。”四、实验过程1. 编写测试用例输入数据: 5:投入5角 10:投入1元执行操作: 1:按下橙汁按钮2:按下啤酒按钮测试用例如下表格:测试用例ID投币金额选择饮料(1为橙汁,2为啤酒)送出饮料找零01101橙汁5角02102啤酒5角03102不送出1元(无零钱找)0451橙汁0元0552啤酒0元06103不送出1元0701不送出0元0811不送出找回0.1元0910不选择不送出退回1元测试的源程序:/autosell.c#includevoid welcome(void);void nochange(int num5coins);void getcoin(int* coin);void pushbutton(int* button);void process(int *coin,int* button,int *num5coins);int main() int coin=0; int button=0; int num5coins=2; int i; for(i=0;i5;i+) welcome(); nochange(num5coins); getcoin(&coin); pushbutton(&button); process(&coin,&button,&num5coins); return 0;void welcome() /clrscr(); printf(Welcome to this auto selling machine!nn);void nochange(int num5coins) if(num5coins=0) printf(No Change Now!nn);void getcoin(int* coin) int flagredo; do printf(Please pitch your coin(5 for 5 jiao,10 for 1 yuan):); scanf(%d,coin); if(*coin!=5 & *coin!=10) printf(Wrong coin! Return the coin.nn); flagredo=1; else flagredo=0; while(flagredo);void pushbutton(int* button) int flagredo; do printf(Please select your drink(1 for orange juice,2 for beer):); scanf(%d,button); if(*button!=1 & *button!=2) printf(Wrong input,please re-select.nn); flagredo=1; else flagredo=0; while(flagredo);void process(int* coin,int* button,int* num5coins) if(*coin=10 & *num5coins=0) printf(No change!n); printf(Return 1 yuan coin.n); else if(*coin=10) if(*button=1)printf(Please take your orange juice.n); elseprintf(Please take your beer.n); (*num5coins)-; printf(Return 5 jiao coin.n); if(*coin=5) if(*button=1)printf(Please take your orange juice.n); elseprintf(Please take your beer.n); (*num5coins)+; printf(nPress ENTER to continue); getchar();getchar(); *coin=0; *button=0;2. 根据自己设计的测试用例,上机对源程序进行编译测试。根据你设计测试用例的数目,把源程序说想循环次数相应改变。就是改for循环体里面的循环次数。如下所示:for(i=0;in;i+),把n改为你设计测试用例数然后根据实验材料对自己设计的测试用例进行测试,写出测试执行的命令。编译文件:gcc fprofile-arcs ftest-coverage autosell.c执行编译后的文件:./a.out3. 测试结果(1)查看测试总体覆盖率:#gcov autosell.cFile autosell.c已执行的行数:100.00%(共56行)Autosell.c:正在创建autosell.c.gcov(2)查看函数覆盖率# gcov -f autosell.cFunctionmain已执行的行数:100.00% (共 11 行)Functionwelcome已执行的行数:100.00% (共 3 行)Functionnochange已执行的行数:100.00% (共 4 行)Functiongetcoin已执行的行数:100.00% (共 9 行)Functionpushbutton已执行的行数:100.00% (共 9 行)Function process已执行的行数:100.00% (共 20 行)File autosell.c已执行的行数:100.00%(共56行)autosell.c:正在创建autosell.c.gcov(3)查看分支覆盖率#gcov -b autosell.cFileautosell.c已执行的行数:100.00% (共 56 行)执行的分支:100.00% (共有 28 个)至少执行一次的跳转:100.00%(总数为 28)执行的调用:10
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年版上海市劳动合同范本
- 2025股权问题方案协议合同建筑工程承包合同
- 上海2025年护士薪资结构合同
- 长距离铁路轨道铺设技术与施工方案
- 物流行业知识培训课件
- Unit 6 Rain or Shine第三课时Grammar Focus说课稿 2024-2025学年人教版(2024)七年级英语下册
- 殡葬领域知识培训课件
- 2025医学心脏瓣膜病处理考试题目及答案
- 查新报告规范流程与模板设计研究
- 2025至2030操作员接口外壳行业市场深度研究及发展前景投资可行性分析报告
- 《高等数学》说课文档
- 运动训练学PPT-运动训练学
- 2023新教材高中数学第5章三角函数微专题5三角函数中的最值问题课件新人教A版必修第一册
- 入厂新员工安全知识培训考试题及答案
- F500-1000泥浆泵说明书
- 一年级上学期家长会数学老师发言稿(共17张PPT)
- (11.7.1)-12.7-肺性脑病病理生理学
- 医药电子商务复习题
- SH/T 0356-1996燃料油
- GB/T 1303.4-2009电气用热固性树脂工业硬质层压板第4部分:环氧树脂硬质层压板
- 新编剑桥商务英语
评论
0/150
提交评论