( 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
( 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、下面关于软件测试的说法,其中正确的是( )
A、 经过测试没有发现错误,说明程序正确 B、 成功的测试是没有发现错误的测试 C、 测试的目标是为了证明程序没有错误 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模型产品修改纬度的质量因素有可维护性、可测试性、灵活性。
1. 3、面向对象模型不同于其他模型的主要特征是组件的密集重用。 4、有两种同行评审方法学:审查和走查。
5、RMA可以划分成三组类别内部风险经管措施、分包风险经管措施和顾客风险经管措施。 6、支持性质量手段有模板和检查表。
7、依据软件系统的生命周期和其他阶段,软件质量度量划分为软件过程度量和软件产品度量。
8、软件配置发布的版本有基线版本、中间版本、修订版本。
9、SQA规范被划分成软件质量经管规范和软件工程过程规范两类。
10、软件缺陷的固有特征有软件缺陷的固有性、软件缺陷的敏感性、软件缺陷的感染性。 1、McCall模型划分了软件运行、软件转移、软件修改三个纬度的11个软件质量因素。 2、螺旋模型任何一次迭代都可划分为制定计划、风险分析和化解、工程和顾客评估四个项限。
3、依据合同评审的目标对合同评审主题进行分类为建议草案评审主题和合同草案评审主题两种类型。
4、典型的版本方针包括严格-单一活动版本方针、多版本方针。
2. 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、无效等价类
无效等价类是指对于程序的规格说明来说,不合理的,没有意义的输入数据的集合。 1、 软件测试
软件测试是为了发现错误而执行程序的过程。 或
软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例运行程序,以及发现错误的过程。 2、测试用例的有效性
软件测试用例是测试人员测试过程中的重要参考依据;不同测试人员根据相同测试用例所得到的输出应该是一致的。 3、软件测试规范
软件测试规范是对软件测试流程的过程化,并对每一个过程元素进行明确界定,而形成的完整的规范体系。 4、条件覆盖
条件覆盖隶属控制流覆盖规范的范畴,它不仅要求每个语句至少执行一次,而且要求使得判定表达式中每个条件都取得各种可能的结果 5、TDD
测试驱动开发(Test Driven Development) 6、α测试
α测试是由用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。这是在受控制的环境下进行的测试。 1、 Crosby软件质量的定义
系统、部件或过程满足规定需求的程度。 2、软件可靠性
(IEEE)软件可靠性是指一个系统或组件在某个特定时期、特定条件下完成所需完成的功能的能力。 3、规程
规程是完成某件事情或行动的特定方式,即规程是为了完成一个任务,根据给定方法所执行的详细活动或过程。 4、开发风险
软件开发风险是软件开发任务或环境的一种状态或性质,如果忽略它,将增加软件工程失败的可能。 5、(软件工程领域)模板
在软件工程领域,模板指的是小组或机构创建的,用于编辑报告以及其他形式文档的格式。 6、软件配置经管
一个负责应用(计算机化的或非计算机化的)技术工具和经管规程、使之能够完成为维护SCI和软件配置版本所需任务的SQA部
1、Daniel Galin 软件质量保证的扩展定义
软件质量保证是一个有系统的、有计划的行动集合,它是提供软件产品开发、维护过程符合其已建立的技术需求以及跟上计划安排和在预算限制之内进行经管上的需求充分信任所必需的。
2、合同评审
合同评审是一个指导评审建议草案和合同文档的SQA部件。 3、规程
规程是完成某件事情或行动的特定方式,即规程是为了完成一个任务,根据给定方法所执行的详细活动或过 4、4W1H
W1H即WHAT, WHEN, WHERE, WHO和HOW。他们具体含义如下:
WHAT--What activities have to be performed? WHEN--When Should the activity be performed? WHERE--Where should the activity be performed? WHO--Who should perform the activity?
HOW--How should each activity be performed?
5、受控文档
受控文档是那些目前就对软件系统的开发、维护以及与目前和将来顾客关系的经管重要或可能变得重要的,并且处于控制状态下的文档。 6、软件质量度量
一个工程具有给定质量属性的程度定量测度; 或
一个函数,其输入为软件数据、输出为单一的数值,该值可以被理解为软件具有给定质量属性的程度
1、 Pressman软件质量的定义
软件质量是符合明确陈述的功能性能需求、明确文档化了的开发规范和所有专业开发预期的隐含特性。
2、软件开发风险
软件开发风险是软件开发任务或环境的一种状态或性质,如果忽略它,将增加软件工程失败的可能。 3、合同评审
合同评审是一个指导评审建议草案和合同文档的SQA部件。 4、质量记录
质量记录是一种特殊类型的受控文档。它是面向顾客的文档,用于证实同顾客需求的全面符合性以及贯穿于开发和维护全过程的软件质量保证系统的有效运行 5、软件可靠性经管
软件可靠性经管指通过一个程序使软件的可靠性得到最优化的过程。此程序着重于软件防错(software error prevention),发现并清除fault;此程序着重于采用一定措施并根据诸如资源,进度表及性能的约束条件使可靠性最大化。 6、软件配置版本
软件配置版本是指在给定时间点上组成软件系统的、已批准而且文档化的SCI版本的集合。
五、问答题(每小题4分,共20分) 2、 谈谈你对变异测试原理的理解。
(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分]缺点
昂贵。
无法检测代码中遗漏的路径和数据敏感性错误。 白盒测试不验证规格的正确性。 3、 黑盒测试的特点有哪些?
(1)不考虑程序内部结构和内部特性;[1分]
(2)测试人员只需知道该程序输入和输出之间的关系或功能;[1分] (3)设计测试用例的依据是需求规格说明书或用户手册;[1分]
(4)尤其适合于一些第三方软件测试,由于无法得到源程序,无法用其它方法进行测试。[1分]
4、 等价类划分的步骤如何?
(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分]
5、 测试工程中,主要的测试文档有哪些?
测试计划、测试设计规格说明、测试用例说明、测试规程规格说明、测试执行报告、测试日志、测试缺陷报告、测试归纳总结报告等 3、谈谈你对“软件测试的必要性”的理解。 软件测试的必要性主要体现在如下方面:
程序代码最终体现了软件的质量;
软件测试力争发现更多的缺陷尽量减少残留的缺陷; 软件测试提高软件的正确性; 软件测试建立对软件的信心; 软件测试掌握软件的质量水平;
软件测试是软件质量保证的重要手段。 4、请阐述测试用例在代码走查中的作用。
(1)代码走查中,测试用例并不是关键,也并不是仅想验证这几个测试用例运行是否正确,人脑毕竟比计算机慢太多;
(2)这里测试用例是作为怀疑程序逻辑与计算错误的启发点,在随测试实例游历程序逻辑
时,在怀疑程序的过程中发现错误。 5、测试覆盖准则的作用如何?
1)定量地规定软件测试需求,指导测试数据的选择; (2)度量测试数据集,揭示软件特定特征的能力; (3)对测试结果和软件可靠性评估具有重要影响。 1、 专业软件开发的SQA环境有哪些特征?
遵守合同约定;
服从顾客供货商关系; 需要协同工作;
需要同其他开发组的合作和协调; 同其它软件系统的接口;
工程组有变化时工程继续进行; 需要持续维护软件系统若干年。
2、 请指出走查、审查这两种同行评审方法的不同?
走查和审查的区别是其正式性的等级。其中,审查是两者之中更为正式。[2分]
走查的发现限于被评审文档的意见,而审查的发现还同改进开发方法自身的工作相结合。
所以和走查相比,审查对一般的SQA做出了更大贡献。 3、 请详细描述软件质量费用的经典模型?
在经典软件质量费用模型中,软件质量费用可以划分为控制费用、控制失效费用。 其中,控制费用被进一步细化为预防费用和评价费用;控制失效费用进一步细化为内部失效费用、外部失效费用。
(1) 预防费用包括建立软件质量基础设施、更新并改进基础设施以及完成其运行所需的
常规活动的投资。
(2) 评价费用花在特定工程或软件系统中软件错误的检测上。
(3) 内部失效费用是指改正在顾客现场安装软件之前实施设计评审、软件测试及验收测
试时检测到的错误而产生的费用。
(4)外部失效费用限定为改正由顾客或维护组在顾客现场安装软件系统之后检测到的失效的费用。
4、 认证规范和评估规范的主要区别?
认证规范的重点是外部的--支持供货商顾客关系[2分],而评估规范的重点是内部的。因为评估规范关注的是软件过程改进[2分]。
5、CCB的决策机制有哪些种类?你认为其中那种决策机制更实用?
(1)最普遍的方法是投票决定。每个代表都投票,采用少数服从多数的方式。这种民主的做法能够充分调动CCB成员的机机性;但是少数服从多数含义模糊,该决策模式也容易产生一些政见。
(2)极端的做法是所有决策都交给一个人,这种安排鼓励在决策中灵活考虑各种意见,但压抑了CCB其他成员的积极性;
(3)第三种可行的决策机制是寻求CCB成员的一致意见,同时提供合理的跳出机制。 综合考虑上述三种不同CCB决策机制,第三种策略最为实用。 6、传统质量成本和现代质量成本的主要区别有哪些?
传统的质量成本集中在与失效有关的事件和活动,如损坏、缺陷等。传统质量成本通常以报废、返工、返修等形式出现;[2分]
现代的质量成本的目的则在于通过预防和评估活动中的适当投入,减少与失效有关的活动。
[2分]
1、 Crosby, Juran, Pressman软件质量定义的比较。
(1)Crosby的定义指的是写好的软件符合由顾客和它的专业组编制的规格说明书的程度。这也意味着包含在规格说明中的错误是不予考虑的,也不降低软件质量—显然这是不足的。[1分]
(2)Juran的定义旨在达到顾客满意度,这就要求对检查改正顾客的需求规格书投入大量工作。但该定义的主要缺点是免除了顾客对软件规格书准确性、完备性的责任。[1分] (3)Pressman定义为SQA提出了要由开发者满足的三个要求:特定功能需求,它主要是指软件系统的输出;在合同中提出的软件质量规范;反映当今水平的专业方法的良好软件工程方法的发展水平。实际上,Pressman定义提供了测试满足需求程度的操作方向。 2、 谈谈你对合同评审过程的理解?
合同评审是一个指导评审建议草案和合同文档的SQA部件。其过程分为两个阶段进行:[1分]
(1)第一阶段—提交给可能顾客之前的建议草案评审;[1分] (2)第二阶段—签约前的合同草案评审,该阶段在建议和合同谈判期达成的理解基础上评审合同草案。[1分]
每个评审阶段完成后,要求建议组与法律部进行必要的修改、补充和改正。[1分] 3、 请列举典型的软件质量基础设施SQA部件?(不少于5个)
规程与工作条例、支持性质量手段、员工培训与认证、改正性和预防性措施、配置经管、文档编制控制
4、 请指出软件质量费用扩展模型对软件质量费用经典模型的扩展。 仔细考察经典软件质量费用模型的考察,我们将发现经典软件质量费用模型没有能够涵盖经管以及经管性失效导致的软件质量费用。[2分]
软件质量费用扩展模型拓展了经典软件质量费用模型,以涵盖经管人员对软件质量总费用的‘贡献’—软件质量的扩展模型:相对经典软件质量费用,软件质量费用扩展模型添加了经管性准备与控制费用和经管性失效费用。[2分]
(经管性准备与控制费用同实施的预防性经管失效或减少这些这些失效的预期出现的活动相关联;)
5、 请描述ISO 9000-3质量经管系统的基本原理
(1)顾客关注。机构依靠它们的顾客,所以应当理解当前的与未来的顾客需要; (2)领导--建立并维护一个积极的内部环境中行使领导权,以实现机构的目标;
(3)人们的投入。人是机构之本,他们在各机构层次的全身心投入使得他们的能力能用于为机构谋益;
(4)过程方法--当把活动与资源作为过程经管的时候,就更有效地达到理想的结果; (5)经管理的系统方法--把过程作为一个系统经管;
(6)持续改进--对全面性能正在进行的改进应当在机构的日程上优先; (7)决策制定的实在方法。有效决策是建立在信息分析的基础上的;
(8)相互支持的供货商关系。一个机构和它的供货商是互相依赖时,相互支持的供货由关系增强双方创造增加值的能力
6、传统质量成本和现代质量成本的主要区别有哪些?
传统的质量成本集中在与失效有关的事件和活动,如损坏、缺陷等。传统质量成本通常以报废、返工、返修等形式出现;
现代的质量成本的目的则在于通过预防和评估活动中的适当投入,减少与失效有关的活动。 1、 在软件产品与其他工业产品之间的区别主要有哪些?并描述这些不同?
软件产品和其他工业产品的主要区别有如下几点: (1)产品的复杂性;
产品的复杂性能够用产品许可的操作方式的数目来度量:工业产品,即使是高级机器,也不允许由其不同的机器组合建立的几千种以上的操作方式;一个典型的软件,人们可以发现上百万种软件操作的可能。 (2)产品的可见性; 工业产品是可见的,而软件产品是不可见的。工业产品的大多数缺陷可在制造过程中检测出来;然而软件产品的缺陷是不可见的,软件包中的组件可能从一开始就缺失了。 (3)产品开发和制造过程的特殊性。 同工业产品相比,软件产品不能在生产过程的所有三个阶段检测缺陷。能够检测缺陷的唯一阶段是开发阶段。
2、 高度螺旋模型每次迭代必需的活动包含哪些? 顾客的需求规格说明、意见与更改要求; 开发者的计划制定活动; 开发者的风险分析与化解; 开发者设计活动;
开发者关于编码、测试、发布的构造活动; 顾客的评价
3、请从SQA的角度,阐述分别编写用户需求文档和系统需求文档的理由?
(1)很自然人们会想到只有客户才会有兴趣透彻定义它的需求以确保他约定的软件产品的质量。他编制的需求文档是对低质量的基础防护;
(2)然而我们对各种软件质量因素的分析表明,开发者可以添加代表它自身利益的需求,例如可重用性需求、可验证性需求等;许多情况下,某些没有包括在典型客户需求文档中的质量因素确是开发者感兴趣的。而,诸如可移植性、可重用性、可验证性等质量因素,客户很少感兴趣。
这也就是人们为何分别编制客户需求文档和系统需求文档的理由。 4、主要的SQA维护基础设施工具有哪些?
主要的SQA维护基础设施工具有软件维护规程和工作条例、支持性软件质量手段、维护组的培训和认证、预防性和改正性措施、软件配置经管、软件维护文档和质量记录等 5、软件质量度量过程模型包含哪些活动? (1)软件质量需求的定义;
(2)软件质量度量和评估的准备; (3)软件质量度量的执行、分析和确认
6、传统质量成本和现代质量成本的主要区别有哪些?
(1)[2分]传统的质量成本集中在与失效有关的事件和活动,如损坏、缺陷等。传统质量成本通常以报废、返工、返修等形式出现;
(2)[2分]现代的质量成本的目的则在于通过预防和评估活动中的适当投入,减少与失效有关的活动。
六、应用题(每小题8分,共24分)
1、某软件需求规格说明中包含如下要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件修改。但是,如果第一列字符不正确,则输出信息L;如果第二列字符不是数字,则给出信息M。请采用因果图进行分析,并绘制出该软件需求规格说明对应的因果图。
(1) [4分]识别出所有原因和所有结果,并给出原因、结果元的编号如下: 编号 原因 1 2 3 11 21 22 23 第一列字符为A 第一列字符为B 第二列字符为一个数字 中间原因 修改文件 给出信息L 给出信息M
(2)[4分]识别所有原因与原因之间,原因与结果之间,结果与结果之间的关系,再次接触上绘制出因果图如下图所示。
2、某程序模块功能描述如下:用户输入分别合乎规则输入年、月、日,程序即给出相应日期的下一天。假设限定该模块年份在区间[1840,3000],月份、日规定满足公历约束。试分别选取测试数据对年进行(1)基本边界值测试和(2)健壮性测试。 假设该模块的输入:年、月、日分别使用变量year, month, day表示。 (1) [4分]基本边界值测试的测试数据
year值在有效取值区间内取极值,其他变量取正常值。依据基本边界值测试基本原理,测试数据选择如下:
组别 测试数据 1 2 3 4 5 year=1840, month=1, day=12 year=1841, month=2, day=20 year=2002, month=9, day=1 year=2999, month=11,day=10 year=3000, month=3, day=30 (2) [4分]健壮性测试的测试数据
year值在整个取值区间内取极值,其他变量取正常值。依据健壮性测试基本原理,数据选择如下:
组别 测试数据 1 2 3 4 5 6 year=1840, month=1, day=12 year=1841, month=2, day=20 year=2002, month=9, day=1 year=2999, month=11,day=10 year=3000, month=3, day=30 year=1839, month=4, day=19 7 year=3001, month=8, day=22
3、某程序模块如下,其中,S1, S2均为语句块:
if ((A>1) AND (B==0))
S1。
if ((A==2) OR (X>1))
S2。
(1) 请把上述代码转换成程序流程图 分别选择测试数据使得(2)判定覆盖、(3)条件组合覆盖规范都能够得到满足。 (1)[2分]程序流程图
S0 T (A>1) AND(B==0) S1 F T (A==2) AND(X>1) S2 F S3
(2)(2)[2分]判定覆盖规范 A=2, B=0, X=3; A=1, B=1, X=1
(3)[4分]条件组合覆盖 A=2, B=0, X=3; A=1, B=1, X=1; A=2, B=1, X=1 A=1, B=0, X=2
1、阅读如下C程序: int IsLeap(int year){ if(year % 4 ==0){
if(year % 100 ==0){ if(year %400 != 0) leap=1。 else leap=0。 }else
leap=1。
}else leap =0。
return leap。
要求: (1) 请绘制出左边代码对应的流图; (2) 计算所得流图的环形复杂度V(G)。 (3) 假设输入的取值范围为(1000, 20001),请用基本路径测试方法为变量year设计测试用例,使其满足基本路径测试的要求。 }
(1) [3分]流图
(2)[1分]V(G)=e-n+2=14-12+2=判定点数+1=区域数=4
(3)[4分]问题3要求设计满足基本路径覆盖的测试用例,而且输入的取值范围(1000, 2001)。所选择的测试数据只要使得独立路径数量得到满足即可。典型的测试数据为:
测试用例编号 1 2 3 4
2、被测程序段为: begin s1 ; if (x=0) and (y>2) then s2; if (x<1) or (y=1) then s3 ; s4 ; end 测试数据 year=1001 year=1004 year=1100 year=2000 预期执行结果 leap=0 leap=1 leap=0 leap=1 测试路径 1-2-3-11-12 1-2-4-5-10-11-12 1-2-4-6-7-9-10-11-12 1-2-4-6-8-10-11-12 可供选择的测试数据组合如下: x y Ⅰ 3 1 Ⅱ -1 2 Ⅲ 0 3 Ⅳ 1 2
找出实现(1)语句覆盖;(2)判定覆盖;(3)条件覆盖至少要选择的数据组。 (1)III [2分] (2)III, IV [3分] (3)I, III [3分] 3、拟对如下的软件结构:
A B C D E F
请图形的方式分别给出(1)深度优先的自顶向下集成测试策略、(2)自底向上集成测试策略的对上述软件结构进行集成测试的详细集成过程。
假设集成测试过程中必须的驱动模块、桩模块分别编号:MX、SX,其中X为整数即驱动模块或桩模块编号。
(1) [4分]深度优先的自顶向下集成测试策略 ① A ② A ③ A S1 S2 S3 B S2 S3 B S2 S3 S4 ④ ⑤ A E ⑥ A A B C S3 B C D B C D E E S5 E F
(2)[4分]自底向上集成测试策略
① D1 D2 D3 ② D4 D5 ③ A E C F B D B C D E F E F
1、有一段子程序:
procedure example(y,z: real。 var x: real) begin
if (y>1) and (z=0) then x:=x/y。 if (y=2) or (x=l) then x:=x+l。
end.
该子程序接受x, y, z的值,并将计算结果x的值返回给调用程序。 答题要求:
(1)把上述子程序转化成程序流程图。
(2)用白盒法设计测试用例,并使得所设计的一组或几组测试数据能够满足条件组合覆盖规范。
(1)程序流程图
(2)[4分]用白盒法中条件组合覆盖设计测试用例: ① y=2, z=0, x=4。② y=2, z=1, x=1。③ y=1, z=0, x=2。 ④ y=1, z=1, x=1.
2、某程序模块功能描述如下:用户输入分别合乎规则输入年、月、日,程序即给出相应日期的下一天。假设限定该模块年份在区间[1840,3000],月份、日规定满足公历约束。试分别选取测试数据对月份进行(1)基本边界值测试和(2)健壮性测试。 、假设该模块的输入:年、月、日分别使用变量year, month, day表示。
(1)[4分]基本边界值测试的测试数据:在各变量取值有效区间内,month取极值,其他变量取任意正常值。按照基本边界值测试原理,测试数据选取如下: 组别 测试数据 1 2 3 4 5 year=1840, month=1, day=12 year=1841, month=2, day=20 year=2002, month=9, day=1 year=2999, month=11,day=10 year=3000, month=12, day=30 (2)[4分]健壮性测试的测试数据:month值在整个取值空间中选择,其他变量取有效值区间中的任意值。按照健壮性测试原理,测试数据选取如下: 组别 测试数据 1 2 3 4 5 6 7 year=1840, month=1, day=12 year=1841, month=2, day=20 year=2002, month=9, day=1 year=2999, month=11,day=10 year=3000, month=12, day=30 year=1839, month=0, day=19 year=3001, month=13, day=22 3、变量的命名规则一般规定如下:变量名的长度不多于40个字符,第一个字符必须为英文字母,其他字母可以英文字母、数字以及下划线的任意组合。请用等价分类法设计测试用例。 (1)划分等价类[4分] 输入条件 合理等价类 不合理等价类 (1)小于40个字符 长度 (5)大于40个字符 (2)等于40个字符 (3)英文字母 (4)英文字母、数字或下划线的任意组合 第一个字符 其他字母 (6)非英文字母 (7) 空格 (8) 标点符号 (9) 运算符号 (10) 其他可显示字符 (2)设计测试用例[4分] 测试数据 s_name12 a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6p7q8r9s_tr a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6p7q8r9s_trff 234name ab gh Ab!2f Fg+ghh H@gh
测试范围 等价类(1),(3),(4) 等价类(2),(3),(4) 等价类(5) 等价类(6) 等价类(7) 等价类(8) 等价类(9) 等价类(10) 期望结果 有效 有效 无效 无效 无效 无效 无效 无效
因篇幅问题不能全部显示,请点此查看更多更全内容