完整版软件测试技术试验报告JUnit的基本应用.docx

上传人:b****8 文档编号:30205132 上传时间:2023-08-07 格式:DOCX 页数:33 大小:329.36KB
下载 相关 举报
完整版软件测试技术试验报告JUnit的基本应用.docx_第1页
第1页 / 共33页
完整版软件测试技术试验报告JUnit的基本应用.docx_第2页
第2页 / 共33页
完整版软件测试技术试验报告JUnit的基本应用.docx_第3页
第3页 / 共33页
完整版软件测试技术试验报告JUnit的基本应用.docx_第4页
第4页 / 共33页
完整版软件测试技术试验报告JUnit的基本应用.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

完整版软件测试技术试验报告JUnit的基本应用.docx

《完整版软件测试技术试验报告JUnit的基本应用.docx》由会员分享,可在线阅读,更多相关《完整版软件测试技术试验报告JUnit的基本应用.docx(33页珍藏版)》请在冰豆网上搜索。

完整版软件测试技术试验报告JUnit的基本应用.docx

完整版软件测试技术试验报告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

003Beer

1D

没有

FailureInformation

啤酒

BeerShortage

 

5.提交测试用例程序和该程序运转结果最后画面。

6.总结本次试验,并撰写实验报告。

 

四、实验结果与数据办理

输入值

输入值

状态

Type

money

001

Beer

5C

各资

源剩

 

002OrangeJuice5C各资

源剩

 

003Beer

1D

没有

啤酒

 

预期输出

 

InputInformation

Type:

Beer;Money:

5Cents;Change:

0

 

CurrentState

Beer:

5

OrangeJuice:

6

5Cents:

7

1Dollar:

6

InputInformation

Type:

OrangeJuice;Money:

5Cents;Change:

0

 

CurrentState

Beer:

6

OrangeJuice:

5

5Cents:

7

1Dollar:

6

FailureInformation

BeerShortage

 

实质情

与预期

值一致

 

与预期

值一致

 

与预期

值有偏

 

实验环境变量配置。

 

配置达成后检查能否正确,再cmd输入java–version,java后要有空格,结果

以下列图,即配置环境变量正确。

 

1测试用例程序

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"));

}

}

 

1结果

 

2测试用例程序

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"));

}

 

}

 

2结果

 

3测试用例程序

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"));

}

 

}

 

3结果

 

五、剖析与议论

 

六、教师考语成绩

 

署名:

日期:

 

附录

 

问题描绘

 

自动售货机程序:

若投入5角钱或1元钱的硬币,按下“橙汁”或“啤酒”按钮,则相应

的饮料就送出来;

若售货机没有零钱找,则显示“零钱找完”的红灯亮,这是再投入一元

硬币并按下按钮后,饮料不送出来并且1元硬币也退出来;

如有零钱找,则显示“零钱找完”的红灯灭,在送出饮料的同时退还5

角硬币。

 

程序流程图

 

实验源代码(出缺点的源代码)

 

publicclass

SaleMachine{

privatein

tc

ountOfBeer,countOfOrangeJuice,countOfFiveCents,countOfOneDollar;

private

St

rin

g[]typeOfGoods={"Beer","OrangeJuice"};

private

St

rin

gresultOfDeal;

public

SaleMachine()

{

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:

 

n\n"+

currentState();

returnresultOfDeal;

}

else

{

resultOfDeal="FailureInformatio

returnresultOfDeal;

n"+"BeerShortage";

}

}

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="FailureInformatio

returnresultOfDeal;

n"+"TypeError";

}

}

else

{

resultOfDeal="FailureInformatio

returnresultOfDeal;

n"+"TypeError";

}

}

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:

5Ce

n"+

currentState();

returnresultOfDeal;

}

elseif(type.equals(typeOfGoods[1]))//假如用户选择橙汁并且还有橙汁

{

countOfOrangeJuice--;

countOfFiveCents--;

countOfOneDollar++;

resultOfDeal="InputInformation:

\n"+

"Type:

OrangeJuice;Money:

1Dollar;Change:

5

Cents\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="FailureInformatio

n"

+"TypeError";

returnresultOfDeal;

}

}

}

else

{

resultOfDeal="FailureInformation"+"ChangeShortage";

 

returnresultOfDeal;

}

}

else

{

resultOfDeal="FailureInformatio

returnresultOfDeal;

n"+"MoneyError";

}

}

resultOfDeal="FailureInformation"+"MoneyError";

returnresultOfDeal;

}

}

 

测试用例示例代码:

 

importstaticorg.junit.Assert.*;

 

importorg.junit.Before;

importorg.junit.Test;

 

public

 

class

 

SaleMachineTest{

 

SaleMachine

@Before

publicvoid

}

 

saleMachine=newSaleMachine();

 

setUp()throwsException{

 

@Test

public

void

testOperation1(){

 

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"));

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1