软件测试阶段复习题

一、选择题(每题只有一个选项,将你认为合理的选项填在题前括号内,每小题2分,共16分)
(   D )1、较实用的软件测试停止标准是(    )。
A、测试超产过了预定时间,则停止测试。
B、根据单位时间内查出故障的数量决定是否停止测试。
C、执行了所有的测试用例,但并没有发现故障,则停止测试。
D、用图表示出某个测试阶段中单位时间检查出的故障数量,通过对图中曲线的分析,确定应继续测试还是停止测试。
(  C  )2、软件测试的目的是:
A、表明软件是正确的                            B、评价软件质量
C、尽可能发现软件中的错误                    D、判定软件是否合格
(   A )3、 (    )不是常见的覆盖率标准。
A、函数覆盖            B、数据流覆盖            C、逻辑覆盖            D、功能覆盖

常见的覆盖率标准:数据流覆盖 逻辑覆盖 功能覆盖
(  B  )4、将基于功能的和基于实现的测试方法结合在一起的动态测试类型,我们称这种测试为( )。
A、白盒测试            B、灰盒测试                C、黑盒测试            D、基于故障的测试

系统测试分为功能性测试和非功能性测试,一般采用黑盒测试,由独立的测试人员完成
(  B  )5、下列不隶属于白盒测试方法的是(    ):
A、控制流测试        B、健壮性测试           C、数据流测试        D、变异测试

白盒测试的主要方法:①控制流测试(逻辑覆盖/路径测试)②循环测试③变异测试④数据流测试
(  A  )6、项目管理三要素不包括(    )。
        A、Programming        B、Process            C、Problem            D、Process

(  D  )7、下列选项中,不是Mercury公司测试工具的是(    )。
A、LoadRunner        B、WinRunner        C、TestDirector        D、Rebot

Mercury测试工具:LoadRunner WinRunner TestDirector
( A   )8、下面( )方法能够有效地检测输入条件的各种组合可能引起的错误。 (非阶段)
A、因果图        B、等价类划分        C、边界值分析        D、错误推测
(   D )1、通常,(    )是在编码阶段进行的测试,它是整个测试工作的基础。
A、系统测试        B、确认测试            C、集成测试            D、单元测试
( A   )2、据权威部门统计,软件错误产生的原因分布图表中,如下(    )选项是导致软件错误的主要原因:
A、软件需求规格说明错误   B、设计错误   C、编码错误    D、测试错误

(  C  )3、软件测试充分性理论是由(    )最先提出的。
A、Deutsch和Willis                        B、McCall et al.   
C、Goodenough和Gerhart                    D、Evansh和Marciniak

(   C )4、软件测试风险管理包含( )和风险控制两方面内容。
A、    风险排序    B、风险识别            C、风险评估            D、风险分析

(  D  )5、下列不属于黑盒测试方法的是(    )。
A、等价类划分    B、状态测试        C、边界值分析        D、变异测试

黑盒测试方法:等价类划分法,边界值分析法,错误推断法,因果设计法,状态测试法,判定表驱动法,正交实验法,场景法,功能图法
(  A  )6、常见的覆盖率标准不包括(    )。
A、函数覆盖        B、逻辑覆盖        C、数据流覆盖        D、功能覆盖
(  B  )7、因果图是( )公司最先发明并实施的。(非阶段)
A、SUN            B、IBM                C、Microsoft            D、ORACLE
(  D  )8、针对下面一个程序段:
if     ((A>1) && (B == 0))
S1;
If    ((A == 2)|| (X > 1))
S2;
其中,S1、S2均为语句块。现在选取测试用例:A=2 B=0 X=3 ,该测试用例满足了( )。
A、路径覆盖                              B、条件组合覆盖
C、判定覆盖                              D、语句覆盖

