慕课版软件质量保证与测试(第一章.课后作业)一、选题二、填空题三、判断题四、答题
一.选题
1. 缺陷产生的原因包括()
a .沟通不充分、沟通不畅的软件要求变更; 软件开发工具的缺陷
b .软件复杂性软件项目的时间压力
c .缺少程序开发人员错误软件项目文档
d .上述均为
正确答案: d
2. 下面有关软件缺陷的说法中错误的是()
a .缺陷是指软件产品开发中存在的错误
B .缺陷是指软件维护中存在的错误、故障等各种问题
c .缺陷是使系统程序崩溃的错误
d .缺陷是指系统所需的某种功能的无效化和违反
正确答案: c
3.以下选项不属于软件缺陷的是()
a .软件没有实现产品规格说明所要求的功能
b .软件中不能出现在产品规格说明中的功能
c .软件实现了产品规格中未记载的功能
d .软件满足了用户的需求,但测试人员认为用户的需求不合常理
正确答案: d
4.下面有关测试原则的说法正确的是()
a .测试用例应由测试的输入数据和预期的输出结果组成
b .测试用例只需选择合理的输入数据
c .软件最好由开发该软件的程序员自己测试
d .使用测试用例进行测试是为了检查程序是否做了应该做的事情
正确答案: a
5. 在软件生命周期的哪一 个阶段,软件缺陷修复费用最低()
a .需求分析(制作产品说明书) b .设计
c .代码d .产品发行版
正确答案: a
6. 为了提高测试的效率,应该()
a .随机选择测试数据
b .将所有可能的输入数据作为测试数据
c .编码完成后制定软件测试计划
d .选择很可能发现错误的数据作为测试数据
正确答案: d
7. 下列说法不正确的是()
a .测试不能证明软件的正确性
b .测试人员需要良好的沟通技巧
C. QA和testing是同一水平的概念
d .成功的测试是发现了错误的测试
正确答案: d
8. 下列()不属于软件缺陷。
a .测试人员主观上认为不合理的地方
b .软件未达到产品说明书中描述的功能
c .软件发生了产品说明书中未记载的错误
d .软件功能超出产品说明书指定范围
正确答案: a
9.产品发布后修复软件缺陷比项目开发早期这样做的费用要高()
A. 1~2倍B.10-20倍C. 50倍D. 100倍以上
正确答案: d
10. 软件测试的目的是()
a .发现程序中的所有错误
b .尽可能多地发现程序中的错误
c .证明程序是正确的
d .调试器
正确答案: b
11.经验表明,在程序测试中,某模块与其他模块相比,若该模块已发现并改正的错误较多,则该模块中残存的错误数目与其他模块相比,通常应该()
a .少b .多c .相似d .不确定
正确答案: b
12.导致软件缺陷的最大原因是()
a .需求分析b .设计c .编码d .测试
正确答案: a
13. 下列中不属于测试原则的是()
a .软件测试是一种有风险的行为
b .完全测试程序是不可能的
8 .无法显示测试中潜伏的软件缺陷
d .发现的缺陷越多,软件缺陷就越少
正确答案: d
14. 一个成功的测试是()
a .发现错误代码b .发现了以前没有发现的错误
c .找不到错误代码d .证明找不到错误
正确的回答
案:B15. 权衡多个因素,较实用的软件测试停止标准是()
A. 测试超过了预定时间,则停止测试。
B. 根据查出的缺陷总数量决定是否停止测试。
C. 测试成本超过了预期计划,则停止测试。
D. 分析发现的缺陷数量和测试投入成本曲线图,确定应继续测试还是停止测试。
正确答案:D
16.第一类测试方法与第二类测试方法的本质区别体现在()
A. 执行测试的人员不同 B. 执行测试的时间不同
C. 执行测试的目的不同 D. 执行测试的效果不同
正确答案:C
17.下列不属于软件缺陷的是()
A. 银行POS机在用户取款时翻倍吐钱,取100吐200
B. 计算机病毒发作,屏幕出现熊猫烧香画面
C. 网上售票软件反应迟钝,用户难以正常买票
D. 某软件在进行修改升级之后, 原来正常的功能现在出错了
正确答案:B
1. 软件测试是使用人工或自动的手段来____或____某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
答案:运行 测定
2. 软件质量成本包括所有由质量工作或者进行与质量有关的活动所导致的成本,包括____、、。
答案:预防成本 评价成本 失效成本
3. 软件缺陷产生的原因包括____、____、____以及____等
答案:软件自身的特点 团队合作 技术问题 项目管理
4. 就是存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差。它的存在会导致软件产品在某种程度上不能。
答案:软件缺陷 满足用户的需要
1、什么是软件测试、软件质量保证?分析它们之间的关系如何。
==软件测试==:使用人工或自动手段来运行或测定某个软件系统过程,检验它是否满足规定的需求或弄清预期结果与实际结果之间差别。==软件质量保证==:SQA是为保证软件产品和服务充分满足用户要求的质量而进行的有计划、有组织的活动。==关系==:①软件测试是事后检查,SQA是贯穿于整个过程。②SQA侧重于过程的管理和控制,是一项管理工作。③软件测试是过程管理和控制策略的具体执行。是一项技术型工作。④有了SQA,测试工作就可以被客观的检查评价。⑤软件测试为SQA提供数据和依据。⑥测试通常被认为是质量控制的主要手段。2.试分析应如何降低软件质量成本。
软件质量成本包括:预防成本,评估成本,失败成本。①及早发现问题,解决问题,降低返工和修复缺陷的版本。②防止事故发生,降低失败成本。③保证软件产品达到一定的质量标准④对软件质量进行客观的评价。⑤提高软件产品质量,满足用户需求。3、什么是PIE模型?试分析PIE模型对软件测试设计有何指导意义。
==PIE模型==:实际上就是代码执行到Fault,感染产生Error,传播出去(输出),我们可以观测到Failure失效行为。这就是PIE模型。==意义==:得可能存在的软件缺陷通过程序执行都尽可能地产生问题且被外部观察到。4.试分析软件缺陷产生的原因。
①软件自身特点,软件需求不明确,软件结构复杂,精确时间同步不准确,运行环境复杂。②项目管理,开发人员与用户,或开发人员间沟通不够,开发人员理解不同,技术人员水平参差不齐。③团队合作,系统结构设计不合理,没有备份,程序逻辑路径或数据范围不够,算法,语法,计算错误。④技术问题,缺乏质量意识,流程不够完善,软件文档不完善,开发过程不按照规定。5.试分析为什么要对软件进行质量保证与测试。
①及早发现问题,解决问题,降低返工和修复缺陷的版本。②防止事故发生,降低失败成本。③保证软件产品达到一定的质量标准④对软件质量进行客观的评价。⑤提高软件产品质量,满足用户需求。6.计算机病毒是否是软件缺陷?为什么?
不属于,软件缺陷是指软件中存在的偏差,且病毒则来自外部。7.第一类测试方法与第二类测试方法各自的优缺点是什么?
==优点==:第一类测试方法以正向思维出发,有利于界定测试工作范围,确定测试的重点,加强针对性。第二类测试方法以逆向思维出发,有利于发挥测试人员主观能动性,往往能发现更多错误。==缺点==:第一类:比较繁杂,需要准备的东西多。第二类:测试往往不稳定,比较依赖测试人员的经验。8.针对以下代码,分析代码中存在的问题和缺陷。
public class getScoreAverage{ public float getAverage( int [] scores ) { if (scores==null || scores.length==0) { throw new NullPointerException(); } float sum = 0.0F; int j=scores.length; for (int i=l; i<j; 1++) { sum += scores[i]; } return sum/j; }}9.有程序段如下:
public int get_ max(int x,int y,int z){ int max; if(x>=y) { max = x; } else { max = y; } if( z>=x ) { max = z; } return max; }( 1)试分析该程序段有何逻辑错误。
(2)设计1个测试数据,使执行该测试时会执行到缺陷代码但不会触发错误。
(3)设计1个测试数据,使执行该测试时会执行到缺陷代码并触发错误,但不会引起失败。
(4)设计1个测试数据,使执行该测试时会执行到缺陷代码,触发错误,并引起失败。
8,9题答案下期写