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

合集下载

软件测试题目及其答案

软件测试题目及其答案

1.动手实践题。

火车票退款业务流包括多个业务环节,其中比较重要的一个环节就是退票金额的计算。

请先熟悉下面的退票业务需求。

退票业务需求描述:(1)对开车前15天(不含)以上退票的,不收取退票费。

(2)票面乘车站开车前48小时以上的,退票时收取票价5%的退票费。

(3)开车前24小时以上、不足48小时的,退票时收取票价10%的退票费。

(4)开车前不足24小时的,退票时收取票价20%的退票费。

(5)上述计算的尾数以5角为单位,尾数小于2.5角的舍去、2.5角以上且小于7.5角的计为5角、7.5角以上的进为1元。

(6)开车前2小时并且没有打印纸质车票,可以在网上退票,晚于开车前2小时或者已经打印了车票,只能在车站退票窗口办理。

假设用户张三购买了一张2019年6月30日上午07:52(2019-06-30-07)的火车票,请尝试运用场景法设计该用户退票流程的测试用例。

订单参见图6-26。

图6-26 火车票订单答案:用场景法设计测试用例。

2.动手实践题。

某程序有4个输入因子A,B,C,D,其水平分别为: A: A1,A2 B: B1,B2,B3 C: C1,C2,C3,C4 D: D1,D2,D3 试用PICT工具为该程序设计测试用例。

答案:创建test1.txt文件,保存到PICT安装目录下,文件内容如下示:打开CMD命令控制台,切换到PICT安装目录,运行PICT命令生成测试用例,如下图所示:最终生成的测试用例如下图所示:3.动手实践题。

设有3个独立的查询条件,根据这些查询条件可以获得特定员工的个人信息。

员工号(ID)员工姓名(Name)员工邮件地址(Email)每个查询条件包括3种情况:不填、填上正确的内容、填上错误的内容。

请用正交试验法为其设计测试用例。

答案:员工号(ID):1001、NULL、A!员工姓名(Name):Alice、NULL、A!001员工邮件地址(Email):************、NULL、A!001选择正交表L9(34),共9条测试用例,如下表示。

白盒测试之基本路径测试法

白盒测试之基本路径测试法

白盒测试之基本路径测试法白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、Z路径覆盖、程序变异。

其中运用最为广泛的是基本路径测试法。

基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。

设计出的测试用例要保证在测试中程序的每个可执行语句至少执行一次。

在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例。

包括以下4个步骤和一个工具方法:1. 程序的控制流图:描述程序控制流的一种图示方法。

2. 程序圈复杂度:McCabe复杂性度量。

从程序的环路复杂性可导出程序基本路径集合中的独立路径条数,这是确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上界。

3. 导出测试用例:根据圈复杂度和程序结构设计用例数据输入和预期结果。

4. 准备测试用例:确保基本路径集中的每一条路径的执行。

工具方法:图形矩阵。

是在基本路径测试中起辅助作用的软件工具,利用它可以实现自动地确定一个基本路径集。

程序的控制流图:描述程序控制流的一种图示方法。

圆圈称为控制流图的一个结点,表示一个或多个无分支的语句或源程序语句流图只有二种图形符号:图中的每一个圆称为流图的结点,代表一条或多条语句。

流图中的箭头称为边或连接,代表控制流任何过程设计都要被翻译成控制流图。

如何根据程序流程图画出控制流程图?在将程序流程图简化成控制流图时,应注意:●在选择或多分支结构中,分支的汇聚处应有一个汇聚结点。

●边和结点圈定的区域叫做区域,当对区域计数时,图形外的区域也应记为一个区域。

如下页图所示独立路径:至少沿一条新的边移动的路径基本路径测试法的步骤:第一步:画出控制流图流程图用来描述程序控制结构。

可将流程图映射到一个相应的流图(假设流程图的菱形决定框中不包含复合条件)。

在流图中,每一个圆,称为流图的结点,代表一个或多个语句。

测试答案

测试答案
C.证明软件正确D.发现软件错误
9黑盒测试法是根据产品的(A)来设计测试用例的。
A.功能B.输入数据C.应用范围D.内部逻辑
10V模型描述了软件基本的开发过程和测试行为,描述了不同测试阶段与开发过程各阶段的对应关系。其中,集成测试阶段对应的开发阶段是(C)。
A.需求分析阶段B.概要设计阶段
C.详细设计阶段D.编码阶段
1.利用等价类划分方法
输入三个整数作为三边的边长构成三角形。构造测试用例进行测试(注:三角形可能为一般三角形、等腰三角形、等边三角形等)。
测试用例
2.给出判定表和设计测试用例
假设一个中国的航空公司规定:
中国去欧美的航线所有座位都有食物供应。每个座位都可以播放电影。
中国去非欧美的国外航线都有食物供应,只有商务舱可以播放电影。
A.12 B.8 C.6 D.4
20软件测试使用各种术语描述软件出现的问题,以下叙述正确的是(A)。
A.软件错误(error)是指在软件生命周期内的不希望或不可接受的人为错误,其结果是导致软件故障的产生
B.软件缺陷(defect)是存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差
C.软件故障(fault)是指软件运行过程中出现的一种不希望或不可接受的外部状态
D.试图证明软件在软件生命周期各个阶段以及阶段间的逻辑协调性、完备性和正确性
12与设计测试用例无关的文档是(A)。
A.项目开发计划B.需求规格说明书
C.设计说明书D.源程序
13(B)不是正确的软件测试目的。
A.尽最大的可能找出最多的错误
B.设计一个好的测试用例对用户需求的覆盖度达到100%
C.对软件质量进行度量和评估,以提高软件的质量
7用边界值分析法,假定10≤X≤100,那么X在测试中应该取的边界值是__B____。

EDA实验报告---自动售货机

EDA实验报告---自动售货机

自动售货机的设计一.实验内容:本自动售货机系统,结合EDA技术,采用ALTERA公司可编程逻辑器件(CPLD)EPM7128SLC84-15芯片作为控制核心,再配以必要的外围电路从而实现只销售两种饮料,售价均为15元,可以找零和退币等功能的EDA应用系统。

