基本路径测试法习题
- 格式:doc
- 大小:25.00 KB
- 文档页数:1
1、判定覆盖设计足够多的测试用例,使得被测试程序中的每个判断的“真”、“假”分支_至少被执行一次。
2、黑盒测试的具体技术方法 ____________、 __________、 __________、____________。
等价类划分法,边界值分析法,决策表法,因果图法3、黑盒测试又称之为___________测试。
功能4、等价类划分有两种不同的情况:____________和____________。
有效等价类,无效等价类5、根据覆盖目标的不同,逻辑覆盖又可分为:________________,_____________,_______________,__________________,条件组合覆盖,判断/条件覆盖。
语句覆盖,判定覆盖,条件覆盖,路径覆盖6、根据软件生命周期中的定义,可以把自动化测试工具划分3大类____________,____________和____________。
白盒测试工具、黑盒测试工具、测试管理工具7、软件测试是为发现程序中的______________而执行程序的______________。
错误,过程8、测试用例是由______________和预期的______________两部分组成。
测试输入数据,输出数据9、白盒测试又称为______________,可以分为______________和______________两大类。
结构测试,静态测试,动态测试10、软件是包括____________﹑____________﹑____________的完整集合。
程序,数据,相关文档11、边界值分析法属于____________。
黑盒测试12、单元测试是以____________说明书为指导,测试源程序代码。
详细设计13、集成测试以____________说明书指导,测试软件结构。
概要设计14、确认测试以____________说明书为指导。
需求分析15、软件开发的基本过程____________,_____________,_______________,_____________,_____________,______________。
2005 年1. 在系统验收测试中, __(23)A_ _是在一个模拟的环境下使用模拟数据运行系统;__(24)A是在一个实际环境中使用真实数据运行系统。
B. 审计测试C.确认测试D.模块测试 B.审计测试 C.确认测试 D.模块测试B 为了申报某科技奖项,希望机构 A 能先出具一份证实其软件质量优秀的测试报告,并且口头承诺测试会继续进行,并且测试过程中发现的问题 都会得到改正。
如果你是机构A 的负责人,对于评测师甲的请求,你将_(38)_A ___。
对于公司B 提出的要求,机构 A 的评测师甲、乙分别给出了如下的建议:甲认为可以出质量优秀报告,但是需要公司B 出具改正所有测试问题的书面承诺书和自己QA 部门认可;乙认为由于测试还没有结束,很多问题海没有得到改正,因此不能出质量优秀的 报告,但可以根据已经测试过的模块的情况,出具一个质量基本合格的报告。
对于以上 建议你认为 __(39)_D ___ 。
测试结束后,评测师乙提出要保留公司 B 的被测试软件的样品,对于评测师乙的要求你认为 _______ (40)_D ___ 。
(38) A.不批准甲的请求B. 批准甲的请求,但是要求甲不能透露公司C. 不批准甲的请求,但是建议甲可以到公司D. 批准甲的请求,并要求甲尽快提高自己在 献(39) A.应该听从甲的建议C. 应该综合甲乙的建议(40) A.不合理,这样侵犯了 B 的知识产权C. 不合理,仅保留文档就行了3. 关于软件测试对软件质量的意义,有以下观点:①度量与评估软件的质量;②保证软件质量;③改进软件开发过程;④发现软件错误。
其中正确的是__(41)_C__。
(41) A.①、②、③ B .①、②、④C.①、③、④D.①、②、③、④4. 某软件公司在招聘软件评测师时,应聘者甲向公司做如下保证:① 经过自己测试的软件今后不会再出现问题;② 在工作中对所有程序员一视同仁,不会因为在某个程序员编写的程序中发现的问 题多,就重点审查该程序,以免不利于团结;③ 承诺不需要其他人员,自己就可以独立进行测试工作;④ 发扬咬定青山不放松的精神, 不把所有问题都找出来, 决不罢休; 你认为应聘者 甲的保证__(43)D __。
一、选择题。
1.软件测试的目的是()。
A)表明软件的正确性B) 评价软件质量C) 尽可能发现软件中的错误D) 判定软件是否合格2、导致软件缺陷的最大原因是:()A.软件需求说明书B.设计方案C.编码D.维护3.关于白盒测试与黑盒测试的最主要区别,正确的是()。
A) 白盒测试侧重于程序结构,黑盒测试侧重于功能B) 白盒测试可以使用测试工具,黑盒测试不能使用工具C) 白盒测试需要程序参与,黑盒测试不需要D) 黑盒测试比白盒测试应用更广泛4、()是一种关注变量定义赋值点(语句)和引用或使用这些值的点(语句)的结构性测试,主要用作路径测试的真实性检查。
A、基本路径测试B、逻辑覆盖C、决策表D、数据流测试5.软件测试类型按开发阶段划分( ) 。
A)需要测试﹑单元测试﹑集成测试B)单元测试﹑集成测试﹑确认测试﹑系统测试﹑验收测试C)单元测试﹑集成测试﹑确认测试D)调试﹑单元测试﹑功能测试6.测试的关键问题是()。
A)如何组织软件评审B)如何选择测试用例C)如何验证程序的正确性D)如何采用综合策略7.下列几种逻辑覆盖标准中,查错能力最强的是()。
A)语句覆盖B)判定覆盖C)条件覆盖D)条件组合覆盖8.软件测试用例主要由输入数据和()两部分组成。
A)测试计划B)测试规则C)预期输出结果D)以往测试记录分析9. 单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是()。
A) 系统功能B) 局部数据结构C) 重要的执行路径D) 错误处理10. 增量式集成测试有3种方式:自顶向下增量测试方法,()和混合增量测试方式。
A)自中向下增量测试方法B)自底向上增量测试方法C)多次性测试D)维护11.不属于白盒测试的技术是( )A) 路径覆盖B) 判定覆盖C)边界值分析D) 条件覆盖12.下列模型哪个是软件测试过程模型( )A) W模型B) 漠布模型C) L模型D) G模型13.下面( ) 方法能够有效地检测输入条件的各种组合可能引起的错误。
实验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"));}}。
习题解答第三章黑盒测试及其用例1、NextDate函数(P28)请使用等价类划分法为NextDate函数列出输入域等价类表,并设计相应的测试用例。
解答:NextDate函数包含三个变量month、day和year,函数的输出为输入日期后一天的日期。
要求输入变量month、day和year均为整数值,并且满足下列条件:条件1 1≤month ≤12条件2 1≤day ≤31条件3 1912≤year ≤2050分析程序规格说明中给出和隐含的对输入条件的要求。
列出等价类表*年份:闰年、非闰年(1912≤year ≤2050)*月份:1-12月*天数:1、3、5、7、8、10、12(31天),4、6、9、11(30天),2(28或29)等价类表2、找零钱最佳组合(P47)假设商店货品价格(R) 都不大于100元(且为整数),若顾客付款(P)在100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。
假定此商店的货币面值只包括:50元(N50)、10元(N10)、5元(N5)、1元(N1) 四种。
请结合等价类划分法和边界值分析法为上述程序设计出相应的测试用例。
解答:根据等价类划分法和边界值分析法的基本定义,得到下列基本认识:Step1.输入:商品价格R和顾客付款P有以下情况:R > 100 0 < R < = 100 R <= 0 P > 100 R<= P <= 100 P < RStep2.输出:N50 = 1 N50 = 0 4 > N10 >= 1 N10 = 0 N5 = 1 N5 = 0 4 > N1 >= 1 N1 = 0 Step3.分析规格中每一决策点之情形,以RR1, RR2, RR3 表示计算要找50, 10, 5 元货币数时之剩余金额。
R > 100R <= 0 P > 100 P < R RR1 >= 50 RR2 >= 10 RR3 >= 5Step4. 由上述之输入/ 输出条件组合出可能的情形。