实验使用基本路径测试法求解“自动售货机”问题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验使用基本路径测试法求解“自动售货机”问题

————————————————————————————————作者:————————————————————————————————日期:

实验04:使用基本路径测试法求解“自动售货机”问题实验学时:2

实验类型:设计

实验要求:必修

一、实验目的

●理解并掌握基本路径覆盖测试法,能够实际运用;

●使用Eclipse+JUnit+EclEmma进行单元测试。

二、实验要求

●开发环境:Eclipse v3.7及以上版本;JUnit v4.10及以上版本;文本编辑

软件。

●硬件要求:CPU PIV 以上,256M 内存,1G 硬盘空间。

●系统要求:Windows98/Me/XP/NT/2000,IE 5 以上。

三、实验内容

1.下载并安装Eclipse+JUnit+EclEmma实验环境;

2.通读自动售货机程序,并在Eclipse环境下运行该程序;

3.使用基本路径测试法设计测试用例;

⏹绘制程序控制流图;

⏹计算环路复杂度;

⏹确定基本路径;

⏹设计测试用例。

4.完整填写以下表格:

编号输入值

Type

输入值

money

状态预期输出实际情

001 Beer 5C 各资

源剩

余Input Information

Type: Beer; Money: 5 Cents; Change: 0

Current State Beer: 5 Orange Juice: 6 5 Cents: 7

1 Dollar: 6

002 OrangeJ

uice 5C 各资

源剩

Input Information

Type: OrangeJuice; Money: 5 Cents; Change: 0

Current State

Beer: 6

Orange Juice: 5

5 Cents: 7

1 Dollar: 6

003 Beer 1D 没有

啤酒Failure Information Beer Shortage

5.编写JUnit测试用例,并运行程序,保证所有测试用例通过测试;

6.使用EclEmma检测测试用例覆盖率,保证覆盖率达到100%。

四、实验结果检查与评定

●提交时间:2013年4月24日之前/2013年5月1日22:00之前

●提交地址:学习委员邮箱

●文档命名方式:12软件专升本X班_0907052XXX_张三_实验04.doc

实验报告

实验序号:实验项目名称:

学号姓名专业、班

实验地点指导教师实验时间

一、实验目的及要求

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

三、实验内容与步骤

四、实验结果与数据处理

五、分析与讨论

六、教师评语

成绩

签名:

日期:

附录

问题描述

自动售货机程序:

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

的饮料就送出来;

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

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

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

角硬币。

程序流程图

实验源代码(有缺陷的源代码)

public class Sale Mac hin e {

priv ate in t c ount OfB eer, c o untO fOr ang eJu ice, co unt OfF i veCe nts, c oun tOfO neD oll ar;

priv ate St rin g[] typ eOf Goo d s = {"B eer", "Ora nge Jui ce"};

priv ate St rin g re sul tOf Dea l;

publ ic Sal eMa chin e()

{

init ial();

}

publ ic voi d i niti al()

{

coun tOfBee r = 6;

coun tOfOra nge Juic e = 6;

coun tOfFiv eCe nts= 6;

coun tOfOne Dol lar = 6;

}

publ ic Sal eMa chin e(i nt fiv e Cent s, int on eDol lar, i nt n umOf Bee r, int num OfO ran ge) //便于测试的初始化函数

{

coun tOfFiv eCe nts= f ive Cen t s;

coun tOfOne Dol lar = o neD oll a r;

coun tOfBee r = num OfB eer;

coun tOfOra nge Juic e = nu mOf O rang e;

}

publ ic Str ing cur ren tSt ate()

{

Stri ng sta te = "C urr ent St a te\n" +

"Be er: "+ c oun tOf Bee r +"\n"+

"Or ang e J uic e: " +co unt Of Oran geJ uic e +"\n" +

"5 Cen ts: "+ c oun tOf Fiv eC ents + "\n" +

"1 Dol lar: " + cou ntO fOn eD olla r;

retu rn sta te;

}

publ ic Str ing ope rat ion(St r ing typ e, Str ing mon ey)

//ty pe是用户选择的产品,m one y是用户投币种类

{

if(m oney.e qua lsIg nor eCa se("5C")) //如果用户投入5角钱

相关文档
最新文档