软件测试技术-随堂练习01答案_第1页
软件测试技术-随堂练习01答案_第2页
软件测试技术-随堂练习01答案_第3页
软件测试技术-随堂练习01答案_第4页
软件测试技术-随堂练习01答案_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、随堂练习011.FindBugsA.查察FindBugs发现的问题,一共有几类问题,各是什么含义将这几类问题翻译成中文;答:一共有以下三各样类的问题:1.Bug:InvocationoftoStringoncombinationincodeinvokestoStringonanarray,whichwillgenerateafairlyuselessresultsuchasC16f0472.ConsiderusingtoconvertthearrayintoareadableStringthatgivesthecontentsofthearray.中文:在组合代码调用toString数组,这将

2、产生一个相当无用的结果。考虑使用方法将数组转变为可读的字符串。Bug:concatenatesstringsusing+inaloopThemethodseemstobebuildingaStringusingconcatenationinaloop.Ineachiteration,theStringisconvertedtoaStringBuffer/StringBuilder,appendedto,andconvertedbacktoaString.Thiscanleadtoacostquadraticinthenumberofiterations,asthegrowingstringis

3、recopiedineachiteration.BetterperformancecanbeobtainedbyusingaStringBuffer(orStringBuilderinJavaexplicitly.中文:这个方法忧如是成立在一个循环中使用连结字符串。在每个迭代中,字符串变换为StringBuffer/StringBuilder,附加到,变换回一个字符串。这可能以致成本数量的二次迭代,在每个迭代字符串复制。可以获得更好的性能经过使用StringBuffer显式(或StringBuilderJava中)。Bug:Unreadfield:fieldisneverread.Consid

4、erremovingitfromtheclass.中文:这个属性没有被读。这个字段是不会被程序读的。考虑把它从类中移除。B.如何解决FindBugs指出的问题请更正Sudoku程序,以更正所有FindBugs指出的问题。注意:同类错误仅需记录一次更正思想即可。答:使用将数组变换为字符串。2.将String种类的该变量定义为StringBuffer种类的,并在循环体顶用append()方法取代+操作。3.经过”查找”找出对应的属性的所有代码,并说明删除。(或许调用print方法输出该属性)2.Junit源程序:packagesale;publicclassSaleMachineprivatein

5、tcountOfBeer,countOfJuice,countOfFiveCents,countOfOneDollar;privateStringtypeOfGoods=Beer,Juice;privateStringresultOfDeal;publicSaleMachine()initial();publicvoidinitial()/默认售货机countOfBeer=3;countOfJuice=3;countOfFiveCents=3;countOfOneDollar=3;publicSaleMachine(intfiveCents,intoneDollar,intnumOfBeer,

6、intnumOfOrange)/带参数的初始化售货机countOfFiveCents=fiveCents;countOfOneDollar=oneDollar;countOfBeer=numOfBeer;countOfJuice=numOfOrange;publicStringcurrentState()/返回目前售货机状态Stringstate=库存n+啤酒:+countOfBeer+n+橙汁:+countOfJuice+n+五角硬币:+countOfFiveCents+n+一元硬币:+countOfOneDollar;returnstate;publicStringbuy(Stringty

7、pe,intmoney)/用户购置的方法。type是用户选择的产品,money是用户投币种类if(money=50)/假如用户投入5角钱if(typeOfGoods0)/假如用户选择啤酒if(countOfBeer0)/假如还有啤酒countOfBeer-;countOfFiveCents+;resultOfDeal=请取出饮料;returnresultOfDeal;elseresultOfDeal=目前该饮料已经售完;returnresultOfDeal;elseif(typeOfGoods1)/用户选择橙汁if(countOfJuice0)countOfJuice-;countOfFive

8、Cents+;resultOfDeal=请取出饮料;returnresultOfDeal;elseresultOfDeal=目前该饮料已经售完;returnresultOfDeal;elseresultOfDeal=目前不供应该饮料;returnresultOfDeal;elseif(money=100)/假如用户投入一元钱if(countOfFiveCents0)/假如售货机有零钱if(typeOfGoods0)&countOfBeer0)/假如用户选择啤酒而且还有啤酒countOfBeer-;countOfFiveCents-;countOfOneDollar+;resultOfDeal=

9、请取饮料,并取回找钱;returnresultOfDeal;elseif(typeOfGoods1)&countOfJuice0)/假如用户选择橙汁而且还有橙汁countOfJuice-;countOfFiveCents-;countOfOneDollar+;resultOfDeal=请取饮料,并取回找钱;returnresultOfDeal;elseif(typeOfGoods0)&countOfBeer=0)resultOfDeal=目前该饮料已经售完;returnresultOfDeal;elseif(typeOfGoods1)&countOfJuice=0)resultOfDeal=目

10、前该饮料已经售完;returnresultOfDeal;elseresultOfDeal=目前不供应该饮料;returnresultOfDeal;elseresultOfDeal=对不起,目前不可以找钱,请投5角硬币;returnresultOfDeal;resultOfDeal=请投5角或许1元的硬币;returnresultOfDeal;测试程序以下测试场景均鉴于上述程序:测试场景:投币1元购置橙汁三次,此后投币1元购置啤酒三次。预期结果:显示“对不起,目前不可以找钱,请投5角硬币”publicvoidtest_NoCoin()SaleMachinesm=newSaleMachine();

11、assertEquals(orange,100),请取饮料,并取回找钱);函数代码:assertEquals(orange,100),请取饮料,并取回找钱);assertEquals(orange,100),请取饮料,并取回找钱);assertEquals(beer,100),对不起,目前不可以找钱,请投5角硬币);测试结果:经过测试场景:预期结果:投币1元,购置可乐显示“目前不供应该饮料”publicvoidtest_Cola()/售货机有5角,投币1元,选择非啤酒非橙汁SaleMachinesm=newSaleMachine();函数代码:assertEquals(Cola,100),目前

12、不供应该饮料);测试结果:经过测试场景:投币5块,购置橙汁预期结果:显示请投5角或许1元的硬币publicvoidtest_500orange()/售货机没有啤酒节余,用户投币5角,选择啤酒函数代码:SaleMachinesm=newSaleMachine();assertEquals(orange,500),请投5角或许1元的硬币);测试结果:经过测试场景:投币1元购置啤酒一次预期结果:显示“请取饮料,并取回找钱”publicvoidtest_50Beer3()/测试连续买三次啤酒每次投币5角SaleMachinesm=newSaleMachine();函数代码:assertEquals(b

13、eer,50),请取饮料,并取回找钱);测试结果:经过测试场景:投币5角购置啤酒四次预期结果:显示“目前该饮料已经售完”publicvoidtest_50Beer3()/测试连续买三次啤酒每次投币5角SaleMachinesm=newSaleMachine();assertEquals(beer,50),请取出饮料);assertEquals(beer,50),请取出饮料);函数代码:assertEquals(beer,50),请取出饮料);assertEquals(beer,50),目前该饮料已经售完);测试结果:经过测试场景:初始化五角/一元硬币/啤酒/橙汁都为4个,投币50,购置5次橙汁预期结果:显示“请取出饮料”*4+目前该饮料已经售完publicvoidtest_50Orange4()/售货机没有啤酒节余,用户投币5角,选择啤酒Sal

温馨提示

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

评论

0/150

提交评论