完整版软件测试技术试验报告JUnit的基本应用.docx
- 文档编号:10980436
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:18
- 大小:409.77KB
完整版软件测试技术试验报告JUnit的基本应用.docx
《完整版软件测试技术试验报告JUnit的基本应用.docx》由会员分享,可在线阅读,更多相关《完整版软件测试技术试验报告JUnit的基本应用.docx(18页珍藏版)》请在冰豆网上搜索。
完整版软件测试技术试验报告JUnit的基本应用
《软件测试技术》实验报告
实验序号:
3 实验项目名称:
单元测试工具JUnit的基本应用
学号
姓名
专业、班
实验地点
指导教师
实验时间
一、实验目的及要求
●掌握在Eclipse环境下JUnit单元测试工具的安装和使用方法;
●针对一个实际问题,在JUnit环境下设计并执行测试用例。
二、实验要求
●开发环境:
Eclipsev3.7及以上版本;JUnitv4.10及以上版本;文本编辑软件。
●硬件要求:
CPUPIV以上,256M内存,1G硬盘空间。
●系统要求:
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:
6
002
OrangeJuice
5C
各资源剩余
InputInformation
Type:
OrangeJuice;Money:
5Cents;Change:
0
CurrentState
Beer:
6
OrangeJuice:
5
5Cents:
7
1Dollar:
6
003
Beer
1D
没有啤酒
FailureInformation
BeerShortage
5.提交测试用例程序和该程序运行结果最终画面。
6.总结本次试验,并撰写实验报告。
四、实验结果与数据处理
编
号
输入值
Type
输入值
money
状态
预期输出
实际情况
001
Beer
5C
各资源剩余
InputInformation
Type:
Beer;Money:
5Cents;Change:
0
CurrentState
Beer:
5
OrangeJuice:
6
5Cents:
7
1Dollar:
6
与预期值一致
002
OrangeJuice
5C
各资源剩余
InputInformation
Type:
OrangeJuice;Money:
5Cents;Change:
0
CurrentState
Beer:
6
OrangeJuice:
5
5Cents:
7
1Dollar:
6
与预期值一致
003
Beer
1D
没有啤酒
FailureInformation
BeerShortage
与预期值有偏差
实验环境变量配置。
配置完成后检查是否正确,再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"+
"Type:
Beer;Money:
5Cents;Change:
0\n\n"+
"CurrentState\n"+
"Beer:
5\n"+
"OrangeJuice:
6\n"+
"5Cents:
7\n"+
"1Dollar:
6";
assertEquals(expectedResult,saleMachine.operation("Beer","5C"));
}
}
001结果
002测试用例程序
importstaticorg.junit.Assert.*;
importorg.junit.Before;
importorg.junit.Test;
publicclassSaleMachineTest{
SaleMachinesaleMachine=newSaleMachine();
@Before
publicvoidsetUp()throwsException{
}
@Test
publicvoidtestOperation1(){
StringexpectedResult="InputInformation\n"+
"Type:
Beer;Money:
5Cents;Change:
0\n\n"+
"CurrentState\n"+
"Beer:
5\n"+
"OrangeJuice:
6\n"+
"5Cents:
7\n"+
"1Dollar:
6";
assertEquals(expectedResult,saleMachine.operation("OrangeJuice","5C"));
}
}
002结果
003测试用例程序
importstaticorg.junit.Assert.*;
importorg.junit.Before;
importorg.junit.Test;
publicclassSaleMachineTest{
SaleMachinesaleMachine=newSaleMachine();
@Before
publicvoidsetUp()throwsException{
}
@Test
publicvoidtestOperation1(){
StringexpectedResult="FailureInformation\n"+
"BeerShortage";
assertEquals(expectedResult,saleMachine.operation("Beer","1D"));
}
}
003结果
五、分析与讨论
六、教师评语
签名:
日期:
成绩
附录
问题描述
自动售货机程序:
●若投入5角钱或1元钱的硬币,按下“橙汁”或“啤酒”按钮,则相应的饮料就送出来;
●若售货机没有零钱找,则显示“零钱找完”的红灯亮,这是再投入一元硬币并按下按钮后,饮料不送出来而且1元硬币也退出来;
●若有零钱找,则显示“零钱找完”的红灯灭,在送出饮料的同时退还5角硬币。
程序流程图
实验源代码(有缺陷的源代码)
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"+
"Beer:
"+countOfBeer+"\n"+
"OrangeJuice:
"+countOfOrangeJuice+"\n"+
"5Cents:
"+countOfFiveCents+"\n"+
"1Dollar:
"+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"+
"Type:
Beer;Money:
5Cents;Change:
0\n\n"+currentState();
returnresultOfDeal;
}
else
{
resultOfDeal="FailureInformation\n"+"BeerShortage";
returnresultOfDeal;
}
}
elseif(type.equals(typeOfGoods[1]))//用户选择橙汁
{
if(countOfOrangeJuice>0)
{
countOfOrangeJuice--;
countOfFiveCents++;
resultOfDeal="InputInformation\n"+
"Type:
OrangeJuice;Money:
5Cents;Change:
0\n\n"+currentState();
returnresultOfDeal;
}
else
{
resultOfDeal="FailureInformation\n"+"TypeError";
returnresultOfDeal;
}
}
else
{
resultOfDeal="FailureInformation\n"+"TypeError";
returnresultOfDeal;
}
}
elseif(money.equalsIgnoreCase("1D"))//如果用户投入一元钱
{
if(countOfFiveCents>0)//如果用户投入一元钱
{
if(countOfFiveCents>0)//如果用户有零钱
{
if(type.equals(typeOfGoods[0])&&countOfBeer>0)//如果用户选择啤酒而且还有啤酒
{
countOfBeer--;
countOfFiveCents--;
countOfOneDollar++;
resultOfDeal="InputInformation\n"+
"ype:
Beer;Money:
1Dollar;Change:
5Cents\n\n"+currentState();
returnresultOfDeal;
}
elseif(type.equals(typeOfGoods[1]))//如果用户选择橙汁而且还有橙汁
{
countOfOrangeJuice--;
countOfFiveCents--;
countOfOneDollar++;
resultOfDeal="InputInformation:
\n"+
"Type:
OrangeJuice;Money:
1Dollar;Change:
5Cents\n\n"+currentState();
returnresultOfDeal;
}
else
{
if(type.equals(typeOfGoods[0])&&countOfOrangeJuice<=0)
{
resultOfDeal="FailueInformation\n"+"BeerShortage";
returnresultOfDeal;
}
elseif(type.equals(typeOfGoods[1])&&countOfOrangeJuice<=0)
{
resultOfDeal="FailureInformation\n"+"OrangeJuiceShortage";
returnresultOfDeal;
}
else
{
resultOfDeal="FailureInformation\n"+"TypeError";
returnresultOfDeal;
}
}
}
else
{
resultOfDeal="FailureInformation\n"+"ChangeShortage";
returnresultOfDeal;
}
}
else
{
resultOfDeal="FailureInformation\n"+"MoneyError";
returnresultOfDeal;
}
}
resultOfDeal="FailureInformation\n"+"MoneyError";
returnresultOfDeal;
}
}
测试用例示例代码:
importstaticorg.junit.Assert.*;
importorg.junit.Before;
importorg.junit.Test;
publicclassSaleMachineTest{
SaleMachinesaleMachine=newSaleMachine();
@Before
publicvoidsetUp()throwsException{
}
@Test
publicvoidtestOperation1(){
StringexpectedResult="InputInformation\n"+
"Type:
OrangeJuice;Money:
5Cents;Change:
0\n\n"+
"CurrentState\n"+
"Beer:
6\n"+
"OrangeJuice:
5\n"+
"5Cents:
7\n"+
"1Dollar:
6";
assertEquals(expectedResult,saleMachine.operation("OrangeJuice","5C"));
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 软件 测试 技术 试验报告 JUnit 基本 应用