芯片的设计是以MAX_PLUS II 作为开发平台,VHDL语言作为开发语言,使用掌宇公司CIC_310 CPLD/FPGA数字开发系统完成软件测试。

自己制作下载板与外围电路。

二.实验分析:本自动售货机只销售两种罐装饮料。

售价均为15元。

顾客可以由两个不同投币孔分别投入3个5元硬币或2个10元硬币。

一次交易只能买一罐,且自动找零。

只要按下取消键就会马上无条件退币。

本设计的硬件电路用2个按键电路代替2个投币孔,以LED点亮的数量显示各币种的投入数量,在以4Hz闪烁的LED来显示退币种类与数量。

因为投币是计次电路,应先经过抖动消除电路处理。

本设计采用1000Hz的系统时钟信号来控制所有买卖行为。

系统中设计的复位键为管理人员所用,并未在用户界面中设计。

三.系统设计流程图:四.自动售货机外观图:(为指示灯)五.电路原理图六.PCB图:根据PROTEL99画的系统原理图,成生PCB图。

然后进行布局与布线。

注意:布线时将晶振这种易产生噪声的器件的输出端与芯片时钟输入端的连线尽量布为直线;将电源与地线的宽度定为30mil到100mil之间。

本系统的电流不是很大,所以不用将板子的两面分别布成电源与地。

七.系统实物图:八.软件系统框图九.源程序:1.产生系统频率和退币信号电路首先要根据硬件电路的晶振频率确定分频系数,先产生系统频率,在进一步分频产生退币信号。

由于掌宇公司的开发系统上的晶振频率为20MHz,所以要分频系数分别为20000(COUNT)和250(COUNT1)。

(注:由于在自制的下载板上使用了1MHz的有源晶振,所以把程序中的COUNT的范围改为0到1000即可。

自动售货机实验报告

自动售货机实验报告

自动售货机实验报告自动售货机实验报告引言:自动售货机是一种现代化的商业销售设备,它通过自动化技术实现商品销售和支付功能,为消费者提供了便利和选择。

本实验旨在探究自动售货机的工作原理、销售模式以及对消费者行为的影响。

一、自动售货机的工作原理自动售货机通过内部的电子系统和机械结构实现商品的储存、选择、售卖和支付等功能。

其工作原理主要包括以下几个步骤:1. 商品储存:自动售货机内部设置有多个货道,每个货道可以储存一种商品。

商品通过传送带或弹簧等装置储存在货道中,保持整齐有序。

2. 商品选择:消费者通过触摸屏或按键选择所需商品。

自动售货机内部的电子系统会根据消费者的选择信号,控制相应货道的开关门,将商品送至取货口。

3. 商品售卖:当消费者选择的商品位于取货口时,自动售货机会打开门,消费者可以取走商品。

部分自动售货机还配备了自动找零功能,方便消费者支付。

4. 支付方式:自动售货机通常支持多种支付方式,如硬币、纸币、银行卡、移动支付等。

消费者可以根据自己的需求选择适合的支付方式。

二、自动售货机的销售模式自动售货机的销售模式主要分为自动售卖和自助选购两种。

1. 自动售卖:在这种模式下,自动售货机会事先设定好商品的价格,并通过内部的计算机系统实时监测库存和销售情况。

当商品售罄或库存不足时,自动售货机会停止销售并显示相应信息。

这种模式适用于一些固定价格和库存较少的商品,如饮料、零食等。

2. 自助选购:在这种模式下,自动售货机提供了更多的选择和定制化服务。

消费者可以根据自己的需求选择商品的种类、数量和价格等,并通过自动售货机完成支付。

这种模式适用于一些需要个性化定制的商品,如鲜花、礼品等。

三、自动售货机对消费者行为的影响自动售货机的出现改变了传统的购物方式,对消费者行为产生了一定的影响。

1. 购物便利性:自动售货机的24小时不间断运营,为消费者提供了更加便捷的购物体验。

消费者可以在任何时间和地点购买所需商品,无需排队等待。

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

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

实验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.完整填写以下表格: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 hine {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;countOf Bee 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角钱{if(t ype.eq ual s(ty peO fGo ods[0]))//如果用户选择啤酒{if(c oun tOf Bee r>0)//如果还有啤酒{coun tOf Bee r--;coun tOf Fiv eCe nts++;resu ltO fDe al= "I npu t I nfo r mati on \n" +"Ty pe: Be er; Mo ney: 5 Ce nt s; C han ge: 0\n\n" + currentSta te();retu rn res ult OfDe al;}else{resu ltO fDe al= "F ail ure In f orma tio n \n"+ "B eer Sh ort a ge";retu rn res ult OfDe al;}}else if (t ype.equ als(ty peO f Good s[1]))//用户选择橙汁{if(c oun tOf Ora ngeJ uic e > 0){coun tOf Ora nge Juic e--;coun tOf Fiv eCe nts++;resu ltO fDe al= "I npu t I nfo r mati on \n" +"Ty pe: Or ang eJu ice; M one y: 5 C ent s; Cha nge: 0\n\n" + currentSta te();retu rn res ult OfDe al;}else{resu ltO fDe al= "F ail ure In f orma tio n \n"+ "T ype Er ror";retu rn res ult OfDe al;}}else{resu ltO fDe al= "F ail ure In f orma tio n \n"+ "T ype Er ror";retu rn res ult OfDe al;}}else if(mo ney.equ als Ign ore C ase("1D"))//如果用户投入一元钱{if(c oun tOf Fiv eCen ts>0) //如果用户投入一元钱{if(c oun tOf Fiv eCen ts> 0) //如果用户有零钱{if(t ype.eq ual s(ty peO fGo ods[0])&&co unt OfB eer>0)//如果用户选择啤酒而且还有啤酒{coun tOf Bee r--;coun tOf Fiv eCe nts--;coun tOf One Dol lar++;resu ltO fDe al= "I npu t I nfo r mati on \n" +"yp e: Bee r; M one y: 1 Do lla r; Ch ang e: 5 Ce nts\n\n"+ currentSta te();retu rn res ult OfDe al;}else if (t ype.equ als(ty peO f Good s[1]))//如果用户选择橙汁而且还有橙汁{coun tOf Ora nge Juic e --;coun tOf Fiv eCe nts--;coun tOf One Dol lar ++;resu ltO fDe al= "I npu t I nfo r mati on: \n" +"Ty pe: Or ang eJu ice; M one y: 1 D oll ar; Ch ange: 5 Cents\n\n" + curr ent Sta te();retu rn res ult OfDe al;}else{if(t ype.eq ual s(ty peO fGo ods[0])&&co unt OfO rang eJu ice<=0){resu ltO fDe al= "F ail ue Inf o rmat ion \n" +"Be er Sho rta g e";retu rn res ult OfDe al;}else if(ty pe.equa ls(typ eOf G oods[1])&&cou ntOf Ora nge Jui c e<=0){resu ltO fDe al= "Fai lur e Info r mati on \n"+"O ran geJ uice S hor tage";retu rn res ult OfDe al;}else{resu ltO fDe al= "F ail ure In f orma tio n \n"+ "T ype Er ror";retu rn res ult OfDe al;}}}else{resu ltO fDe al= "F ail ure In f orma tio n \n"+ "C han ge Sho r tage";retu rn res ult OfDe al;}}else{resu ltO fDe al= "F ail ure In f orma tio n \n"+ "M one y E rro r";retu rn res ult OfDe al;}}resu ltOfDe al = "F ail ure In f orma tio n \n"+ "M one y E rro r";retu rn res ult OfDe al;}}测试用例示例代码:import static org.junit.Assert.*;import org.junit.Before;import org.junit.Test;public class SaleMachineTest {SaleMachine saleMachine = new SaleMachine();@Beforepublic void setUp() throws Exception {}@Testpublic void testOperation1() {String expectedResult = "Input Information \n" +"Type: OrangeJuice; Money: 5 Cents; Change: 0\n\n" +"Current State\n" +"Beer: 6\n" +"Orange Juice: 5\n" +"5 Cents: 7\n" +"1 Dollar: 6";assertEquals(expectedResult,saleMachine.operation("OrangeJuice", "5C"));}}。

自动售货机测试用例

自动售货机测试用例

题目:有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。

其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。

若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。

1.分析这一段说明,列出原因和结果原因:1.售货机有零钱找2.投入1元硬币3.投入5角硬币4.押下橙汁按钮5.押下啤酒按钮结果:21.售货机〖零钱找完〗灯亮22.退还1元硬币23.退还5角硬币24.送出橙汁饮料25.送出啤酒饮料2.画出因果图如图所示。

所有原因结点列在左边,所有结果结点列在右边。

建立中间结点,表示处理的中间状态。

中间结点:11. 投入1元硬币且押下饮料按钮12. 押下〖橙汁〗或〖啤酒〗的按钮13. 应当找5角零钱并且售货机有零钱找14. 钱已付清3.转换成判定表:4.设计测试用例1)在售货机有零钱找的情况下,投入1元硬币,押下橙汁按钮,找回5角硬币并送出橙汁饮料。

2)在售货机有零钱找的情况下,投入1元硬币,押下啤酒按钮,找回5角硬币并送出啤酒饮料。

3)在售货机有零钱找的情况下,投入1元硬币,系统不做任何处理。