(  A  )1、下列各测试工具中隶属于Mercury公司产品的是( )
A、WinRunner        B、 JUnit            C、Purify            D、WebStress
( D   )2、下面关于软件测试的说法,其中正确的是(    )
经过测试没有发现错误,说明程序正确               
成功的测试是没有发现错误的测试
测试的目标是为了证明程序没有错误                    
D、成功的测试是发现了迄今尚未发现的错误的测试
(   B )3、在某种类型会议上,由小组成员阅读程序,以发现程序错误,同时测试员利用测试数据人工运行程序并得出输出结果,然后由参加者对结果进行审查, 以达到测试的目的。这种测试方法是( )。
A、软件审查            B、代码走查      C、技术评审        D、代码审查
(   C )4、测试充分性准则内容不包括(    )。
A、空集不充分性       B、单调性       C、可靠性        D、复杂性

测试充分性准则

①空集不充分性②有限性③单调性④复杂性⑤回报递减性
( A   )5、控制流覆盖准则约束最弱的是(    )。 
A、点覆盖            B、边覆盖        C、条件覆盖        D、路径覆盖

点覆盖:即对程序的控制流图节点进行全面覆盖。
边覆盖:设计一条路径,使程序的控制流图中所有边被覆盖。
主路径覆盖:就是对程序设计测试用例,使测试用例尽可能多的经过控制流图中的边同时不形成环。

路径覆盖最强,语句覆盖(点覆盖)最弱
(  C  )6、设计测试用例时候,( )是用得最多的一种黑盒测试方法。(非阶段)
A、因果图            B、等价类划分        C、边界值分析        D、错误推测
( B   )7、软件测试风险管理包含( )和风险控制两方面内容。
A、风险识别        B、风险评估        C、风险排序        D、风险分析
( A   )8、对下面的计算个人所得税程序中
if (income<800)        taxrate=0;
else if (income<=1500)        taxrate=0.05;
else if (income<2000)        taxrate=0.08;
else taxrate=0.1;
满足判定覆盖的测试用例是(    )。
A、 income=(799, 1500, 1999, 2000)            B、income=(799, 1501, 2000, 2001)
C、income =(800, 1500, 2000, 2001)            D、 income=(800, 1499, 2000, 2001)
二、判断题(判断下列题目是否正确,如果正确请打“√”,错误请打“×” 每小题2分,共8分)
(    √)1、技术评审即是一种技术手段,也是一种质量管理手段。
( ×   )2、设计-实现-测试,软件测试是开发后期的一个阶段。
( ×   )3、单元测试仅仅证明了被测程序单元做了什么。
(  ×  )4、由于函数覆盖率是基于代码的,所以也可以把函数覆盖归入黑盒测试的范畴。
( √   )1、在软件测试中, 测试预言是一种检验待测系统在特定执行下是否正确运行的方法。
(  ×  )2、在白盒测试中,如果覆盖率达到100% ,就基本可以保证把所有的隐藏程序缺陷都已经揭露出来了。
( ×   )3、软件测试的目的在于发现错误、改正错误。
(  √  )4、由于函数覆盖率是基于代码的,所以也可以把函数覆盖归入白盒测试的范畴
(×    )1、软件测试等于程序测试。软件测试
(   × )2、我是个很棒的程序员, 我无需进行单元测试。
(  √  )3、在白盒测试中,即使覆盖率达到100% ,也无法保证所有的隐藏程序缺陷都已经被揭露出来。
(   × )4、由于函数覆盖率是基于代码的,所以也可以把函数覆盖归入黑盒测试的范畴。
(  ×  )1、软件故障是导致软件失效的必要和充分要素。正解:必要非充分要素
(  √  )2、同行评审的主要目标在于检测错误、核对与标准的偏离。
(  √  )3、在任何软件机构中,定期、不定期的培训、再培训都是必须而且是必要的。
(  √  )4、在整个机构中使用基础设施防护与改进部件的主要目标是在机构积累的SQA经验基础上消除或至少降低出错率。
(  ×  )5、所有SQA活动和项目里程碑的完成或项目里程碑的检验是同时发生的。
(×   )6、Daniel Galin等提在20世纪50年代建立的经典质量费用模型,提供了一种以经济学观点把与产品质量保证相关的费用非类的方法学。
(  √  )7、一旦更改过的SCI替换了前面的SCI,就认为完成了软件的一个新版本。
(√    )8、软件质量成本是一个投资问题,而不是成本问题!
(  ×  )9、SEI CMM评估标准, ISO 9001和ISO 9000-3标准是典型的项目过程标准。
(   √ )10、软件质量保证的独特性是由软件产品不同于其他制造产品的本质决定的。

