软件测试技术-随堂练习01答案Word文档格式.doc
- 文档编号:13015308
- 上传时间:2022-10-02
- 格式:DOC
- 页数:8
- 大小:188.50KB
软件测试技术-随堂练习01答案Word文档格式.doc
《软件测试技术-随堂练习01答案Word文档格式.doc》由会员分享,可在线阅读,更多相关《软件测试技术-随堂练习01答案Word文档格式.doc(8页珍藏版)》请在冰豆网上搜索。
这个方法似乎是建立在一个循环中使用连接字符串。
在每个迭代中,字符串转换为StringBuffer/StringBuilder,附加到,转换回一个字符串。
这可能导致成本数量的二次迭代,在每个迭代字符串复制。
可以获得更好的性能通过使用StringBuffer显式(或StringBuilderJava1.5中)。
3.Bug:
Unreadfield:
gui.MainWindow.m_gameOutput
Thisfieldisneverread.Considerremovingitfromtheclass.
gui.MainWindow.m_gameOutput这个属性没有被读。
这个字段是不会被程序读的。
考虑把它从类中移除。
B.如何解决FindBugs指出的问题?
请修改Sudoku程序,以改正所有FindBugs指出的问题。
注意:
同类错误仅需记录一次修改思想即可。
1.使用Arrays.toString将数组转换为字符串。
2.将String类型的该变量定义为StringBuffer类型的,并在循环体中用append()方法替代+操作。
3.通过”查找”找出对应的属性的所有代码,并注释\删除。
(或者调用print方法输出该属性)
2.Junit
源程序:
packagesale;
publicclassSaleMachine{
privateintcountOfBeer,countOfJuice,countOfFiveCents,countOfOneDollar;
privateString[]typeOfGoods={"
Beer"
"
Juice"
};
privateStringresultOfDeal;
publicSaleMachine()
{
initial();
}
publicvoidinitial()
{//默认售货机
countOfBeer=3;
countOfJuice=3;
countOfFiveCents=3;
countOfOneDollar=3;
publicSaleMachine(intfiveCents,intoneDollar,intnumOfBeer,intnumOfOrange)
//带参数的初始化售货机
countOfFiveCents=fiveCents;
countOfOneDollar=oneDollar;
countOfBeer=numOfBeer;
countOfJuice=numOfOrange;
publicStringcurrentState()
{//返回当前售货机状态
Stringstate="
库存\n"
+
"
啤酒:
"
+countOfBeer+"
\n"
橙汁:
+countOfJuice+"
五角硬币:
+countOfFiveCents+"
一元硬币:
+countOfOneDollar;
returnstate;
publicStringbuy(Stringtype,intmoney)
//用户购买的方法。
type是用户选择的产品,money是用户投币种类
if(money==50)//如果用户投入5角钱
{
if(type.equals(typeOfGoods[0]))//如果用户选择啤酒
{
if(countOfBeer>
0)//如果还有啤酒
{
countOfBeer--;
countOfFiveCents++;
resultOfDeal="
请取出饮料"
;
returnresultOfDeal;
}
else
目前该饮料已经售完"
}
elseif(type.equals(typeOfGoods[1]))//用户选择橙汁
if(countOfJuice>
0)
countOfJuice--;
else
resultOfDeal="
目前不提供该饮料"
returnresultOfDeal;
}
elseif(money==100)//如果用户投入一元钱
if(countOfFiveCents>
0)//如果售货机有零钱
if(type.equals(typeOfGoods[0])&
&
countOfBeer>
0)//如果用户选择啤酒而且还有啤酒
{
countOfBeer--;
countOfFiveCents--;
countOfOneDollar++;
resultOfDeal="
请取饮料,并取回找钱"
returnresultOfDeal;
}
elseif(type.equals(typeOfGoods[1])&
countOfJuice>
0)//如果用户选择橙汁而且还有橙汁
countOfJuice--;
countOfFiveCents--;
countOfOneDollar++;
else
if(type.equals(typeOfGoods[0])&
countOfBeer<
=0)
{
resultOfDeal="
returnresultOfDeal;
}
elseif(type.equals(typeOfGoods[1])&
countOfJuice<
else
对不起,目前不能找钱,请投5角硬币"
resultOfDeal="
请投5角或者1元的硬币"
returnresultOfDeal;
}
测试程序
以下测试场景均基于上述程序:
测试场景:
投币1元购买橙汁三次,然后投币1元购买啤酒三次。
预期结果:
显示“对不起,目前不能找钱,请投5角硬币”
函数代码:
publicvoidtest_NoCoin(){
SaleMachinesm=newSaleMachine();
assertEquals(sm.buy("
orange"
100),"
);
beer"
100),"
测试结果:
通过
投币1元,购买可乐
显示“目前不提供该饮料”
publicvoidtest_Cola(){//售货机有5角,投币1元,选择非啤酒非橙汁
SaleMachinesm=newSaleMachine();
assertEquals(sm.buy("
Cola"
投币5块,购买橙汁
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 技术 练习 01 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)