完整版软件测试技术试验报告JUnit的基本应用Word文档下载推荐.docx
《完整版软件测试技术试验报告JUnit的基本应用Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《完整版软件测试技术试验报告JUnit的基本应用Word文档下载推荐.docx(18页珍藏版)》请在冰点文库上搜索。
![完整版软件测试技术试验报告JUnit的基本应用Word文档下载推荐.docx](https://file1.bingdoc.com/fileroot1/2023-5/7/0607dea2-bb42-43c0-aa34-4df24be9f38e/0607dea2-bb42-43c0-aa34-4df24be9f38e1.gif)
●系统要求:
Windows98/Me/XP/NT/2000,IE5以上。
三、实验内容与步骤
1.下载并安装JDK
2.下载并安装Eclipse
3.下载并安装JUnit
4.通读自动售货机程序,并在Eclipse环境下运行该程序
5.在JUnit环境下执行以下表格中的测试用例,并填写完毕该表格。
编
号
输入值
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
5.提交测试用例程序和该程序运行结果最终画面。
6.总结本次试验,并撰写实验报告。
四、实验结果与数据处理
与预期值一致
与预期值有偏差
实验环境变量配置。
配置完成后检查是否正确,再cmd输入java–version,java后要有空格,结果如下图,即配置环境变量正确。
001测试用例程序
importstaticorg.junit.Assert.*;
importorg.junit.Before;
importorg.junit.Test;
publicclassSaleMachineTest{
SaleMachinesaleMachine=newSaleMachine();
@Before
publicvoidsetUp()throwsException{
}
@Test
publicvoidtestOperation1(){
StringexpectedResult="
FailureInformation\n"
+
"
0\n\n"
CurrentState\n"
5\n"
6\n"
7\n"
6"
;
assertEquals(expectedResult,saleMachine.operation("
Beer"
"
5C"
));
}
001结果
002测试用例程序
InputInformation\n"
OrangeJuice"
002结果
003测试用例程序
BeerShortage"
;
1D"
003结果
五、分析与讨论
六、教师评语
签名:
日期:
成绩
附录
问题描述
自动售货机程序:
●若投入5角钱或1元钱的硬币,按下“橙汁”或“啤酒”按钮,则相应的饮料就送出来;
●若售货机没有零钱找,则显示“零钱找完”的红灯亮,这是再投入一元硬币并按下按钮后,饮料不送出来而且1元硬币也退出来;
●若有零钱找,则显示“零钱找完”的红灯灭,在送出饮料的同时退还5角硬币。
程序流程图
实验源代码(有缺陷的源代码)
publicclassSaleMachine{
privateintcountOfBeer,countOfOrangeJuice,countOfFiveCents,countOfOneDollar;
privateString[]typeOfGoods={"
};
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="
"
"
+countOfBeer+"
\n"
+countOfOrangeJuice+"
+countOfFiveCents+"
+countOfOneDollar;
returnstate;
publicStringoperation(Stringtype,Stringmoney)
//type是用户选择的产品,money是用户投币种类
if(money.equalsIgnoreCase("
))//如果用户投入5角钱
{
if(type.equals(typeOfGoods[0]))//如果用户选择啤酒
{
if(countOfBeer>
0)//如果还有啤酒
{
countOfBeer--;
countOfFiveCents++;
resultOfDeal="
"
+currentState();
returnresultOfDeal;
}
else
+"
BeerShortage"
}
elseif(type.equals(typeOfGoods[1]))//用户选择橙汁
if(countOfOrangeJuice>
0)
countOfOrangeJuice--;
+
TypeError"
else
resultOfDeal="
returnresultOfDeal;
}
elseif(money.equalsIgnoreCase("
))//如果用户投入一元钱
if(countOfFiveCents>
0)//如果用户投入一元钱
if(countOfFiveCents>
0)//如果用户有零钱
if(type.equals(typeOfGoods[0])&
&
countOfBeer>
0)//如果用户选择啤酒而且还有啤酒
{
countOfBeer--;
countOfFiveCents--;
countOfOneDollar++;
resultOfDeal="
"
ype:
1Dollar;
5Cents\n\n"
returnresultOfDeal;
}
elseif(type.equals(typeOfGoods[1]))//如果用户选择橙汁而且还有橙汁
countOfOrangeJuice--;
countOfFiveCents--;
countOfOneDollar++;
InputInformation:
\n"
else
if(type.equals(typeOfGoods[0])&
countOfOrangeJuice<
=0)
{
resultOfDeal="
FailueInformation\n"
returnresultOfDeal;
}
elseif(type.equals(typeOfGoods[1])&
OrangeJuiceShortage"
else
ChangeShortage"
MoneyError"
resultOfDeal="
returnresultOfDeal;
测试用例示例代码: