您好,欢迎访问三七文档
当前位置:首页 > 中学教育 > 初中教育 > 二单元测试工具JUnit的使用
1实验二单元测试工具JUnit的使用实验学时:4学时实验类型:(设计)实验要求:(必修)一、实验目的掌握在Eclipse环境下JUnit单元测试工具的安装和使用方法,针对一个实际问题,在JUnit环境下设计并执行测试用例。二、实验内容1.提出问题-经典售货机程序:若投入5角钱或1元钱的硬币,按下“橙汁”或“啤酒”按钮,则相应的饮料就送出来;若售货机没有零钱找,则显示“零钱找完”的红灯亮,这是再投入一元硬币并按下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示“零钱找完”的红灯灭,在送出饮料的同时退还5角硬币。2.给出程序流程图和Java源代码(见附录)3.采用条件覆盖和分枝覆盖的单元测试方法设计测试用例,在JUnit中实现。4.总结本次实验过程,提交测试用例程序和该程序运行结果最终画面。三、实验原理、方法和手段利用条件覆盖和分枝覆盖方法设计测试用例四、实验组织运行要求以学生自主训练为主的开放模式组织教学五、实验条件提供学生一人一台电脑,C/C++或Java编程环境;提供MSOffice文档编辑工具。六、实验步骤1.下载并安装Eclipse;2.熟悉并掌握Eclipse环境下JUnit的使用方法3.通读自动售货机程序,并将其在Eclipse环境下运行24.编写并执行基于JUnit的测试用例5.总结本次试验,并撰写实验报告。七、实验结果检查与评定1、实验分组进行,每二人一组,贡献度A%+B%=100%2、提交时间:2011/03/0524:00之前3、提交地址:网络教学系统4、文档名称:10专升本软工X班_软件测试实验X_N1&N2(X代表阿拉伯数字)附录程序流程图如下:程序源代码如下:publicclassSaleMachine{privateintcountOfBeer,countOfOrangeJuice,countOfFiveCents,countOfOneDollar;privateString[]typeOfGoods={Beer,OrangeJuice};privateStringresultOfDeal;3publicSaleMachine(){initial();}publicvoidinitial(){countOfBeer=6;countOfOrangeJuice=6;countOfFiveCents=6;countOfOneDollar=6;}publicSaleMachine(intfiveCents,intoneDollar,intnumOfBeer,intnumOfOrange)//便于测试的初始化函数{countOfFiveCents=fiveCents;countOfOneDollar=oneDollar;countOfBeer=numOfBeer;countOfOrangeJuice=numOfOrange;}publicStringcurrentState(){Stringstate=CurrentState\n+Beer:+countOfBeer+\n+OrangeJuice:+countOfOrangeJuice+\n+5Cents:+countOfFiveCents+\n+1Dollar:+countOfOneDollar;returnstate;}publicStringoperation(Stringtype,Stringmoney)//type是用户选择的产品,money是用户投币种类{if(money.equalsIgnoreCase(5C))//如果用户投入5角钱{if(type.equals(typeOfGoods[0]))//如果用户选择啤酒{if(countOfBeer0)//如果还有啤酒{countOfBeer--;countOfFiveCents++;resultOfDeal=InputInformation\n+Type:Beer;Money:5Cents;Change:0\n\n+4currentState();returnresultOfDeal;}else{resultOfDeal=FailureInformation\n+BeerShortage;returnresultOfDeal;}}elseif(type.equals(typeOfGoods[1]))//用户选择橙汁{if(countOfOrangeJuice0){countOfOrangeJuice--;countOfFiveCents++;resultOfDeal=InputInformation\n+Type:OrangeJuice;Money:5Cents;Change:0\n\n+currentState();returnresultOfDeal;}else{resultOfDeal=FailureInformation\n+TypeError;returnresultOfDeal;}}else{resultOfDeal=FailureInformation\n+TypeError;returnresultOfDeal;}}elseif(money.equalsIgnoreCase(1D))//如果用户投入一元钱{if(countOfFiveCents0)//如果用户投入一元钱{if(countOfFiveCents0)//如果用户有零钱{if(type.equals(typeOfGoods[0])&&countOfBeer0)//如果用户选择啤酒而且还有啤酒{countOfBeer--;countOfFiveCents--;countOfOneDollar++;resultOfDeal=InputInformation\n+5ype:Beer;Money:1Dollar;Change:5Cents\n\n+currentState();returnresultOfDeal;}elseif(type.equals(typeOfGoods[1]))//如果用户选择橙汁而且还有橙汁{countOfOrangeJuice--;countOfFiveCents--;countOfOneDollar++;resultOfDeal=InputInformation:\n+Type:OrangeJuice;Money:1Dollar;Change:5Cents\n\n+currentState();returnresultOfDeal;}else{if(type.equals(typeOfGoods[0])&&countOfOrangeJuice=0){resultOfDeal=FailueInformation\n+BeerShortage;returnresultOfDeal;}elseif(type.equals(typeOfGoods[1])&&countOfOrangeJuice=0){resultOfDeal=FailureInformation\n+OrangeJuiceShortage;returnresultOfDeal;}else{resultOfDeal=FailureInformation\n+TypeError;returnresultOfDeal;}}}else{resultOfDeal=FailureInformation\n+ChangeShortage;returnresultOfDeal;}}else{resultOfDeal=FailureInformation\n+MoneyError;returnresultOfDeal;}6}resultOfDeal=FailureInformation\n+MoneyError;returnresultOfDeal;}}7实验报告实验序号:实验项目名称:学号学号1学号2姓名姓名1(A%)姓名2(B%)专业、班实验地点指导教师实验时间一、实验目的及要求二、实验设备(环境)及要求三、实验内容与步骤四、实验结果与数据处理五、分析与讨论六、教师评语签名:日期:成绩
本文标题:二单元测试工具JUnit的使用
链接地址:https://www.777doc.com/doc-7045606 .html