4)在售货机有零钱找的情况下,投入5角硬币,押下橙汁按钮,送出橙汁饮料。

5)在售货机有零钱找的情况下,投入5角硬币,押下啤酒按钮,送出啤酒饮料。

6)在售货机有零钱找的情况下,投入5角硬币,系统不做任何处理。

7)在售货机有零钱找的情况下,押下橙汁按钮,系统不做任何处理。

8)在售货机有零钱找的情况下,押下啤酒按钮,系统不做任何处理。

9)在售货机没有零钱找的情况下,投入1元硬币,押下橙汁按钮,售货机“零钱找完”灯亮,并退还1元硬币。

10)在售货机没有零钱找的情况下,投入1元硬币,押下啤酒按钮,售货机“零钱找完”灯亮,并退还1元硬币。

11)在售货机没有零钱找的情况下,投入1元硬币,售货机“零钱找完”灯亮。

《软件测试技术》 实验一 实验报告

《软件测试技术》 实验一 实验报告

《软件测试技术》实验报告实验一单元测试专业:班级:学号:姓名:完成时间:2020年月日实验一单元测试(4学时)实验类别:基本实验实验目的:1、掌握黑盒测试技术,并能应用黑盒测试技术设计测试用例。

2、掌握白盒测试技术,并能应用白盒测试技术设计测试用例。

3、掌握对测试用例进行优化设计方法。

4、掌握单元测试技术,并按单元测试的要求设计测试用例。

5、掌握一种单元测试工具的使用。

实验内容:一、黑盒测试题目:选择1个完成。

1.题目一:电话号码问题某城市电话号码由三部分组成。

它们的名称和内容分别是:(1)地区码:空白或三位数字;(2)前缀:非'0'或'1'的三位数字;(3)后缀:4位数字。

假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。

根据该程序的规格说明,作等价类的划分,并设计测试方案。

2.题目二:三角形问题根据下面给出的规格说明,利用边界值测试的方法,给出足够的测试用例。

“一个程序读入三个整数。

把此三个数值看成是一个三角形的三个边。

这个程序要打印出信息,说明这个三角形是三边不等的、是等腰的、还是等边的。

”3.题目三:日期问题用决策表测试法测试以下程序:该程序有三个输入变量month、day、year(month 、day 和year均为整数值,并且满足:1≤month≤12和1≤day≤31),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上隔一天的日期。

例如,输入为2004 年11月29日,则该程序的输出为2004年12月1日。

(1) 分析各种输入情况,列出为输入变量month 、day 、year 划分的有效等价类。

