实验04使用基本路径测试法求解“自动售货机”问题_第1页
实验04使用基本路径测试法求解“自动售货机”问题_第2页
实验04使用基本路径测试法求解“自动售货机”问题_第3页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、实验报告实验序号:04 实验项目名称: 使用基本路径测试法求解“自动售货机”问题学号122姓名专业、班实验地点实 1-511指导教师实验时间2013/4/27一、实验目的及要求理解基本路径覆盖测试法的概念和方法;掌握使用Eclipse+JUnit+EclEmma进行基本路径覆盖测试的方法。二、实验设备(环境)及要求开发环境:Eclipse v3.7及以上版本;JUni t v4.10及以上版本;文本编辑软件。 硬件要求:CPU PIV以上,256M 存,1G硬盘空间。系统要求:Windows98/Me/XP/NT/2000 , IE 5 以上。三、实验容步骤1. 下载并安装Eclipse+JU

2、nit+EclEmma头验环境;2. 通读自动售货机程序,并在 Eclipse环境下运行该程序;3. 使用基本路径测试法设计测试用例,完成以下表格;编号输入值Type输入值money状态预期输出实际情 况001Beer5C各资 源剩 余In put In formati onType: Beer; Mon ey: 5 Cen ts; Chan ge: 0Curre nt StateBeer: 5Orange Juice: 65 Ce nts: 71 Dollar: 6002Oran geJ uice5C各资 源剩 余In put In formati onType: Oran geJuice;

3、 Mon ey: 5 Cen ts; Chan ge: 0Curre nt StateBeer: 6Orange Juice: 55 Ce nts: 71 Dollar: 6003Beer1D没有 啤酒Failure In formati onBeer Shortage步骤:1、解压eclemma软件包,并放到 eclipse安装目录的dropins文件夹下:卜计昌f7):j Pogrann -lies eclips3 卜 drepine文件F摘旧匪如TBrj掛就H)1| 卿共星”克爆新議立肆夬"1A療说口期大小B傭.fea:ur«2D13M7 18:21垃plluqins

4、20L3f4/2/ LK2L2、重新启动eclipse软件,菜单栏会出现新的图标:3、查看 Win dows 的 Customize perspective 项中的 Comma nd Groups Availabiity 多了 Coverage 项:二 Cusiomize Perspective - JavaT<?dl Br 讪/bilisyMenu VSbili+jiCcinrnand Groups Ava hbility | Short C-uKthr ccmmiand g rou thiit you vzcnt te wer add-rd Iocurrent pr"5pe

5、cti¥c, J j. THe Hrioib +irld节 whichmenu items nd/'or toolbar item & are added to thm peri pectin by th® selected Lemrr_i j ndl greu.Avalfiblc com nd giDups:Menuoar detail:Too lb or detailsy An厂 ctsti 口n Nayigtian眉 RuinLaunchAnt tdor Pr喘扁口n匚 Courage Lart Launched時! Ci&vera geV 昌

6、|跑 Iqpoint备匚cigr书吕 History> Chti:CqwTdtgjp K/ Convert LiHie Del mirters厂匚 exqe建 Covcraac4、编写待测试类 SaleMachi ne.java 文件和测试 Jun it Test Case 文件 SaleMachi neTest.java:吉 - cyf/src/SaleWdchineTcst.java - Eclip-File Edit Sou rre R-eiactor Navigate £幅 Package Explo 诙.融 JUriit 口 已 -色审J s reIJ | SaleM

7、acliine.javafTj 5白I巴IVlBclinqXpgtjdv酋J RE System Library 卩刃问El 1,6目、JUnit45、先点击运行看看,覆盖了33.1%:6、分析:红色代表未执行、黄色代表条件没有全部执行、绿色代表执行过了:4Snwrti rnse-rt 74 : 32File Ebl氐旳 He兔 adi 吨 ect 如 用 ip* H-el =匕曙莘 O * Q* Uj' & * 筋C 莘* 咿口押転¥i豁伸*7、继续修改测试代码,直到覆盖率达到100% :共编写了 12个测试用例,使待测试代码100%被覆盖,运行如图: _ava -

8、 4/Srx/Gfa eM'achw-eTffFt jvia - EcipX-eFile £drt Bearer iR.c4ajctnr INzwi 曙 ate JbfM Praj«t Run Wir>dlcTw Hdp士®. 讦Ft 留 MJ 炉2-Q) SMWKhllWjMi £ntJdrva :皐Sa 1*MacJi zr.e sal eKEzJzzne new SalBHa =S.±r.e (t, G, Er DI :Strlflg expec*:e'±Be.3,iLt 'FE.llurs- In

