软件测试作业.docx

上传人:b****8 文档编号:10333852 上传时间:2023-02-10 格式:DOCX 页数:13 大小:455.90KB
下载 相关 举报
软件测试作业.docx_第1页
第1页 / 共13页
软件测试作业.docx_第2页
第2页 / 共13页
软件测试作业.docx_第3页
第3页 / 共13页
软件测试作业.docx_第4页
第4页 / 共13页
软件测试作业.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

软件测试作业.docx

《软件测试作业.docx》由会员分享,可在线阅读,更多相关《软件测试作业.docx(13页珍藏版)》请在冰豆网上搜索。

软件测试作业.docx

软件测试作业

软件测试报告

班级:

2012级软件工程2班学号:

41212223姓名:

张瑞文

一、实验设备(环境)及要求

●开发环境:

Eclipsev3.7及以上版本;JUnitv4.10及以上版本;文本编辑软件。

●系统要求:

Windows7/Windows98/Me/XP/NT/2000,IE5以上。

2、题目描述

自动售货机程序,分别对此程序进行功能性测试和结构性测试。

3、测试流程

1.编写自动售货机程序,源代码详见附件一;

2.下载安装Eclipse+JUnit+EclEmma,搭建结构性测试环境;

3.对程序进行结构性测试,测试代码详见附件二;

4.完成测试报告。

4、测试过程

1.编写源程序

2.搭建结构性测试环境

(1)解压eclemma软件包,并放到eclipse安装目录的dropins文件夹下:

(2)重新启动eclipse软件,菜单栏会出现新的图标:

(3)查看Windows的Customizeperspective项中的CommandGroupsAvailabiity多了Coverage项:

3.结构性测试

(1)编写测试用例,同功能性测试的“SaleMachineTest.java”;

(2)先点击运行查看,代码覆盖率为33.1%;

红色--未执行,黄色--条件没有全部执行、绿色--已经执行

(3)完善测试代码,直到代码覆盖率达到100%;

5、作业总结

在这次作业中,我使用了Junit和EclEmma这两个Eclipse插件对简易自动售货机程序进行了反复测试。

通过编写不同的测试用例,最终使代码覆盖率达到100%。

通过本次作业,我练习使用了测试中的两个常用的测试工具,并且懂得了在测试用例的编写中需要尽可能多的覆盖整个代码,以测试整个程序的正确性。

附件一:

自动售货机程序源代码

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){

if(money.equalsIgnoreCase("5C")){

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"+"OrangeJuiceShortage";

returnresultOfDeal;

}

}

else{

resultOfDeal="FailureInformation\n"+"TypeError";

returnresultOfDeal;

}

}

elseif(money.equalsIgnoreCase("1D")){

if(countOfFiveCents>0){

if(type.equals(typeOfGoods[0])&&countOfBeer>0){

countOfBeer--;

countOfFiveCents--;

countOfOneDollar++;

resultOfDeal="InputInformation\n"+"Type:

Beer;Money:

1Dollar;Change:

5Cents\n\n"+currentState();

returnresultOfDeal;

}

elseif(type.equals(typeOfGoods[1])&&countOfOrangeJuice>0){

countOfOrangeJuice--;

countOfFiveCents--;

countOfOneDollar++;

resultOfDeal="InputInformation:

\n"+"Type:

OrangeJuice;Money:

1Dollar;Change:

5Cents\n\n"+currentState();

returnresultOfDeal;

}

else{

if(type.equals(typeOfGoods[0])&&countOfBeer<=0){

resultOfDeal="FailureInformation\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;

}

}

resultOfDeal="FailureInformation\n"+"MoneyError";

returnresultOfDeal;

}

}

附件二:

自动售货机程序测试代码

importstaticorg.junit.Assert.*;

importorg.junit.After;

importorg.junit.Before;

importorg.junit.Test;

publicclassSaleMachineTest{

SaleMachinesaleMachine=newSaleMachine();

@Before

publicvoidsetUp()throwsException{

}

@After

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

}

@Test

publicvoidtestOperation2(){

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("Beer","5C"));

}

@Test

publicvoidtestOperation3(){

SaleMachinesaleMachine=newSaleMachine(6,6,0,6);

StringexpectedResult="FailureInformation\n"+"BeerShortage";

assertEquals(expectedResult,saleMachine.operation("Beer","5c"));

}

@Test

publicvoidtestOperation4(){

SaleMachinesaleMachine=newSaleMachine(6,6,6,0);

StringexpectedResult="FailureInformation\n"+"OrangeJuiceShortage";

assertEquals(expectedResult,saleMachine.operation("OrangeJuice","5c"));

}

@Test

publicvoidtestOperation5(){

SaleMachinesaleMachine=newSaleMachine(6,6,6,6);

StringexpectedResult="FailureInformation\n"+"TypeError";

assertEquals(expectedResult,saleMachine.operation("apple","5c"));

}

@Test

publicvoidtestOperation6(){

StringexpectedResult="InputInformation\n"+"Type:

Beer;Money:

1Dollar;Change:

5Cents\n\n"+"CurrentState\n"+"Beer:

5\n"+"OrangeJuice:

6\n"+"5Cents:

5\n"+"1Dollar:

7";

assertEquals(expectedResult,saleMachine.operation("Beer","1D"));

}

@Test

publicvoidtestOperation7(){

StringexpectedResult="InputInformation:

\n"+"Type:

OrangeJuice;Money:

1Dollar;Change:

5Cents\n\n"+"CurrentState\n"+"Beer:

6\n"+"OrangeJuice:

5\n"+"5Cents:

5\n"+"1Dollar:

7";

assertEquals(expectedResult,saleMachine.operation("OrangeJuice","1D"));

}

@Test

publicvoidtestOperation8(){

SaleMachinesaleMachine=newSaleMachine(6,6,0,6);

StringexpectedResult="FailureInformation\n"+"BeerShortage";

assertEquals(expectedResult,saleMachine.operation("Beer","1D"));

}

@Test

publicvoidtestOperation9(){

SaleMachinesaleMachine=newSaleMachine(6,6,6,6);

StringexpectedResult="FailureInformation\n"+"TypeError";

assertEquals(expectedResult,saleMachine.operation("apple","1D"));

}

@Test

publicvoidtestOperation10(){

SaleMachinesaleMachine=newSaleMachine(6,6,6,0);

StringexpectedResult="FailureInformation\n"+"OrangeJuiceShortage";

assertEquals(expectedResult,saleMachine.operation("OrangeJuice","1D"));

}

@Test

publicvoidtestOperation11(){

SaleMachinesaleMachine=newSaleMachine(0,6,6,6);

StringexpectedResult="FailureInformation\n"+"ChangeShortage";

assertEquals(expectedResult,saleMachine.operation("OrangeJuice","1D"));

}

@Test

publicvoidtestOperation12(){

SaleMachinesaleMachine=newSaleMachine(6,6,6,6);

StringexpectedResult="FailureInformation\n"+"MoneyError";

assertEquals(expectedResult,saleMachine.operation("OrangeJuice","0"));

}

}

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

当前位置:首页 > 求职职场 > 简历

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

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