实验04使用基本路径测试法求解自动售货机问题Word格式文档下载.docx
- 文档编号:4287004
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:16
- 大小:478.07KB
实验04使用基本路径测试法求解自动售货机问题Word格式文档下载.docx
《实验04使用基本路径测试法求解自动售货机问题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《实验04使用基本路径测试法求解自动售货机问题Word格式文档下载.docx(16页珍藏版)》请在冰点文库上搜索。
CPUPIV以上,256M内存,1G硬盘空间。
●系统要求:
Windows98/Me/XP/NT/2000,IE5以上。
三、实验内容步骤
1.下载并安装Eclipse+JUnit+EclEmma实验环境;
2.通读自动售货机程序,并在Eclipse环境下运行该程序;
3.使用基本路径测试法设计测试用例,完成以下表格;
编
号
输入值
Type
money
状态
预期输出
实际情况
001
Beer
5C
各资源剩余
InputInformation
Type:
Beer;
Money:
5Cents;
Change:
0
CurrentState
Beer:
5
OrangeJuice:
6
5Cents:
7
1Dollar:
002
OrangeJuice
OrangeJuice;
003
1D
没有啤酒
FailureInformation
BeerShortage
步骤:
1、解压eclemma软件包,并放到eclipse安装目录的dropins文件夹下:
2、重新启动eclipse软件,菜单栏会出现新的图标:
3、查看Windows的Customizeperspective项中的CommandGroupsAvailabiity多了Coverage项:
4、编写待测试类SaleMachine.java文件和测试JunitTestCase文件SaleMachineTest.java:
5、先点击运行看看,覆盖了33.1%:
6、分析:
红色代表未执行、黄色代表条件没有全部执行、绿色代表执行过了:
7、继续修改测试代码,直到覆盖率达到100%:
共编写了12个测试用例,使待测试代码100%被覆盖,运行如图:
四、实验结果与数据处理
a、最终待测试代码如下:
publicclassSaleMachine{
privateintcountOfBeer,countOfOrangeJuice,countOfFiveCents,countOfOneDollar;
privateString[]typeOfGoods={"
Beer"
"
OrangeJuice"
};
privateStringresultOfDeal;
publicSaleMachine()
{
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"
+
"
"
+countOfBeer+"
\n"
+countOfOrangeJuice+"
+countOfFiveCents+"
+countOfOneDollar;
returnstate;
}
publicStringoperation(Stringtype,Stringmoney)
{//type是用户选择的产品,money是用户投币种类
if(money.equalsIgnoreCase("
5C"
))//如果用户投入5角钱
{
if(type.equals(typeOfGoods[0]))//如果用户选择啤酒
{
if(countOfBeer>
0)//如果还有啤酒
{
countOfBeer--;
countOfFiveCents++;
resultOfDeal="
InputInformation\n"
"
0\n\n"
+currentState();
returnresultOfDeal;
}
else
FailureInformation\n"
+"
BeerShortage"
;
}
elseif(type.equals(typeOfGoods[1]))//用户选择橙汁
if(countOfOrangeJuice>
0)
countOfOrangeJuice--;
+
OrangeJuiceShortage"
else
resultOfDeal="
TypeError"
returnresultOfDeal;
}
elseif(money.equalsIgnoreCase("
1D"
))//如果用户投入一元钱
//if(countOfFiveCents>
0)//如果用户投入一元钱
//{
if(countOfFiveCents>
0)//如果售货机有零钱
if(type.equals(typeOfGoods[0])&
&
countOfBeer>
0)//如果用户选择啤酒而且还有啤酒
{
countOfBeer--;
countOfFiveCents--;
countOfOneDollar++;
resultOfDeal="
"
1Dollar;
5Cents\n\n"
returnresultOfDeal;
}
elseif(type.equals(typeOfGoods[1])&
countOfOrangeJuice>
0)//如果用户选择橙汁而且还有橙汁
countOfOrangeJuice--;
InputInformation:
\n"
else
if(type.equals(typeOfGoods[0])&
countOfBeer<
=0)
{
resultOfDeal="
returnresultOfDeal;
}
elseif(type.equals(typeOfGoods[1])&
countOfOrangeJuice<
{
else
ChangeShortage"
/*else
MoneyError"
}*/
resultOfDeal="
returnresultOfDeal;
}
b、最终测试代码如下:
importstaticorg.junit.Assert.*;
importorg.junit.After;
importorg.junit.Before;
importorg.junit.Test;
publicclassSaleMachineTest{
SaleMachinesaleMachine=newSaleMachine();
@Before
publicvoidsetUp()throwsException{
@After
publicvoidtearDown()throwsException{
@Test
publicvoidtestOperation1(){
StringexpectedResult="
"
6\n"
5\n"
7\n"
6"
assertEquals(expectedResult,saleMachine.operation("
));
publicvoidtestOperation2(){
publicvoidtestOperation3(){
SaleMachinesaleMachine=newSaleMachine(6,6,0,6);
5c"
publicvoidtestOperation4(){
SaleMachinesaleMachine=newSaleMachine(6,6,6,0);
publicvoidtestOperation5(){
SaleMachinesaleMachine=newSaleMachine(6,6,6,6);
apple"
publicvoidtestOperation6(){
7"
publicvoidtestOperation7(){
publicvoidtestOperation8(){
publicvoidtestOperation9(){
}
publicvoidtestOperation10(){
publicvoidtestOperation11(){
SaleMachinesaleMachine=newSaleMachine(0,6,6,6);
publicvoidtestOperation12(){
0"
五、分析与讨论
通过操作本次实验,我结合Junit和elemma软件对待测试代码进行测试和修改。
编写测试用例,最终达到代码的100%覆盖。
Junit是在eclipse工具里使用的白盒测试软件,是帮助我们在编写代码的过程里及时发现错误的帮手,而elemma软件很好的配合了Junit测试工具,它可以监测Junit测试代码的覆盖率。
六、教师评语
签名:
日期:
成绩
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 04 使用 基本 路径 测试 求解 自动 售货 问题