//以下判断非阶段
(  √  )1、在专业的软件开发、维护中,SQA环境是建立、执行SQA方法时必须首要考虑的问题。
(×   )2、如何看待软件产品内部的缺陷,开发者和用户的立场是一致的。
(  √  )3、专家观点通过引进补充的外部能力到机构内部开发过程中来而支持质量评估工作。
(  ×  )4、质量管理标准是专业标准,它们向开发组提供方法学指南。
(√   )5、软件生命周期模型强调的是直接开发活动,而没有指示出开发过程的顾客参与。
(  ×  )6、规程具有机构范围的适用性,它的执行和具体执行的人或组织背景有着密切关系。
(  ×  )7、CAPA的目的在于检测、处理、改正软件缺陷。
(  ×  )8、项目进展控制SQA工具有Gatt图、日历、数据流图和活动网络图。
(  √  )9、IEEE、ISO、DOD、ANSI、EIA都是著名的SQA标准开发机构。
(  √  )10、在科学和工程中,如果没有度量,对一切都没有一个定量的了解,那么这种科学和工程既不是有效的,也不是实际的。
( ×   )1、在软件产品制定生产计划阶段,不必进行重大的SQA活动。
(  √  )2、软件故障是导致软件失效的必要,而非充分要素。
(  ×  )3、只有客户才会有兴趣透彻定义它的需求以确保他约定的软件产品的质量。
(  √  )4、软件质量系统之间各不相同,说明机构SQA系统构建存在固有灵活性。
(  √  )5、质量管理标准指导软件开发、维护和基础设施的管理。它的重点是需要什么,但没有指明如何达到标准要求的努力细节。
(×    )6、通常,检查表的使用的是强制性的。
(  ×  )7、CAPA的执行从根本上依赖于正确的指导和经常的培训。
(  √  )8、软件质量度量面临的特有困难根植于包含于软件质量度量的测量(参数)中。
(  √  )9、一旦更改过的SCI替换了前面的SCI,就认为完成了软件的一个新版本。
(  ×  )10、SQA项目过程标准如CMM、ISO 9000-3标准。

三、填空题(每空1分,共14分;请把答案书写在相应横线上。)
1、软件测试过程包含的测试活动有测试计划,测试设计,测试实施,测试执行,缺陷跟踪和测试评估
2、软件测试策略的确定过程通常经历      确定测试需求       、      评估风险         、确定测试策略三个阶段组成。
3、变异测试的理论基础是    程序员能力假设   和      组合效应假设
4、     软件缺陷打开/关闭图表         、       根本原因图表       、软件缺陷关闭周期表是常用的软件缺陷跟踪图表。
5、软件测试规范可以分为       行业规范和     操作规范
1、通常,由人工进行的静态测试方法包括  桌面检查  、   代码审查   、  代码走查   和技术评审
2、典型的测试设计活动包括 测试用例设计 、 测试过程设计 、设计驱动程序和稳定的桩
3、按照测试的层次和策略,软件测试可以分为单元测试、 集成测试 、  确认测试 和 系统测试  
4、为了考察测试用例的重要性,我们可以从  有效性 、  可重用性  、  易组织性   、    可评估性  、可管理性五方面理解。
5、面向对象集成测试常见方法包括 抽样测试 、 正交矩阵(阵列)测试  。
1、面向对象测试充分性三个常用标准是  基于状态的覆盖率基于约束的覆盖率基于代码的覆盖率
2、常见的程序分析视角有句法视角,功能视角、文本视角和计算流视角(非阶段)
3、按照测试用例的设计方法,软件测试可以分为白盒测试、黑盒测试和灰盒测试
4、我们可以按照编写过程、执行过程和组织过程三个纬度对测试用例属性进行归类。
5、单元测试内容包含如下方面:模块接口测试 、边界条件测试  、错误处理测试 、局部数据结构测试和重要路径测试
1、软件质量工程包括软件质量保证 、软件质量规划和软件质量控制三大方面。