(2) 分析程序的规格说明,并结合以上等价类划分的情况,给出问题规定的可能采取的操作(即列出所有的动作桩)。

(3) 根据(1) 和(2) ,画出简化后的决策表。

4.题目四:自动售货机问题向自动售货机中投入1元或5角硬币,并按下【橙汁】或【可口可乐】按钮,则相应饮料送出来。

软件测试技术实验指导书

软件测试技术实验指导书

软件测试技术实验指导书公司内部编号:(GOOD-TMMT-MMUT-UUPTY-UUYY-DTTI-《软件测试技术》实验指导书实验1、自由测试一、实验目的1.理解软件测试的概念。

2.提高反向思维的能力。

二、实验任务针对某产品Beta的版本,对照其竞争对手的产品,进行测试,以发现该软件产品潜在的任何问题,记录下来。

Discuz! X beta 对比 PHPWind实验2、黑盒测试方法:等价类划分法+边界值分析方法一、实验目的1.掌握等价类、有效等价类、无效等价类、边界值等概念。

2.掌握边界值分析法、等价类划分法的测试用例设计方法。

3.能够将这两种方法结合起来,灵活运用二、实验任务以下三个任务、至少完成一个1、对三角问题综合运用边界值分析方法、等价类划分方法设计测试用例。

三角形问题:void Triangle (int a, int b, int c)函数规定输入三个整数a、b、c分别作为三边的边长构成三角形。

通过程序判定所构成的三角形的类型(等边三角形、等腰三角形、一般三角形、构不成三角形),并在屏幕上输出。

1<=a,b,c<=200。

实验步骤:①划分等价类,得到等价类表。

等价类表格式如下:②综合运用这两种方法设测试用例,得到测试用例表:③综合运用这两种方法设测试用例,得到测试用例表:④根据上述测试用例表,能否进行优化,获得最小测试用例集合:2、对于找零钱最佳组合问题运用边界值分析法设计测试用例。

实验步骤:①分析边界值。

②运用健壮性边界条件法设计测试用例,得到测试用例表(测试用例表格式同实验1)。

③执行测试,填写软件缺陷报告(软件缺陷报告格式同实验1)。

3、现有一个程序int CheckTel(char *rc, char *n)执行电话号码有效性检查功能,中国的固定电话号码由两部分组成。

这两部分的名称和内容分别是:地区码(rc):以0开头的三位或者四位数字(包括0)。

电话号码(n):以非0、非1开头的七位或者八位数字。

c语言自动售货机实验报告

c语言自动售货机实验报告

课程设计课程名称 C 语言高级程序设计学院xxx小组成员1XXX小组成员2XXX小组成员3XXX任课教师XXX2016——2017学年第1学期一.所选题目与要求自动售货机问题情景:分析学校教学楼自动售货机的功能,设计一个自动售货系统。

功能要求:1. 系统能提供所售商品的清单(编号,名称,单价,数量)2. 客户输入商品编号及购买数量,系统显示应付的金额,输入客户实付的钱数,系统计算应找的钱数系统如果没有足够的库存或零钱时,现实应返还客户已付的金额。

(不考虑用支付宝付款的情况)3. 可增加商品种类,增加商品库存,查询商品库存,查询商品销售量及销售额。

成果要求:通过网络教学平台中的“研究型教学”建立分组,每组2-3人,通过小组讨论,确定每人的分工,并确定系统设计方案。

各小组成员在网络教学平台上进行讨论、并完成最终的报告,整个过程作为小组及个人工作评价的重要依据。

各小组成员根据系统设计方案分模块进行编程,在系统各模块编码完成后集成调试,并最终完成整个系统的测试。

根据下面的报告模板完成综合实验总结报告,并打印成纸质报告,作为大作业课程结束时上交。

附:综合实验总结报告应包含的内容:1. 系统功能说明2. 程序结构程序结构说明重要数据说明函数清单/* 每个函数的书写格式 */函数名:所在文件名函数功能参数说明算法描述或程序代码3. 系统运行结果4. 系统设计难点及其解决方法5. 不足之处6. 人员分工说明二.问题分析及算法设计主函数void main() //主函数模块{do{system("pause");show(); //显示屏幕函数,商品清单loop1:printf("现在你有%.1f元\n你可以选择商品序号开始选购或按0 退出\n",M);input(); //输入函数if(M-goods[n-1].price>v) {t=0;printf("对不起,售货机没有足够的零钱了\n谢谢光临!退还%.1f元\n",M);break;} //判断售货机是否有足够的零钱,0表无if(n==0){ //确认用户是选择离开还是买东西开始购买t=1;change(M);} //找零函数else {loop2:sell(n,M,1,1); //购买函数if(A==0)//货没有了怎么办input(); //输入函数………………………………………………………………………..if(n==0) //没货离开change(M); //找钱函数else //继续购买其它商品{……………………………………………goto loop2;返回至购买函数} //else} //ifelse if(B==0)//没钱了怎么办{…………………………………..if(m1==0) //离开change(M);返回至找零函数else //加钱{…………………………………………..goto loop1;返回至再次购买} //else} //else ifelse//有钱又有货,继续选goto loop1;返回至购买程序} //else}while(1);} //main结构体定义struct goods//定义物品清单{int number;char name[10];float price;int quantity;}goods[9]={{1,"可口可乐",3,5},{2,"拿铁咖啡",4,5},{3,"橙汁",3,5},{4,"奶茶",4,5},{5,"雪碧",2.5,5},{6,"矿泉水",2,5},{7,"椰子汁",2.5,5},{8,"格瓦斯",3,5}};struct money//定义钱的种类,数量用于记录找零的某值张数{float moneys;int mount;}money[2]={{1,0},{0.5,0}};被调用的函数float show() //显示模块--屏幕{……………………………}int input() //输入模块{…………………………..}}int sell(int n,float m,int a,int b) //出售模块n为序号,m钱,{……………………………if(goods[i].quantity>0) //表示有货{………………………………..}elseA=0; //表示没货了}elseB=0; //表示没钱了if(M==0) B=0;//判断出钱已用光return(a);return(b);}void change(float m) //找钱模块{……………………………switch(a){case 1花光…………………………………….case 2:找零……………………………………………………………………………}}三.程序源代码#include<stdio.h>#include<conio.h>float M;//M为投入的钱数int A=1,B=1,t; //A为数量标记,B为金钱标记,1表示有,0表示没有,t用于标记售货机是否能完成退款int i,n,v=100; //i用于循环显示商品列表,n用于记录输入的货号,v用于保存售货机内可以找零的钱数,初设为v=100//结构体定义struct goods //定义物品清单{int number;char name[10];float price;int quantity;}goods[9]={{1,"可口可乐",3,5},{2,"拿铁咖啡",4,5},{3,"橙汁",3,5},{4,"奶茶",4,5},{5,"雪碧",2.5,5},{6,"矿泉水",2,5},{7,"椰子汁",2.5,5},{8,"格瓦斯",3,5}};struct money //定义钱的种类,数量用于记录找零的某值张数{float moneys;int mount;}money[2]={{1,0},{0.5,0}};float show() //显示模块--屏幕{system("pause");putch('\n');for(i=0;i<8;i++){printf(" |~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|\n");printf(" |%d%8s%7.1f元...剩余%7d|\n",goods[i].number,goods[i].name,goods[i].price,goods[i].quantity);} printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");printf("购买东西前,请投入money!(支持1元,5元,10元和20元)\n《温馨提示,投入money过多可能无法完成退币》\n");scanf("%f",&M);return M;}int input() //输入模块{for(;;){scanf("%d",&n);if(n<0||n>8)printf("输入错误,请重新输入商品序号开始选购或按0 退出\n");else {return n;break;}}}int sell(int n,float m,int a,int b) //出售模块n为序号,m钱,{int i=0;while(n!=goods[i].number) i++;if(m>=goods[i].price){if(goods[i].quantity>0){goods[i].quantity--;M=m-goods[i].price;for(i=0;i<8;i++){printf(" |~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|\n");printf(" |%d%8s%7.1f元...剩余%7d|\n",goods[i].number,goods[i].name,goods[i].price,goods[i].quantity);} printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");printf("你的商品%d %s 已经出货了\n",goods[n-1].number,goods[n-1].name);}elseA=0; //表示没货了}elseB=0; //表示钱了if(M==0) B=0;//判断出钱已用光return(a);return(b);}void change(float m) /钱模块{int i,a;//用于辅助输出if(m==0) a=1;if(m!=0.0&&t!=1) a=2;switch(a){case 1:printf("钱用光了哦\n谢谢光临!");break;case 2:{for(i=0;i<2;i++)if(money[i].moneys<=m){m=m-money[i].moneys;money[i].mount++;i--;}//继续检索当前的面额是否符合条件,才会有相同面值出现printf(" 谢谢光临!\n找零\n");for(i=0;i<2;i++)if(money[i].mount>0)printf("%d张%.1f元\t\n",money[i].mount,money[i].moneys);m=0;M=0;};money[0].mount=0;break;}}void main() //主函数模块{do{int t=1; //用于标记售货机是否能完成退款,1表能float m1; //m1用于记录用户再次加的钱show(); //显示--屏幕loop1:printf("现在你有%.1f元\n你可以选择商品序号开始选购或按0 退出\n",M);input(); //输入函数if(M-goods[n-1].price>v) {t=0;printf("对不起,售货机没有足够的零钱了\n 谢谢光临!退还%.1f元\n",M);break;} //判断售货机是否有足够的零钱,0表无if(n==0){ //确认用户是选择离开还是买东西开始购买t=1;change(M);} /零函数else {loop2:sell(n,M,1,1);if(A==0)//货没有了怎么办{printf("可惜了,商品%d 已卖完了\n你还有%.1f元\n你可以买其它商品(直接输入商品序号)或按0 离开\n",n,M);input(); //输入函数if(n==0)change(M); /钱函数else{A=1;B=1;//要将标记归位goto loop2;} //else} //ifelse if(B==0)//没钱了怎么办{printf("噢,,,没钱了,你可以继续投入money购买,或按0 离开\n");scanf("%f",&m1);if(m1==0)change(M);else{M=M+m1;A=1;B=1;//标记要归位goto loop1;} //else} //else ifelse//有钱又有货,继续选goto loop1;} //else}while(1);} //main四.系统功能及运行效果图一,系统提供商品清单,并提示购买前投入money二,如果用户投入的money过多,售货机无足够硬币完成退币,自动退还用户已付金额三,用户投入money购买,确定购买商品后,系统显示如下。

自动售货机实验报告

自动售货机实验报告

目录一、设计目的 (1)1.控制要求 (1)2.课题要求 (1)二、设计步骤 (1)1.设计思路 (1)2.I/O分配表 (3)3.各种中间继电器 (3)三、实验步骤 (3)四、控制图 (4)1.电器控制图及必要的文字说明 (4)2.硬件链接图 (4)五、程序设计 (4)1.梯形图 (5)2.触摸屏 (11)六、实验总结 (11)1.课题设计的整体分析 (11)2.设计中遇到的问题及解决办法 (11)3.实验中遇到的问题及解决办法 (11)4.主要输入、输出及中间继电器的时序图 (14)5.收获 (14)参考文献 (15)自动售货机的PLC控制一、设计目的1.控制要求:(1)自动售货机可投入5角、1元、5元、10元硬币。

(2)当投入的硬币总值等于或超过5元时,汽水按钮指示灯亮;当投入的硬币总值超过10元时奶茶按钮指示灯亮;当投入的硬币总值超过15元时咖啡按钮指示灯亮。

(3)当汽水按钮指示灯亮时,按汽水按钮,则汽水排出,5秒后自动停止。

汽水排出时,相应指示灯闪烁。

(4)当奶茶和咖啡按钮指示灯亮时,动作同上。

(5)若投入的硬币总值超过按钮所需的钱数时,找钱指示灯亮,同时八段码显示所找钱数。

2.课题要求(1)设计出硬件系统的结构图、接线图、时序图等;(2)运用功能指令进行PLC控制程序设计,并有主程序和子程序;(3)进行系统调试,实现自动售货机的控制要求。

二、设计步骤1.设计思路自动售货机是台机电一体化的自动化装置,在接受到货币已输入的前提下,靠触摸控制按钮输入信号使控制器启动相关的机械装置完成规定动作,将货物输出,用自动控制系统代替现有的人工销售方式,节省人力,减少相应的销售开支,扩大销售覆盖面。

当投入的硬币总值超过5元时,汽水指示灯亮。

当硬币总值超过10元时,汽水和奶茶指示灯亮。

当投入的硬币总值超过15元时,汽水,奶茶和咖啡指示灯都亮。

当汽水指示灯亮时,按汽水按钮,则汽水排出,5秒后自动停止,相应的指示灯闪烁;当奶茶指示灯亮时,按奶茶按钮,则奶茶排出,5秒后自动停止,相应的指示灯闪烁;当咖啡指示灯亮时,按咖啡按钮,则咖啡排出,5秒后自动停止,相应的指示灯闪烁。

自动售货机检测测验用例(因果图)

自动售货机检测测验用例(因果图)

题目:有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。

其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。

若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。

1.分析这一段说明,列出原因和结果原因:1.售货机有零钱找2.投入1元硬币3.投入5角硬币4.押下橙汁按钮5.押下啤酒按钮结果:21.售货机〖零钱找完〗灯亮22.退还1元硬币23.退还5角硬币24.送出橙汁饮料25.送出啤酒饮料2.画出因果图如图所示。

所有原因结点列在左边,所有结果结点列在右边。

建立中间结点,表示处理的中间状态。

中间结点:11. 投入1元硬币且押下饮料按钮12. 押下〖橙汁〗或〖啤酒〗的按钮13. 应当找5角零钱并且售货机有零钱找14. 钱已付清3.转换成判定表:4.设计测试用例1)在售货机有零钱找的情况下,投入1元硬币,押下橙汁按钮,找回5角硬币并送出橙汁饮料。

