一、选择:
1.导致软件缺陷的最主要原因是( )。
A.软件系统越来越复杂,开发人员不可能精通所有的技术 B.软件的需求说明书不规范
C.硬件配置不对、缺乏,或处理器缺陷导致算术精度丢
D.软件设置不对、缺乏,或操作系统错误导致无法释放资源、工具软件的错误,编译器的错误等
2.软件的质量根本上由( )决定。 A.编程技术
B.测试技术
C.过程质量
D.开发工具
3.下面关于软件缺陷的定义正确的是( ):
A.软件缺陷是计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷
B.软件缺陷指软件产品(包括文档、数据、程序等)中存在的所有不希望或不可接受的偏差,这些偏差会导致软件的运行与预期不同,从而在某种程度上不能满足用户的需求
C.从产品内部看,缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题;从产品外部看,缺陷是系统所需要实现的某种功能的失效或违背 D.以上都对
4.( )指软件缺陷对软件质量的破坏程度,即此缺陷的存在将对软件的功能和性能产生怎样的影响。 A. 缺陷优先级
B. 缺陷严重程度
C. 缺陷发生频率 D. 缺陷类别
5.下面关于软件缺陷管理的说法错误的是( ):
A. 软件缺陷管理(Defect Management)是指对软件开发过程中的缺陷发现、确认、定位、修复、评审、关闭等一系列行为进行跟踪管理的过程,也就是在软件生命周期中获取、管理、沟通任何变更请求的过程,是软件研发过程中的一项过程管理
B. 软件缺陷跟踪管理在现代软件开发中已经占据了很重要的位置,和软件开发的项目管理、需求、设计、开发、测试均严密相关
C. 软件缺陷管理是在软件生命周期中为确保缺陷被跟踪和管理所进行的活动 D. 软件开发过程中,只需要在测试阶段进行缺陷管理
6.( )是软件缺陷管理的核心,也是软件缺陷预防的核心任务。 A. 缺陷报告 B. 缺陷分析 C. 缺陷库 D. 缺陷修复
1
7.软件缺陷发现手段有多种。经过统计分析,有效的( )发现的缺陷数可以占到发现的缺陷总数的40%左右,而且大的、严重的问题基本上都是通过这种手段发现的;而传统意义上的测试发现和解决的缺陷数一般可以占到35%,退居第二了。 A.项目组内部发现
B.PPQA发现
C.同行评审
D.客户反馈。
8.QA的工作职责包括( ):
A.过程评价 B.产品和服务评价 C.过程指导 D.以上都对
9.( )是将软件开发、运行过程中产生的缺陷进行必要的收集,对缺陷信息进行分类和汇总统计,计算分析指标,编写分析报告的活动。 A.缺陷发现 B.缺陷修复 C.缺陷分析 D.缺陷预防 10.缺陷的收敛趋势分析是常用的缺陷分析方法之一。进行收敛趋势分析的前提是研发过程稳定,其质量表现大体一致,这样数据反映的趋势才具备可信度。下面哪个图代表产品质量比较稳定,可以批准对外发布:
(A)
(B)
2
(C)
(D)
11.缺陷预防的核心任务是原因分析。缺陷根本原因分析可以借助于下面哪些方法或工具( ): A.鱼骨图
B.柏拉图
C.ODC分析
D.以上都是
12.( )曲线表示某个时间周期内发现的问题随时间的变化趋势。由于多数软件开发周期中发现的问题都遵循该曲线分布,在软件产品交付给最终用户使用之前,可以利用该曲线预测出未来发生的问题个数。( )曲线用于描述这样一类现象:初期增长缓慢,以后逐渐加快,当达到一定程度后,增长率又逐渐下降,最终接近一条水平线。该曲线在软件测试领域常用于描述缺陷收敛趋势,作为测试结束条件的判定依据。 A.Gompertz 曲线
B.Rayleigh曲线
C.双曲线
D.圆锥曲线
13.软件缺陷预防的活动在软件开发活动中体现为对需求管理、配置管理以及变更管理等各个软件开发的关键过程进行预防和控制,以确保过程的有效和成果的合格。其它的常用软件缺陷预防方法包括( )等技术。 A.模式
B.软件复用
C.重构
D.以上都对
14.作为一种缺陷预防技术,( )用于识别产品中的潜在故障模式,评估每种潜在故障的风险,划分优先顺序,采取适当措施,以消除或减少这些故障模式。而( )
3
则针对某种特定的故障列出其所有原因及其相互关系,以找出特定的机会,消除或减少可能最终导致产品故障的原因。二者互为补充。 A.故障模式和效果分析FMEA C.Demo技术
B.故障树FTA D.四象限分析
15.软件产品与传统产品相比有不同的特征,如软件项目没有空间的形体特征,用图形描述的软件结构也只是很多相互关联、重叠的图形;项目进展不能立即看到;交付给客户的最终产品也是一种看不见、摸不着、主观的、无形的、需要人脑理解的“逻辑”产品。这体现了软件产品的( )。 A.不可见性
二、填空:
B.灵活性
C.复杂性
D.二义性
1.从管理角度度量软件质量,可将影响软件质量的主要因素划分为三组属性,分别反映用户在使用软件产品时的三种观点,如图1所示。请将下面列出的一些质量属性的序号填到图1中合适的位置: A.健壮性
B.正确性
C.效率
D.可理解性
E.可修复性 F.可移植性 G.可再用性
完整性、可用性、风险( ① ) 产品运行 灵活性 可测试性 ( ② ) 产品修改产品转移互运行性 ( ③ ) 图1软件质量属性 2.软件错误是一种人为错误。一个软件错误必定产生一个或多个软件缺陷。当一个软件缺陷被激活时,便产生一个软件故障;同一个软件缺陷在不同条件下被激活,可能产生不同的软件故障。软件故障如果没有及时使用容错措施加以处理,便不可避免地导致软件失效。同一个软件故障在不同条件下可能产生不同的软件失效。这就是软件失效的现象和机理,如图2所示。请将人为错误、软件缺陷、软件故障、软件失效这四个填到
4
图2中正确的位置:
④ ⑤ ⑥ ⑦ 图2 软件失效机制
3.软件测试技术通常可粗略分为两大类:动态测试和静态测试。同行评审其实就是一种( )
4.同行评审不是一种单一的测试方法,而是一类软件测试方法的统称。CMMI将同行评审分成了3类,分别是:( )、( )和( )。
5.( )是针对软件开发项目、过程、产品进行数据定义、收集、分析的持续性定量化的过程
6.度量元就是软件度量的内容。度量元根据度量数据的获得方式划分为两种,其中( )度量元的数据可直接度量获得,( )度量元的数据来自其它数据,通常由两个或多个基本度量组合而来。
7.( )度量每KLOC或每个功能点的缺陷数,其值越低意味着产品质量越高。 8.( )的通用概念是一定时间范围内的缺陷数与错误几率(OFE,opportunities for error)的比值。也可理解为缺陷发现率,即测试人员每小时发现缺陷的数量。一般在测试后期,缺陷发现率会越来越低,当其值达到组织的质量目标时,即可作为停止测试的决策依据之一。
9.缺陷的注入阶段和发现阶段可以是软件生命周期的各个阶段。根据这两个阶段可以绘制出一个“缺陷注入-发现矩阵”,从中分析出软件开发各个环节的质量,找到最需要改进的环节。如表1所示。表中每一行表示该阶段或活动发现的各阶段产生的缺陷数;每一列表示该阶段或活动注入的缺陷泄漏到后续各环节的缺陷数。请计算出需求、设计、编码三个阶段的缺陷移除率,填入表中相应位置:
表1缺陷注入-发现矩阵 缺陷注入阶段 缺陷发现阶段
需 求 设 计 编 码 注入总计 5