//以下填空非阶段
2、McCall模型产品修改纬度的质量因素有  可维护性  、  可测试性   、灵活性。
3、面向对象模型不同于其他模型的主要特征是   组件的密集重用。
4、有两种同行评审方法学:  审查  和   走查   。
5、RMA可以划分成三组类别    内部风险管理措施  、  分包风险管理措施  和  顾客风险管理措施  。
6、支持性质量手段有   模板  和   检查表  。
7、依据软件系统的生命周期和其他阶段,软件质量度量划分为  软件过程度量 和   软件产品度量  。
8、软件配置发布的版本有基线版本、    中间   版本、     修订   版本。
9、SQA标准被划分成    软件质量管理标准   和  软件项目过程标准  两类。
10、软件缺陷的固有特征有软件缺陷的固有性、  软件缺陷的敏感性  、  软件缺陷的感染性  。
1、McCall模型划分了  软件运行  、    软件转移   、    软件修改  三个纬度的11个软件质量因素。
2、螺旋模型任何一次迭代都可划分为制定计划、  风险分析和化解   、工程和    顾客评估   四个项限。
3、依据合同评审的目标对合同评审主题进行分类为  建议草案评审主题  和 合同草案评审主题  两种类型。
4、典型的版本方针包括   严格-单一活动版本方针   、   多版本方针   。
5、软件对属于各种质量因素的需求的符合性是由  软件质量度量   来测量的。
6、CAPA过程的成功运行包含如下活动:信息收集、   信息分析           、  解决方案和改进方法的建立    、改进方法的执行、跟踪。
7、常见的软件配置演化模型有   线性演化模型   和  树演化模型   。
8、软件更改的质量保证工作需要    每个更改的SCI的质量保证  和  整个新软件系统版本的质量保证  两个级别的活动。
9、从内容和重点上我们可以把质量管理标准划分成   认证标准   和     评估标准   两种类型。
10、  测试人员    、   SQA单位    是SQA专职人员。
1、CMM内容包含初始级、      可重复级  、  已定义级  、 已管理级  和可优化级五个等级。
2、软件质量保证的目标包括   面向产品的软件开发   和  面向过程的软件维护    两大方面。
3、开发生命周期阶段SQA部件可以划分成三类:评审、专家观点、软件测试、软件维护SQA部件和由第三方/分包商使用的SQA部件。
4、    版本方针  和    更改方针 是维护方针的主要组成。
5、外部参与方可被分类为  分包商、COTS软件和重用软件模块的供货商和 顾客自身  三组。
6、在任何机构中,CAPA要正确发挥作用需要CAPA记录流的跟踪、CAPA执行的跟踪和CAPA执行结果的跟踪三个要的跟踪任务。
7、软件更改的质量保证工作需要每个更改的SCI的质量保证和   整个新软件系统版本的质量保证   两个级别的活动。
8、软件过程度量可以进一步划分为      软件过程质量度量   、  软件过程进度度量    和软件过程生产率度量。
9、从内容和重点上我们可以把质量管理标准划分成   认证标准   和    评估标准   两种类型。
10、通常,软件质量的管理部件有  项目进展控制 、软件质量度量、 软件质量费用 和可用于控制软件维护的工具SQA管理工具。
四、名词解释(每小题3分,共18分)
1、软件测试风险
软件测试风险是指软件测试过程出现的或潜在的问题
2、动态测试技术
通过在抽样测试数据上运行程序来检验程序的动态行为和运行结果以发现缺陷。
3、确认测试
确认测试是验证软件的功能和性能及其它特性是否与用户的要求一致。对软件的从功能、性能、可靠性、易用性等方面作全面的质量检测,帮助软件企业找出产品存在的问题,出具相应的产品质量报告。
4、条件组合覆盖
条件组合覆盖是逻辑覆盖标准的一种,它要求选取足够多的测试数据,使得每个判定表达式中条件的各种可能组合都至少出现一次。
5、L10N
软件本地化
6、(软件产品的)FURPS
FURPS即软件系统的功能、可使用性、可靠性、性能和支持等特性。
1、L10N && I18N
软件本地化和国际化