2)在售货机有零钱找的情况下,投入1元硬币,押下啤酒按钮,找回5角硬币并送出啤酒饮料。

3)在售货机有零钱找的情况下,投入1元硬币,系统不做任何处理。

4)在售货机有零钱找的情况下,投入5角硬币,押下橙汁按钮,送出橙汁饮料。

5)在售货机有零钱找的情况下,投入5角硬币,押下啤酒按钮,送出啤酒饮料。

6)在售货机有零钱找的情况下,投入5角硬币,系统不做任何处理。

7)在售货机有零钱找的情况下,押下橙汁按钮,系统不做任何处理。

8)在售货机有零钱找的情况下,押下啤酒按钮,系统不做任何处理。

9)在售货机没有零钱找的情况下,投入1元硬币,押下橙汁按钮,售货机“零钱找完”灯亮,并退还1元硬币。

10)在售货机没有零钱找的情况下,投入1元硬币,押下啤酒按钮,售货机“零钱找完”灯亮,并退还1元硬币。

11)在售货机没有零钱找的情况下,投入1元硬币,售货机“零钱找完”灯亮。

数字电路自动售货机实验报告

数字电路自动售货机实验报告

数字电路综合实验题目:简易自动售货机学院:信息与通信工程学院姓名:班级:学号:班内序号:1.设计课题的任务要求设计一个简易的自动售货机,能够完成钱数处理、找零、显示、退币等功能。

