软件质量保证与测试慕课版课后答案.pdf
- 文档编号:30810550
- 上传时间:2024-01-30
- 格式:PDF
- 页数:34
- 大小:1.24MB
软件质量保证与测试慕课版课后答案.pdf
《软件质量保证与测试慕课版课后答案.pdf》由会员分享,可在线阅读,更多相关《软件质量保证与测试慕课版课后答案.pdf(34页珍藏版)》请在冰豆网上搜索。
第一章第一章一、选择题一、选择题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.QA与testing属于一个层次的概念D.成功的测试是发现了错误的测试8.下列()不属于软件缺陷。
A.测试人员主观认为不合理的地方B.软件未达到产品说明书标明的功能C.软件出现了产品说明书指明不会出现的错误D.软件功能超出产品说明书指明范围9.产品发布后修复软件缺陷比项目开发早期这样做的费用要高()A.12倍B.10-20倍C.50倍D.100倍或更高10.软件测试的目的是()A.发现程序中的所有错误B.尽可能多地发现程序中的错误C.证明程序是正确的D.调试程序11.经验表明,在程序测试中,某模块与其他模块相比,若该模块已发现并改正的错误较多,则该模块中残存的错误数目与其他模块相比,通常应该()A.较少B.较多C.相似D.不确定12.导致软件缺陷的最大原因是()A.需求分析B.设计C.编码D.测试13.下列中不属于测试原则的是()A.软件测试是有风险的行为B.完全测试程序是不可能的8.测试无法显示潜伏的软件缺陷D.找到的缺陷越多软件的缺陷就越少14.一个成功的测试是()A.发现错误码B.发现了至今尚未发现的错误C.没有发现错误码D.证明发现不了错误15.权衡多个因素,较实用的软件测试停止标准是()A.测试超过了预定时间,则停止测试。
B.根据查出的缺陷总数量决定是否停止测试。
C.测试成本超过了预期计划,则停止测试。
D.分析发现的缺陷数量和测试投入成本曲线图,确定应继续测试还是停止测试。
16.第一类测试方法与第二类测试方法的本质区别体现在()A.执行测试的人员不同B.执行测试的时间不同C.执行测试的目的不同D.执行测试的效果不同17.下列不属于软件缺陷的是()A.银行POS机在用户取款时翻倍吐钱,取100吐200B.计算机病毒发作,屏幕出现熊猫烧香画面C.网上售票软件反应迟钝,用户难以正常买票D.某软件在进行修改升级之后,原来正常的功能现在出错了二、填空题二、填空题1.软件测试是使用人工或自动的手段来_运行_或_测定_某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
2.软件质量成本包括所有由质量工作或者进行与质量有关的活动所导致的成本,包括_预防成本_、评价成本、失效成本。
3.软件缺陷产生的原因包括_软件自身的特点、_团队合作、_技术和实现问题_以及_管理问题_等4.软件缺陷就是存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差。
它的存在会导致软件产品在某种程度上不能满足用户的需要。
三、判断题三、判断题1、没有可运行的程序,就无法进行任何测试工作。
2、软件测试针对的是初级程序员编写的程序,资深程序员编写的程序无需测试。
3、测试是为了验证软件已正确地实现了用户的要求。
4、测试一个程序,只需按程序的预期工作方式运行它就行了。
5、好的测试员坚持不懈追求完美。
6、软件测试工具可以代替软件测试员。
7、在软件开发过程中,若能推迟暴露其中的错误,则为修复和改进错误所花费的代价就会降低。
8、程序员与测试工作无关。
9、我是个很棒的程序员,我无需进行单元测试。
10、软件缺陷是导致软件失效的必要,而非充分要求。
11、在软件产品计划阶段,不必进行SQA活动。
四、解答题四、解答题1、什么是软件测试、软件质量保证?
分析它们之间的关系如何。
软件测试:
使用人工或自动手段来运行或测定某个软件系统过程,检验它是否满足规定的需求或弄清预期结果与实际结果之间差别。
软件质量保证:
SQA是为保证软件产品和服务充分满足用户要求的质量而进行的有计划、有组织的活动。
关系:
软件测试是事后检查,SQA是贯穿于整个过程。
SQA侧重于过程的管理和控制,是一项管理工作。
软件测试是过程管理和控制策略的具体执行。
是一项技术型工作。
有了SQA,测试工作就可以被客观的检查评价。
软件测试为SQA提供数据和依据。
测试通常被认为是质量控制的主要手段。
2.试分析应如何降低软件质量成本。
软件质量成本包括:
预防成本,评估成本,失败成本。
预防成本、评价成本的合理变化区间范围较小,而失败成本的变化范围非常大,小到可以忽略不计,大到无法承受。
如果不投入必要的预防成本、评价成本,那么软件之力将没有保障,可能问题很多,投入实际使用后可能产生软件失败,导致严重后果和重大损失。
所以软件生产应当投入合理的预防成本和评价成本,提高软件质量,防止软件失败,降低失败成本,从而降低总的软件质量成本。
3、什么是PIE模型?
试分析PIE模型对软件测试设计有何指导意义。
PIE是Propagation、Infection、Execution三个英文字母首字母的缩写。
程序中的缺陷,如果要通过动态测试来观察到,需要三个必要的条件:
(1)程序执行路径必须通过错误的代码(Execution-执行);
(2)在执行错误代码的时候必须符合某个或者某些特定条件,从而触发出错误的中间状态(Infection-感染);(3)错误的中间状态必须传播到最后输出,使得观测到输出结果与预期结果不一致(Propagation-传播)这就是PIE模型。
对某个软件进行软件测试时,如果包含缺陷Fault的代码可能没有被执行到;或者测试执行到了包含缺陷Fault的代码,但由于不满足待定的输入条件,没有产生错误的中间状态error;或者产生了错误的中间状态,但没有传播到最后输出,从外部没有发现问题,以上情况都会导致测试工作不充分,发现不了软件中存在的缺陷。
PIE模型对软件测试设计的指导意义在于:
通过执行软件,能够发现的问题只有PIE模型中外部层面的软件失败Failure,也就是表现出来的问题。
程序中处于内部静态层次的缺陷Fault,和内部中间状态层次的错误Error,是难以通过执行软件来直接检测出来的。
测试设计要做的重要工作之一,就是如何恰当的设计测试数据,使得可能存在的软件缺陷Fault,通过程序执行都尽可能的产生失败Failure并被外部观察到。
4.试分析软件缺陷产生的原因。
软件自身特点,软件需求不明确,软件结构复杂,精确时间同步不准确,运行环境复杂。
项目管理,开发人员与用户,或开发人员间沟通不够,开发人员理解不同,技术人员水平参差不齐。
团队合作,系统结构设计不合理,没有备份,程序逻辑路径或数据范围不够,算法,语法,计算错误。
技术问题,缺乏质量意识,流程不够完善,软件文档不完善,开发过程不按照规定。
5.试分析为什么要对软件进行质量保证与测试。
及早发现问题,解决问题,降低返工和修复缺陷的版本。
防止事故发生,降低失败成本。
保证软件产品达到一定的质量标准对软件质量进行客观的评价。
提高软件产品质量,满足用户需求。
6.计算机病毒是否是软件缺陷?
为什么?
不属于,软件缺陷是指软件中存在的偏差,且病毒则来自外部。
7.第一类测试方法与第二类测试方法各自的优缺点是什么?
以正向思维方式,针对软件系统的所有功能点,逐个验证其正确性,被称为第一类软件测试方法。
以逆向思维方式,去发现软件中可能存在的各种问题,验证软件是“不工作的”,被称为第二类软件测试方法。
第一类测试方法测试要求就是软件的规格说明,简单明确,易于实施,但不利于发现软件中的问题。
第二类测试方法需要测试各种可能的情况,包括特殊情况、异常状况等,测试要求更多,但有利于发现软件中可能存在的问题。
8.针对以下代码,分析代码中存在的问题和缺陷。
publicclassgetScoreAveragepublicfloatgetAverage(intscores)if(scores=null|scores.length=0)thrownewNullPointerException();floatsum=0.0F;intj=scores.length;for(inti=l;i=y)max=x;elsemax=y;if(z=x)max=z;returnmax;
(1)试分析该程序段有何逻辑错误。
程序的逻辑错误在于,z只与x进行了比较,而没有与y进行比较。
当z与x进行比较,且zx时,程序就会让max=z,但此时如果zy,就出错了。
(2)设计1个测试数据,使执行该测试时会执行到缺陷代码但不会触发错误。
x=9,y=8,z=7(zx即可)(3)设计1个测试数据,使执行该测试时会执行到缺陷代码并触发错误,但不会引起失败。
x=9,y=8,z=10(z最大即可)(4)设计1个测试数据,使执行该测试时会执行到缺陷代码,触发错误,并引起失败。
x=9,y=11,z=10(xx即可)第二章第二章一、选择题一、选择题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.可以发现软件功能上的问题二、填空题二、填空题1、动态测试的两个基本要素是_被测试程序_、_测试用例。
2、软件测试的W模型由两个V字组成,分别代表_开发_与_测试_过程。
3、按照是否需要知道被测试程序的内部结构,测试方法可以分为:
黑盒测试和白盒测试。
三、判断题三、判断题1、黑盒测试的测试用例是根据程序内部逻辑设计的。
()2、软件测试是有效的发现软件缺陷的手段。
()3、集成测试计划在需求分析阶段末提交。
()四、解答题四、解答题1、试对比分析软件测试的V模型和W模型。
2、试分析黑盒测试、白盒测试、静态测试、动态测试之间的关系。
黑盒测试都是动态测试。
白盒测试有动态测试也有静态测试。
动态测试既可能是黑盒测试,也可能是白盒测试。
静态测试只能是白盒测试。
3、试对比分析黑盒测试、白盒测试各自的优缺点。
优点缺点黑盒测试不需要源代码较为简单易行没有代码覆盖的针对性发现缺陷迟白盒测试发现缺陷早降低返工成本覆盖关键代码发现缺陷概率高非常耗费时间需要知识和经验积累技术能力要求高准备工作多4、你认为应如何对一个软件实施测试,试结合你所参与过的软件项目,阐述软件测试工作的一般过程。
(1)分析明确测试需求
(2)制定测试计划(3)进行测试设计(4)测试开发(5)测试执行和记录(6)测试总结和评价5、试分析动态白盒测试与黑盒测试的区别。
两者测试用例设计的依据是不同的。
动态白盒测试的测试用例设计依据是程序的内部逻辑结构。
而黑盒测试的测试用例设计依据是程序的规格说明书。
第三章第三章一、选择题一、选择题1凭经验或直觉推测可能的错误,列出程序中可能有的错误和容易发生错误的特殊情况,选择测试用例的测试方法叫()A等价类划分B边界值分析C错误推测法D逻辑覆盖测试2黑盒测试技术中不包括()。
A等价类划分B边界值分析C错误推测法D逻辑覆盖3黑盒测试技术,使用最广的用例设计技术是()A等价类划分B边界值分析C错误推测法D逻辑覆盖4在某大学学籍管理信息系统中,假设学生年龄的输入范围为16-40,则根据黑盒测试中的等价类划分技术,下面划分正确的是()。
A可划分为2个有效等价类,2个无效等价类B可划分为1个有效等价类,2个无效等价类C可划分为2个有效等价类,1个无效等价类D可划分为1个有效等价类,1个无效等价类5有一组测试用例使得被测程序的每一个分支至少被执行一次,它满足的覆盖标准是()。
A语句覆盖B判定覆盖C条件覆盖D路径覆盖6在确定黑盒测试策略时,优先选用的方法是()A边界值分析法B等价类划分C错误推断法D决策表方法7()方法根据输出对输入的依赖关系设计测试用例。
路径测试等价类因果图归纳测试8对于参数配置类的软件,要用()选择较少的组合方式达到最佳效果。
A等价类划分B因果图法C正交试验法D场景法9对于业务流清晰的系统可以利用()贯穿整个测试用例设计过程并在用例中综合使用各种测试方法。
A等价类划分B因果图法C正交试验法D场景法10下列不属于黑盒测试方法的是()。
A等价类划分B因果图C边界值分析D变异测试11用边界值分析法,假定1X1)or(B0)&(N=0)FUCTION1;If(M=10)|(P10)FUCTION2;A、路径覆盖B、条件组合覆盖C、判定覆盖D、语句覆盖15对下面的计算个人所得税程序中,满足判定覆盖的测试用例是()。
if(income800)taxrate=0;elseif(income=1500)taxrate=0.05;elseif(income4)&(B28)x=A+B;returnx;2、为以下程序段设计测试用例集,要求分别满足语句覆盖、判定覆盖、条件覆盖、修正条件/判定覆盖。
publicintdo_work(intx,inty,intz)intk=0,intj=0;if(x20)&(z20)j=x*y+10;j=j%3;System.out.println(“k,jis:
”+k+”.”+j)3、请为以下程序段设计测试用例集,要求满足条件组合覆盖publicclassTriangleprotectedlonglborderA=0;protectedlonglborderB=0;protectedlonglborderC=0;/ConstructorpublicTriangle(longlborderA,longlborderB,longlborderC)this.lborderA=lborderA;this.lborderB=lborderB;this.lborderC=lborderC;publicbooleanisTriangle(Triangletriangle)booleanisTriangle=false;/checkboundaryif(triangle.lborderA0&triangle.lborderB0&triangle.lborderC0)/checkifsubtractionoftwoborderlargerthanthethirdif(triangle.lborderA-triangle.lborderB)triangle.lborderC&(triangle.lborderB-triangle.lborderC)triangle.lborderA&(triangle.lborderC-triangle.lborderA)0)56if(flag=true)78ret=num-10;9break;1011else1213if(num%2=0)1415ret=ret*10;1617else1819ret=ret+1;202122cycle-;2324returnret;25
(1)画出程序控制流图计算控制流图环路复杂度V(G)=4(图中有四个区域)
(2)导出基本路径A.3-4-24B.3-4-6-8-24C.3-4-6-13-15-22-4-24D.3-4-6-13-19-22-4-24(3)设计基本路径覆盖测试用例测试用例覆盖基本路径(10,0,true)A(100,10,true)B(10,1,false)C(5,1,false)D5、请对以下程序进行插桩,显示循环执行的次数publicclassGCDpublicintgetGCD(intx,inty)if(x100)System.out.println(参数不正确!
);return-1;if(y100)System.out.println(参数不正确!
);return-1;intmax,min,result=1;if(x=y)max=x;min=y;elsemax=y;min=x;for(intn=1;nresult)result=n;System.out.println(最大公约数为:
+result);returnresult;答案:
intcycle_time=0;/插桩for(intn=1;nresult)result=n;System.out.println(“最大公约数为:
”+result);System.out.println(“循环执行次数为:
”+cycle_time);/插桩returnresult;6、请对以下代码段进行变异,变异规则为将“+”替换为“”,然后设计测试数据,能够测试发现所有的变异点。
publicclasszhengchupublicStringiszhengchu(intn)if(n500)returnerror;intflag=0;Stringnote=;if(n%3=0)flag+;note=note+3;if(n%5=0)flag+;note+=5;if(n%7=0)flag+;note+=7;return能被+flag+个数整除,+note;变异代码:
publicclasszhengchupublicStringiszhengchu(intn)if(n500)returnerror;intflag=0;Stringnote=;if(n%3=0)flag-;note=note+3;if(n%5=0)flag-;note+=5;if(n%7=0)flag-;note+=7;return能被+flag+个数整除,+note;7、试比较调试跟测试的不同第五章第五章一、选择题一、选择题1软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?
()A集成测试B单元测试C系统测试D验收测试2增量式集成测试有3种方式:
自顶向下增量测试方法,()和混合增量测试方式。
A自下向顶增量测试方法B自底向上增量测试方法C自顶向上增量测试方法D自下向顶增量测试方法3在软件测试步骤按次序可以划分为以下几步:
()。
A、单元测试、集成测试、系统测试、验收测试B、验收测试、单元测试、系统测试、集成测试C、单元测试、集成测试、验收测试、系统测试D、系统测试、单元测试、集成测试、验收测试4软件验收测试合格通过的标准不包括()A软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
B至少有一项软件功能超出软件需求分析说明书中的定义,属于软件特色功能。
C立项审批表、需求分析文档、设计文档和编码实现一致。
D所有在软件测试中被发现的严重软件缺陷均已被修复。
5下列关于alpha测试的描述中正确的是:
()Aalpha测试一定要真实的最终软件用户参加Balpha测试是集成测试的一种Calpha测试是系统测试的一种Dalpha测试是验收测试的一种6编码阶段产生的错误主要由()检查出来的。
、单元测试、集成测试、系统测试、有效性测试7单元测试一般以()为主。
、白盒测试、黑盒测试、系统测试、分析测试8单元测试的测试用例主要根据()的结果来设计。
A、需求分析B、源程序C、概要设计D、详细设计9集成测试的测试用例是根据()的结果来设计。
A、需求分析B、源程序C、概要设计D、详细设计10集成测试对系统内部的交互以及集成后系统功能检验了何种质量特性()A、正确性B、可靠性C、安全性D、可维护性11()的目的是对即将交付使用的软件系统进行全面的测试,确保最终软件产品满足用户需求。
、系统测试、集成测试、单元测试、验收测试12单元测试中用来模拟被测模块调用者的模块是()A、父模块B、子模块C、驱动模块D、桩模块13在自底向上测试中,要编写()。
A、测试存根B、驱动模块C、桩模块D、底层模块。
14以下哪种软件测试属于软件性能测试的范畴()。
A、接口测试B、压力测试C、单元测试D、正确性测试15下列关于测试的描述中,正确的是()A测试采用白盒测试技术;B测试不需要从用户角度考虑问题;C测试是系统测试的一种;D测试是验收测试的一种;16下列软件属性中,软件产品首要满足的应该是()A、功能需求B、性能需求C、可扩展性和灵活性D、容错纠错能力17按照测试组织划分,软件测试可分为:
开发方测试,第三方测试,()。
集成测试单元测试用户测试灰盒测试18软件可靠性是指在指定的条件下使用时,软件产品维持规定的性能级别的能力,其子特性()是指在软件发生故障或者违反指定接口的情况下,软件产品维持规定的性能级别的能力。
A、成熟性B、易恢复性C、容错性D、稳定性19下面哪项对验收测试的描述不正确?
()A、与系统测试不同的是以客户业务需求为标准来进行测试B、测试人员多由客户方担任,也可以客户委托第三方来进行验收测试C、由资深的开发和测试人员来进行测试D、不仅仅要验收程序,还要验收相关的文档20对于软件的测试,下列哪些描述是正确的?
()A.测试就是在软件公司内部展开的测试,由公司专业的测试人员执行的测试。
B.测试就是在软件公司内部展开的测试,由公司的非专业测试人员执行的测试。
C.测试就是在软件公司外部展开的测试,由非专业的测试人员执行的测试。
D.测试就是在软件公司外部展开的测试,由专业的测试人员执行的测试。
21在程序测试中,用于检查程序模块或子程序之间的调用是否正确的静态分析方法是()A、操作性分析B、可靠性分析C、引用分析D、接口分析22用于考察当前软硬件环境下软件系统所能承受的最大负荷并帮助找出系统瓶颈所在的是()。
A、压力测试B、容量测试C、负载测试D、疲劳测试二、填空题二、填空题1、集成测试以_概要设计_说明书为指导,验收测试以_软件需求_说明书为指导。
2、软件验收测试可分为2类:
_+测试_、_正式验收测试_。
3、_回归测试_指软件系统被修改或扩充后重新进行的测试。
4、测试_是在软件开发公司内模拟软件系统的运行环境下的一种验收测试。
5、_系统测试_的依据是软件规格说明书。
三、判断题三、判断题1、单元测试通常由开发人员进行。
()2、测试应从大规模开始,逐步转向小规模。
()3、负载测试是验证要检验的系统的能力最高能达到什么程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 质量保证 测试 慕课版 课后 答案