9、E = maTLzn %*l* 4 *Dr®ng®JUiee SnorraM-":i- ifrKFrrriErsu.j'E, 3*1rap?-ser "CTflri "里";cr ;Niiriu O ifcirror O Falum:苗 tMtOfMrdniaiM. i ik:i ; 爭 M0|p«FHriM9 (CLOOO ) 0i!|" rcr 才A ttrtOpcFb命T J &K :' 亍 tEt0p<rird厂日:O3C i' 性 t«tOpwratiQir

10、9 IC.CCC 牛 tetOpsradcrlO L.CL 3 l 医 EmtOrlicmLl (PXMH 4 啦 trrtQperwlior 12 '-'.''.cl'lFfi3< 'EfiBTlanlH 5 SBili-Hnefii-e aa:JW*STTing- e33?ecTe-±Rt3-jLz " FtLlijrr ItE 1 m-Hinge 二二口二七a二已"* q二K i «lx羊建 cc&dKt suit H glaanjm o険p s ixzo圮(弟。盂n上s a* a *

11、丹 i |<3Z=:3Tp-cli'llc tdkI t3tCi:-ia.t:l±±L2 I) r匸工丄QLlCHA蟲D J&4&Ha3EXn4 匕Ai a I« i> ft:H右UbCgRundL盂-"FB.LXU-S? lCsnWCLSn " HHaney I.zxar"3 5JSXLZh_3_S |e_Ki:-=- -*d-H.?5U-LL J 54_1-=111 .ZlJ.Z.-" !_= Z. H. - -LUZ.-二日二二 d丄1.二已". ""_

12、 ' I r Fanurs- Tricfr四、实验结果与数据处理a最终待测试代码如下:cou ntOfOra ngeJuicecou ntOfFiveCe ntspublic class SaleMachi ne private int cou ntOfBeercou ntOfO neDollar;privateStri ngtypeOfGoods = "Beer" , "Ora ngeJuice"private String resultOfDeal ;public SaleMachi ne()in itial();public void in

13、 itial()cou ntOfBeer= 6;cou ntOfOra ngeJuice= 6;cou ntOfFiveCe nts= 6;cou ntOfO neDollar= 6;public SaleMachi ne(int fiveCe on eDollar,int n umOfBeer,intn umOfOra nge)/便于测试的初始化函数cou ntOfFiveCe nts= fiveCe nts;cou ntOfO neDollar=on eDollar;cou ntOfBeer= n umOfBeer;cou ntOfOra ngeJuice= n umOfOr

14、a nge;publicStr ing curre ntState()Stri ng state ="Curre nt Staten""Beer: "+ cou ntOfBeer +"n"+"Ora nge Juice:""5 Ce nts:"+ cou ntOfOra ngeJuicecou ntOfFiveCe nts +"n"+"n"+"1 Dollar:"cou ntOfO neDollarreturn state; publi

15、c/type ifString operation(String type, String money)是用户选择的产品,money是用户投币种类(money.equalslgnoreCase("5C" )/ 如果用户投入 5 角钱if(type.equals(typeOfGoods 0)/如果用户选择啤酒if(countOfBeer >0)/如果还有啤酒cou ntOfBeercou ntOfFiveCe nts+resultOfDeal: "I nput In formati on n""Type: Beer; Money: 5 Ce

16、nts; Change: 0nn"curre ntState();returnresultOfDeal elseresultOfDeal"Failure In formati on n"+ "Beer Shortage"return resultOfDealelseif(type.equals(typeOfGoods 1)/用户选择橙汁if(countOfOrangeJuice> 0)cou ntOfOra ngeJuice cou ntOfFiveCe nts+resultOfDeal"In put In formati on

17、 n"0nn"+ curre ntState();returnShortage" else"Type: Oran geJuice; Mon ey: 5 Cen ts; Change:resultOfDealelseif elseresultOfDeal"Failure Information n"return resultOfDealresultOfDeal"Failure Information n"return resultOfDeal(mon ey.equalsIg no reCase(/if(cou ntO

18、fFiveCe nts>0) /if(countOfFiveCentsif(type.equals(择啤酒而且还有啤酒cou ntOfBeer+ "Ora ngeJuice+ "Type Error""1D" )/如果用户投入一元钱如果用户投入一元钱> 0)/如果售货机有零钱typeOfGoods0)&& countOfBeer >0) / 如果用户选cou ntOfFiveCe ntscou ntOfO neDollar+resultOfDeal= "I nput In formati on n&q

19、uot;"Type: Beer; Money: 1 Dollar; Change: 5Cen tsnn"+ curre ntState();returnresultOfDealelse if(type.equals( 汁typeOfGoods 1)&&cou ntOfOra ngeJuice>0) /如果用户选择橙汁而且还有橙cou ntOfOra ngeJuicecou ntOfFiveCe ntscou ntOfO neDollar+resultOfDeal"I nput In formati on: n""Type:

20、 Oran geJuice; Mo ney: 1 Dollar;Chan ge: 5 Cen tsnn"+ curre ntState();return resultOfDeal ;elseif (type.equals( typeOfGoods0)&& countOfBeer+ "Beer+ "TyperesultOfDeal = "Failure In formatio n n"Shortage" ;return resultOfDeal ;elseif (type.equals( typeOfGoods 1)&a

21、mp;&countOfOrangeJuice<=0)resultOfDeal = "Failure In formatio n n""Oran geJuice Shortage"return resultOfDeal ;elseresultOfDeal = "Failure In formatio n n"Error" ;return resultOfDeal ;elseShortage"resultOfDeal = "FailureIn formati onn" + "

22、Cha ngereturn resultOfDeal ;/*elseresultOfDeal = "Failure In formation n" + "Mo ney Error"return resultOfDeal;*/resultOfDeal = "Failure In formation n"+ "Mo ney Error" ;return resultOfDeal ;b、最终测试代码如下:import staticorg.ju nit.Assert.*;importimportimportpublicSa

23、leMachi nesaleMach inenew SaleMachi ne();org.ju nit.After;org.ju ni t.Before;org.ju nit.Test;class SaleMachi neTest BeforepublicAftervoidsetUp() throwsExcepti on publicTestvoidtearDow n()throws Excepti on testOperatio n1() voidpublicStr ing expectedResult ="I nput In formati on n""Typ

24、e: OrangeJuice; Money: 5 Cents; Change: 0nn""Curre nt Staten" "Beer: 6n" "Ora nge Juice: 5n""5 Cents: 7n""1 Dollar: 6"assertEquals (expectedResult, TestsaleMach ine .operati on("OrangeJuice", "5C");public void testOperati on

25、2() "In put In formati on n"Str ing expectedResult ="Type: Beer; Money: 5 Cents; Change: 0nn""Curre nt Staten" "Beer: 5n" "Ora nge Juice: 6n""5 Cents: 7n""1 Dollar: 6"assertEquals (expectedResult,saleMach ine .operati on("Bee

26、r""5C");Testpublic void testOperati on 3() SaleMach ine saleMach ine =Str ing expectedResult ="Beer Shortage" ;assertEquals(expectedResult, saleMach in e.operati on(new SaleMachi ne(6,6,0,6);"Failure In formati on n""Beer""5c");Testpublic void t

27、estOperati on 4() SaleMach ine saleMach ine =new SaleMachi ne(6,6,6,0);Str ing expectedResult ="Failure In formati on n""Ora ngeJuice Shortage"assertEquals (expectedResult, saleMach in e.operati on("OrangeJuice", "5c");Testpublic void testOperati on 5() SaleMa

28、ch ine saleMach ine =new SaleMachi ne(6,6,6,6);"Failure In formati on n"Str ing expectedResult ="Type Error" ;assertEquals (expectedResult, saleMach in e.operati on( Test"apple","5c");public void testOperati on 6() Str ing expectedResult ="I nput In forma

29、ti on n""Type: Beer; Money: 1 Dollar; Change: 5 Centsnn""Curre nt Staten""Beer: 5n""Ora nge Juice: 6n""5 Cents: 5n""1 Dollar: 7"assertEquals (expectedResult,saleMach ine .operati on("Beer""1D");Testpublic void testO

30、perati on 7() Str ing expectedResult ="Type: OrangeJuice; Money: 1 Dollar; Change: 5 Centsnn""Curre nt Staten""In put In formati on: n""Beer: 6n""Ora nge Juice: 5n""5 Cents: 5n""1 Dollar: 7"assertEquals (expectedResult, TestsaleMa

31、ch ine .operati on("Oran geJuice","1D");public void testOperati on 8() SaleMach ine saleMach ine =Str ing expectedResult ="Beer Shortage" ;assertEquals(expectedResult, saleMach in e.operati on(Testnew SaleMachi ne(6,6,0,6);"Failure In formati on n""Beer""1D");public void testOperati on 9() SaleMach ine saleMach ine =Str ing expectedResult =new SaleMachi ne(6,6,6,6);"Failure In formati on n""Type Error"assertEquals (expectedRes

温馨提示

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

评论

0/150

提交评论