基本要求:1.用2 个数码管(disp5,disp4)显示钱数,以元为单位。

用3 个按键(btn0,btn1,btn2)分别表示一元、五元、十元,每按一次按键,增加一次相应的钱数,上限99元。

2.再用3 个按键(btn3,btn4,btn5)分别对应3 种商品,其中,商品甲售价3 元、商品乙售价8 元、商品丙售价12 元;3.买东西时,先输入钱币,再按对应的商品键。

每按一次商品键,钱数要相应地减少,同时有声光(蜂鸣器或发光二极管)提示购买成功。

剩余钱数大于3 元可继续按商品键再次购买;当剩余钱数少于3 元时,表示钱数的数码管disp5,disp4 显示为零,同时用数码管disp0 显示退出的钱数。

4.买东西时,按下商品键,若输入的钱数少于商品的价格,表示钱数的数码管disp5,disp4 显示为零,同时用数码管(disp1、disp0)显示退出的钱数,并用蜂鸣器或发光二极管闪烁表示购买失败。

5.按下商品键时,用数码管disp2 表示当前购买的商品,1 代表商品甲,2 代表商品乙,3 代表商品丙。

6.用btn7 做为退出功能键,退出键可以随时按下,按下后,数码管(disp5,disp4)显示为零,同时数码管(disp1、disp0)显示退出的钱数,表示结束购买,钱款全部退出。

提高要求:允许随时输入钱币,购买时,钱款不足有声光报警并等待追加钱币或选择别的商品。

自拟功能:用点阵显示投入钱币的面值以及交易成功、失败的提示符。

2.系统设计(包括设计思路、总体框图、分块设计)2.1设计思路在设计系统时,我采用了自顶向下(top-down)设计法。

从自动售货机所要完成的功能出发,将整个系统划分成若干子系统:分频器(clkgen)、防抖单元(keyin)、控制器(automat)、译码显示器(decodingdisplay)(用数码管显示)以及点阵显示单元(dot_matrix)。

自动售货机测试用例

自动售货机测试用例

题目:有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。

其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。

若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。

1.分析这一段说明,列出原因和结果原因:1.售货机有零钱找2.投入1元硬币3.投入5角硬币4.押下橙汁按钮5.押下啤酒按钮结果:21.售货机〖零钱找完〗灯亮22.退还1元硬币23.退还5角硬币24.送出橙汁饮料25.送出啤酒饮料2.画出因果图如图所示。

所有原因结点列在左边,所有结果结点列在右边。