2、软件测试项目管理
软件测试项目管理就是以测试项目为管理对象,通过一个临时性的专门的测试组织,运用专门的软件测试知识、技能、工具和方法,对测试项目进行计划、组织、执行和控制,并在时间成本、软件测试质量等方面进行分析和管理活动。
3、软件测试文档
测试文档是对要执行的软件测试及测试的结果进行描述、定义、规定和报告的任何书面或图示信息。
4、测试用例
测试用例是为了特定目的而设计的测试数据及相关测试规程的一个特定集合,即为有效发现软件缺陷的最小测试执行单元
5、白盒测试
白盒测试是指测试人员根据程序的内部结构特性和与程序路径相关的数据特性,设计测试数据组成测试用例执行程序的一种动态测试。
6、无效等价类
无效等价类是指对于程序的规格说明来说,不合理的,没有意义的输入数据的集合。
软件测试
软件测试是为了发现错误而执行程序的过程。

软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例运行程序,以及发现错误的过程。
2、测试用例的有效性
软件测试用例是测试人员测试过程中的重要参考依据;不同测试人员根据相同测试用例所得到的输出应该是一致的。
3、软件测试规范
软件测试规范是对软件测试流程的过程化,并对每一个过程元素进行明确界定,而形成的完整的规范体系。
4、条件覆盖
条件覆盖隶属控制流覆盖标准的范畴,它不仅要求每个语句至少执行一次,而且要求使得判定表达式中每个条件都取得各种可能的结果

 