建立中间结点,表示处理的中间状态。

中间结点:11. 投入1元硬币且押下饮料按钮12. 押下〖橙汁〗或〖啤酒〗的按钮13. 应当找5角零钱并且售货机有零钱找14. 钱已付清3.转换成判定表:4.设计测试用例1)在售货机有零钱找的情况下,投入1元硬币,押下橙汁按钮,找回5角硬币并送出橙汁饮料。

2)在售货机有零钱找的情况下,投入1元硬币,押下啤酒按钮,找回5角硬币并送出啤酒饮料。

3)在售货机有零钱找的情况下,投入1元硬币,系统不做任何处理。

4)在售货机有零钱找的情况下,投入5角硬币,押下橙汁按钮,送出橙汁饮料。

5)在售货机有零钱找的情况下,投入5角硬币,押下啤酒按钮,送出啤酒饮料。

6)在售货机有零钱找的情况下,投入5角硬币,系统不做任何处理。

7)在售货机有零钱找的情况下,押下橙汁按钮,系统不做任何处理。

8)在售货机有零钱找的情况下,押下啤酒按钮,系统不做任何处理。

9)在售货机没有零钱找的情况下,投入1元硬币,押下橙汁按钮,售货机“零钱找完”灯亮,并退还1元硬币。

10)在售货机没有零钱找的情况下,投入1元硬币,押下啤酒按钮,售货机“零钱找完”灯亮,并退还1元硬币。

11)在售货机没有零钱找的情况下,投入1元硬币,售货机“零钱找完”灯亮。

基本路径测试方法在仿真训练软件测试中的应用

基本路径测试方法在仿真训练软件测试中的应用

基本路径测试方法在仿真训练软件测试中的应用在仿真训练软件中,基本路径测试是一种常见的测试方法。

该方法将软件的各种路径进行系统性的测试,可以有效地发现和修复程序中的错误,从而提高软件的可靠性和稳定性。

本文将详细介绍基本路径测试方法在仿真训练软件测试中的应用。

一、基本路径测试的概念和原理基本路径测试是一种测试方法,它可以对程序的所有可能运行路径进行测试,用来检测程序是否能够按照预期的方式运行。

基本路径测试基于控制流图中的路径结构,将程序的所有路径分解成基本路径,然后针对每个基本路径进行测试。

基本路径是指从程序的起点到终点的一条路径,该路径上每个语句只执行一次,且不包含循环语句。

基本路径测试的原理是基于程序的控制流图进行分析。

控制流图是一种图形化表示程序控制流程的方法,其中每个节点表示程序中的一个语句,每个边表示两个语句之间的控制关系。

基本路径测试的目标是发现程序中所有可能的执行路径,并对每个路径进行测试,以确保程序的正确性和鲁棒性。

二、基本路径测试的步骤基本路径测试包括以下四个步骤:1. 绘制程序的控制流图。

控制流图是基本路径测试的前提,它是一种图形化的表示程序控制流程的方法。

通过绘制控制流图,可以清晰地了解程序中各个语句的控制关系,便于识别程序中的可能错误。

2. 确定程序的基本路径。

通过分析控制流图,识别程序中所有可能的执行路径,并将其分解成基本路径。

每个基本路径上必须至少包含一个节点,每个节点至少包含一条进入边和一条出边。

3. 设计测试用例。

对每个基本路径设计测试用例,以覆盖基本路径上的所有语句和分支,并验证程序的正确性和鲁棒性。

4. 执行测试用例。

按照设计的测试用例对程序进行测试,记录测试结果和发现的错误,及时对错误进行修复。

三、基本路径测试的优点和缺点基本路径测试具有以下优点:1. 能够覆盖程序中的所有可能运行路径,发现所有潜在的错误。

通过对每个基本路径进行测试,可以确保程序的正确性和鲁棒性。

北邮数电实验下 简易自动售货机 实验报告

北邮数电实验下 简易自动售货机 实验报告

2013~2014第一学期数字电路与逻辑设计实验报告一.设计课题及任务要求1.设计课题:简易自动售货机2.任务要求:设计一个简易的自动售货机,能够完成钱数处理、找零、显示、退币等功能。

基本要求:·用2 个数码管(disp5,disp4)显示钱数,以元为单位。

用3 个按键(btn0,btn1,btn2)分别表示一元、五元、十元,每按一次按键,增加一次相应的钱数,上限99元。

·再用3 个按键(btn3,btn4,btn5)分别对应3 种商品,其中,商品甲售价3 元、商品乙售价8 元、商品丙售价12 元;·买东西时,先输入钱币,再按对应的商品键。

每按一次商品键,钱数要相应地减少, 同时蜂鸣器提示购买成功。

剩余钱数大于3 元可继续按商品键再次购买;当剩余钱数少于3 元时,表示钱数的数码管disp5,disp4 显示为零, 同时用数码管disp0 显示退出的钱数。

·买东西时,按下商品键,若输入的钱数少于商品的价格,表示钱数的数码管disp5, disp4 显示为零,同时用数码管(disp1、disp0)显示退出的钱数,并用蜂鸣器表示购买失败。

·按下商品键时,用数码管disp2 表示当前购买的商品,1 代表商品甲,2 代表商品乙,3 代表商品丙。


·用btn7 做为退出功能键,退出键可以随时按下,按下后,数码管(disp5,disp4)显示为零,同时数码管(disp1、disp0)显示退出的钱数,表示结束购买,钱款全部退出。

提高要求:·用点阵设计显示投币动画、出货动画,购买成功/失败动画;·允许随时输入钱币,购买时,钱款不足有声光报警并等待追加钱币或选择别的商品;二.系统设计1.设计思路根据程序实现的功能,可将其分为分频、防抖、逻辑运算、数码管显示、点阵图形显示五大模块。

将其串联起来即可完成整体功能。

其中,分频模块将芯片50M的时钟信号分为各模块所需的不同频率的时钟。

软件测试实验自动售货机测试,自动售货机测试用例(因果图)讲解学习.doc

软件测试实验自动售货机测试,自动售货机测试用例(因果图)讲解学习.doc

软件测试实验⾃动售货机测试,⾃动售货机测试⽤例(因果图)讲解学习.doc题⽬:有⼀个处理单价为5⾓钱的饮料的⾃动售货机软件测试⽤例的设计。

其规格说明如下:若投⼊5⾓钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。

若售货机没有零钱找,则⼀个显⽰〖零钱找完〗的红灯亮,这时在投⼊1元硬币并押下按钮后,饮料不送出来⽽且1元硬币也退出来;若有零钱找,则显⽰〖零钱找完〗的红灯灭,在送出饮料的同时退还5⾓硬币。

1.分析这⼀段说明,列出原因和结果原因:1.售货机有零钱找2.投⼊1元硬币3.投⼊5⾓硬币4.押下橙汁按钮5.押下啤酒按钮结果:21.售货机〖零钱找完〗灯亮22.退还1元硬币23.退还5⾓硬币24.送出橙汁饮料25.送出啤酒饮料2.画出因果图如图所⽰。

所有原因结点列在左边,所有结果结点列在右边。

建⽴中间结点,表⽰处理的中间状态。

中间结点:11. 投⼊1元硬币且押下饮料按钮12. 押下〖橙汁〗或〖啤酒〗的按钮13. 应当找5⾓零钱并且售货机有零钱找14. 钱已付清3.转换成判定表:4.设计测试⽤例在售货机有零钱找的情况下,投⼊1元硬币,押下橙汁按钮,找回5⾓硬币并送出橙汁饮料。

在售货机有零钱找的情况下,投⼊1元硬币,押下啤酒按钮,找回5⾓硬币并送出啤酒饮料。

在售货机有零钱找的情况下,投⼊1元硬币,系统不做任何处理。

在售货机有零钱找的情况下,投⼊5⾓硬币,押下橙汁按钮,送出橙汁饮料。

在售货机有零钱找的情况下,投⼊5⾓硬币,押下啤酒按钮,送出啤酒饮料。

在售货机有零钱找的情况下,投⼊5⾓硬币,系统不做任何处理。

在售货机有零钱找的情况下,押下橙汁按钮,系统不做任何处理。

在售货机有零钱找的情况下,押下啤酒按钮,系统不做任何处理。

在售货机没有零钱找的情况下,投⼊1元硬币,押下橙汁按钮,售货机“零钱找完”灯亮,并退还1元硬币。

在售货机没有零钱找的情况下,投⼊1元硬币,押下啤酒按钮,售货机“零钱找完”灯亮,并退还1元硬币。

软件测试题库

软件测试题库

一、判断题1. 软件需求是度量软件质量的基础。

不符合需求的软件就不具备质量。

(√)2. 全面质量管理的定义是:一个组织以质量为中心,以全员参与为基础,目的在于通过让顾客满意和本组织所有成员及社会受益而达到长期成功的管理途径。

( √ )3. 发现错误是软件测试的唯一目的。

( ╳ )4. 白盒测试可以找出软件遗漏功能和代码错误问题。

( ╳ )5.软件的质量有测试组决定。

( ╳ )6.在设计测试用例时,应包括合理的输入条件和不合理的输入条件。

( √ )7. 测试从不可知内部条件开始,结果是不可预见的。

( ╳ )8. 软件缺陷一定是由编码所引起的。

( ╳ )9. 软件测试等于程序测试。

( ╳ )10. Beta测试是软件的多个用户在实际使用环境下进行的测试。

(√ )11. 经验表明,测试后程序残存的错误数目与该程序中以发现的错误数目或检错率成正比。

( √)12.验收测试比较适合采用软件自动化测试工具进行测试。

(╳)13. 软件测试是有风险的行为,并非所有的软件缺陷都能够被修复。

(∨)14. 软件质量保证和软件测试是同一层次的概念。

(x )15. 我们有理由相信只要能够设计出尽可能好的测试方案,经过严格测试之后的软件可以没有缺陷。

( x )16. 程序员兼任测试员可以提高工作效率。

( x )17. 在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。

(∨)18. 传统测试是在开发的后期才介入,现在测试活动已经扩展到了整个生命周期。

(∨)19. 传统测试以发现错误为目的,现在测试已经扩展到了错误预防的范畴。

∨20. 软件测试的生命周期包括测试计划、测试设计、测试执行、缺陷跟踪、测试评估。

(∨)21. 调试从一个已知的条件开始,使用预先定义的过程,有预知的结果;测试从一个未知的条件开始,结束的过程不可预计。

( x )22. 白盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞。

( x )23. 在边界值方法中,对于一个有n个变量的函数作最坏情况测试,生成的测试用例个数是7n个。

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

实验报告
实验序号:04 实验项目名称:使用基本路径测试法求解“自动售货机”问题
步骤:
1、解压eclemma软件包,并放到eclipse安装目录的dropins文件夹下:
2、重新启动eclipse软件,菜单栏会出现新的图标:
3、查看Windows的Customize perspective项中的Command Groups Availabiity 多了Coverage项:
4、编写待测试类SaleMachine.jav a文件和测试Junit Test Case文件SaleMachineTest.jav a:
5、先点击运行看看,覆盖了33.1%:
6、分析:红色代表未执行、黄色代表条件没有全部执行、绿色代表执行过了:
7、继续修改测试代码,直到覆盖率达到100%:
共编写了12个测试用例,使待测试代码100%被覆盖,运行如图:
四、实验结果与数据处理
a、最终待测试代码如下:
public class SaleMachine {
private int countOfBeer, countOfOrangeJuice, countOfFiveCents, countOfOneDollar;
private String[] typeOfGoods = {"Beer", "OrangeJuice"};
private String resultOfDeal;
public SaleMachine()
{
initial();
}
public void initial()
{
countOfBeer = 6;
countOfOrangeJuice = 6;
countOfFiveCents = 6;
countOfOneDollar = 6;
}
public SaleMachine(int fiveCents, int oneDollar, int numOfBeer, int。

相关文档
最新文档