五、问答题(每小题4分,共20分)
谈谈你对变异测试原理的理解。
(1)使用变异算子对被测程序做微小的合乎语法的变动,每个新程序称为一个变异体;
(2)根据已有的测试数据运行变异体;
(3)比较变异体和原程序的运行结果:如果两者不同就称该测试数据将该变异体杀死了;
否则称该变异体是活的。
2、请阐述软件测试的原则。
(1)尽早的和不断的测试应作为软件开发人员的座右铭。
(2)测试用例应当由测试数据和与之对应的预期结果组成。
(3)测试用例应包括合理的输入条件不合理的输入条件
(4)严格执行测试计划排除测试的随意性
(5)充分注意测试当中的群体现象。 
(6)要对每一个测试结果作全面的检查
(7)保存测试计划、测试用例、出错统计和最终分析报告,为维护工作提供充分的资料
3、测试用例设计的考虑因素有哪些?
(1)测试用例必须具有代表性、典型性;[1分]
(2)测试用例要浓缩系统设计;[1分]
(3)测试用例既要考虑正确的输入,也需要考虑错误或异常的输入,以及促使这些错误、异常发生的条件;[1分]
(4)用户测试用例设计需要考虑用户实际使用场景。[1分]
4、集成测试策略中,渐增式与非渐增式集成策略各有何优、缺点?为什么通常采用渐增式?
非渐增式集成策略是将所有的模块一次连接起来简单、易行,节省机时,但测试过程中难于查错,发现错误也很难定位测试效率低。[1分]
渐增式集成策略是将模块一个一个地连入系统,每连入一个模块,都要对新系统进行测试。这种组装测试方案比较非渐增式,容易查出错误进行错误定位,有利于查出模块接口部分的错误,因此测试效率高。但渐增式较费机时。[2分]
比较两种集成策略,显然渐增式有利于实现测试的目标,故通常采用渐增式进行组装测试。[1分]
5、请评价白盒测试?
(1)[2分]优点
迫使测试人员去仔细思考软件的实现;
可以检测代码中每条分支和路径;
揭示隐藏在代码中的错误;
对代码的测试比较彻底;
最优化。
(2)[2分]缺点
昂贵; 
无法检测代码中遗漏的路径数据敏感性错误;
白盒测试不验证规格的正确性
黑盒测试的特点有哪些?
(1)不考虑程序内部结构和内部特性;[1分]
(2)测试人员只需知道该程序输入和输出之间的关系或功能;[1分]
(3)设计测试用例的依据是需求规格说明书或用户手册;[1分]
(4)尤其适合于一些第三方软件测试,由于无法得到源程序,无法用其它方法进行测试。[1分]
等价类划分的步骤如何?
(1)根据输入条件把数目极多的输入数据划分成若干有效等价类和若干无效等价类;[2分]
(2)设计一个测试用例,使其覆盖尽可能多的尚未被覆盖的有效等价类,重复该步骤,直至所有有效等价类均被覆盖;[1分]
(3)设计一个测试用例,使其覆盖一个的尚未被覆盖的无效等价类,重复该步骤,直至所有无效等价类均被覆盖。[1分]
3、谈谈你对“持续的软件测试”的理解。
持续的软件测试有两方面的含义:
(1)完整的软件测试工作应该贯穿整个软件生存周期存周期[2分]
(2)软件开发不同阶段都有软件测试工作,即软件测试工作的各个步骤分布在整个软件生存周期中。[2分]
4、一般的软件项目管理与软件测试项目管理之间的区别由那些?
(1)对于一般的软件项目管理,成本和进度控制是最重要的;[2分]
(2)而在软件测试项目管理中,质量第一是基本点,所有测试项目管理工作都要围绕提高产品质量展开,最终保证在合理的成本、进度下满足用户需求或期望。[2分]
5、与桌面检查相比,代码审查与代码走查有哪些优点?
(1)桌面检查即程序员自己检查自己的程序。通常,由于程序员思维定势、心理因素的限制,使得桌面检查效率不高。[2分]
(2)代码走查、代码审查采用成组方式进行,一旦发现错误就知道了错误的位置和性质,从而大大降低了调试费用和成本;另外代码走查、代码审查可以一次发现一批错误,错误发现效率较高。[2分]
1、请比较白盒测试与黑盒测试方法?
(1)白盒测试只考虑测试软件产品,它不保证完整的需求规格是否被满足。而黑盒测试只考虑测试需求规格,它不保证实现的所有部分是否被测试到。[1分]
(2)黑盒测试会发现遗漏的缺陷,指出规格的哪些部分没有被完成。而白盒测试会发现代理方面的缺陷,指出哪些实现部分是错误的。[1分]
(3)白盒测试比黑盒测试成本要高得多。它需要在测试可被计划前产生源代码,并且在确定合适的数据和决定软件是否正确方面需要花费更多的工作量。 [1分]
(4)一个白盒测试的失败会导致一次修改,这需要所有的黑盒测试被重复执行并且重新决定白盒测试路径。[1分]
测试项目中,主要的测试文档有哪些?
测试计划、测试设计规格说明、测试用例说明、测试规程规格说明、测试执行报告、测试日志、测试缺陷报告、测试总结报告
3、谈谈你对“软件测试的必要性”的理解。
软件测试的必要性主要体现在如下方面:
程序代码最终体现了软件的质量
软件测试力争发现更多的缺陷尽量减少残留的缺陷;
软件测试提高软件的正确性
软件测试建立对软件的信心
软件测试掌握软件的质量水平
软件测试是软件质量保证的重要手段
4、请阐述测试用例在代码走查中的作用。
(1)代码走查中,测试用例并不是关键,也并不是仅想验证这几个测试用例运行是否正确,人脑毕竟比计算机慢太多;
(2)这里测试用例是作为怀疑程序逻辑与计算错误的启发点,在随测试实例游历程序逻辑时,在怀疑程序的过程中发现错误
5、测试覆盖准则的作用如何?
1)定量地规定软件测试需求,指导测试数据的选择;
(2)度量测试数据集,揭示软件特定特征的能力
(3)对测试结果和软件可靠性评估具有重要影响。

  • 10
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值