当前位置:文档之家› 软件质量与测试期末复习(概念篇)

软件质量与测试期末复习(概念篇)

软件质量与测试期末复习(概念篇)
软件质量与测试期末复习(概念篇)

软件质量保证与测试期末复习

(概念篇)

1.软件质量:

(1)IEEE关于软件质量的定义。

软件质量是:1.系统、部件或者过程满足规定需求的程度。

2.系统、部件或者过程满足顾客或者用户需要或期望的程度。

(2)ANSI关于软件质量的定义。

具体包括:1.软件产品中能满足用户给定需求的全部特性的

集合。2.软件具有所期望的各种属性组合的程度。3.用户主

观得出的软件是否满足其综合期望的程度4.决定所用软件

在使用中能将满足其综合期望程度的软件合成特性。

2.软件质量保证(SQA):

(1)一种有计划的,系统化的行动模式,它是为项目或者产品符合己有技术需求提供充分信任所必需的。(2)设计用来评价开収或者制造产品的过程的一组活动,与质量控制有区别。

3.软件测试:

软件测试是使用人工或自动手段来运行或测定某个系统的过程,检测它是否满足规定的需求或者弄清预期结果与实际结果的差别。

4.软件测试的方法:

(1)静态方法和动态方法(2)黑盒测试、白盒测试和灰盒测试

(3)基于软件开収阶段的测试方法

需求测试单元测试集成测试性能测试压力测试容量测试配置测试回归测试安装测试安全性测5.软件测试的目的:

(1)证明:获取系统在可接受风险范围内可用的信心;尝试在非正常情况和条件下的功能和特性;保证一个工作产品是完整的并且可用或可被集成。

(2)检测:发现缺陷、错误和系统不足;定义系统的能力和局限性;提供组件、工作产品和系统的质量信息。

(3)预防:澄清系统的规格和性能;提供预防或减少可能制造错误的信息;在过程中尽早检测错误;确认问题和风险,并且提前确认解决这些问题和风险的途径。

6.测试过程中应注意和遵循的原则:

(1)测试不是为了证明程序的正确性,而是为了证明程序不能工作。(2)测试应当有重点。(3)事先定义好产品的质量标准。(4)软件项目一启动,软件测试也就开始,而不是等到程序写完才开始进行测试。

(5)穷举测试是不可能的。(6)第三方进行测试会更客观,更有效。(7)软件测试计划是做好软件测试工作的前提。(8)测试用例是设计出来的,不是写出来的。(9)对发现错误较多的程序段,应进行更深入的测试。(10)重视文档,妥善保存一切测试过程文档。

7.测试用例:

测试用例是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。其内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成文档。

简单的认为,测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,用于核实是否满足某个特定软件需求。

8.软件测试员应该具备的素质:

软件测试员是探索者;软件测试员是敀障排除员;软件测试员不放过蛛丝马迹;软件测试员具有创造性;软件测试员是追求完美者;软件测试员判断准确;软件测试员注重策略和外交;软件测试员善于说服。(1)一个优秀的测试工程师应该具备的基本素质有:责任心、沟通能力、团队精神、自信心、耐心、怀疑精神、洞察力、幽默感等……(2)应具备的专业素质有:有竞争力的测试人员要具有三方面的技能:计算机专业技能、测试专业技能、软件编程技能……

9.黑盒测试:

黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息的完整性。

10.白盒测试:

白盒测试把测试对象看作一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是

否与预期的状态一致。

(1)逻辑覆盖

语句覆盖:在测试时首先设计若干个测试用例,然后运行被测程序,使程序中的每个可执行语句至少执行一次。

判定覆盖:设计若干个测试用例,运行被测程序,使得程序中每个断的取真分支和取假分支至少经历一次,即判断的真假值均曾被满足。

条件覆盖:设计若干测试用例,执行被测试程序以后,要使每个判断中每个条件的可能取值至少满足一次。

判定-条件覆盖:设计足够的测试用例,使得判断中每个条件的所有可能至少

路径覆盖:设计足够多的测试用例,要求覆盖程序中所有可能的路径。

(2)基本路径

第一步:画出控制流图第二步:计算圈复杂度

1.流图中区域的数量对应于环形的复杂性;

2.V(G)=E-N+2,E是流图中边的数量,N是流图中结点的数量;

3.V(G)=P+1,P是流图G中判定结点的数量。

第三步:导出测试用例第四步:准备测试用例

11.单元测试

(1)定义:单元测试是指对软件中的最小可测试单元或基本组成单元进行检查和验证。

(2)测试内容:

接口测试局部数据结构测试重要执行路径测试

错误处理测试边界条件测试

(3)测试方法:1.驱动模块:用来模拟被测模块的上级调用模块,功能要比真正的上级模块简单得多,仅仅是接受测试数据,并向被测模块传送测试数据,启动被测模块,回收并输出测试

结果。2.桩模块:用来模拟被测模块在执行过程中所要调用的

模块。它接受被测模块输出的数据并完成它所指派的任务。12.集成测试

(1)定义:集成测试是在单元测试的基础上,将所有已通过单元测试的模块按照概要设计的要求组装为子系统或系统。进行

集成测试,目的是确保各单元模块组合在一起后能够按既定意

图协作运行,并确保增量的行为正确。这里需要强调的是,不

经过单元测试的模块是不应进行集成测试的,否则将对集成测

试的效果和效率带来巨大的影响。

(2)测试内容:

①将各模块连接起来时,穿越模块接口的数据是否会丢失。

②各子功能组合起来能否达到预期要求的父功能。

③一个模块的功能是否会对其他模块的功能产生不利影响。

④全局数据结构是否有问题,是否会被异常修改。

⑤单个模块的误差积累起来,是否会放大到不可接受的程度。

(3)测试方法:

①非增量式集成测试方法。

基本思路:首先将各模块独立地进行单元测试,然后把所有模块组装在一起进行测试,最终得到一个符合要求的软件系统。

②增量式集成测试方法。

基本思路:首先将各模块独立地进行单元测试,然后将这些模块逐步组装成较大的系统,在组装过程中边组装边测试,以发现在组装时产生的错误,最终组装成一个符合要求的软件系统。

a)自顶向下增量式集成测试:按照程序结构图,首先利用桩

模块测试主模板,通过测试后,用实际的模块替代桩模

块进行测试,重复上述步骤,直至代替了所有桩模块。

b)自底向上增量式集成测试:按照程序结构图,首先利用驱

动模块测试最底层模块,通过测试后,用实际的模块替

代驱动模块进行测试,重复上述步骤,直至代替了所有

驱动模块。

13.系统测试

(1)定义:系统测试是将已经过良好的集成测试的软件系统,作为整个计算机系统的一部分,与计算机硬件、外部设备、支持软件、数据以及人员等其他系统元素结合在一起,在实际使用(运行)环境下对计算机系统进行一系列的严格测试来发现软件中的潜在缺陷,保证系统交付给用户之后能够正常使用。

(2)测试内容:

功能测试性能测试强度测试可靠性测试恢复测试

安装测试安全性测试配置测试可用性测试

兼容性测试网站测试

14.验收测试1.α测试:α测试是在软件开发公司内模拟软件系统的运

行环境下的一种验收测试,即软件开发公司组织内部人员,模拟各类用户行为对即将面市的软件产品(成为α版本)进行测试,试图发现并修改错误。2.β测试:β测试紧随α测试之后,该测试是指软件开发公司组织各方面的典型用户在日常工作中实际使用β版本,并要求用户报告异常情况,提出批评意见。

15.回归测试

(1)定义:回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。

(2)测试策略

①测试用例库的维护。

删除过时的测试用例改进不受控制的测试用例

删除冗余的测试用例增添新的测试用例

②回归测试包的选择。

再测试全部用例基于风险选择测试

基于操作剖面选择测试再测试修改的部分

16.软件测试与软件开发的关系

(1)软件开发的目的是开发出实现用户需求的高质量、高性能的软件产品;软件测试以检查软件产品内容和功能特性为核心,是软件质量保证的关键步骤,也是成功实现软件开发目标

的重要保障。

(2) V 模型:

17. 软件质量与度量

(1) ANSI 关于软件质量的定义:与软件产品满足规定的和隐含

的需求的能力有关的特征和特性的全体。

(2) 度量方面:

1.软件产品中能满足用户给定需求的全部特性的集合。

2.软件具有所期望的各种属性组合的程度。

3.用户主管得出的软件是否满足其综合期望的程度。

4.决定所用软件在使用中将满足其综合期望程度的软件合成特性。

(3) McCall 模型

正确性:一个程序满足它的需求规约和实现用户任务目标的程度。 需求

规格说明

设计

实现

验收测试 系统测试 集成测试 单元测试 回归测试

V 模型

可靠性:一个程度满足其所需的精确度,完成它的预期功能程度。效率:一个程序完成其功能所需的计算资源和代码的质量。

完整性:对未授权人员访问软件或数据的可控制程度。

可使用性:学习、操作、准备输入和解释程序输出所需的工作量。可维护性:定位和修复程序中一个错误所需的工作量。

灵活性:修改一个运行的程序所需的工作量。

可测试性:测试一个程序以及确保它完成所期望的功能所需工作量。可移植性:把一个程序从一个硬件或软件系统环境在移植到另一个环境所需的工作量。

可复用性:一个程序可以在另外一个应用程序中复用的程度。

互连性:连接一个系统和另一个系统所需的工作量。

18.软件质量标准的类型

国际标准国家标准行业标准企业规范项目规范

19.软件的差错、故障、失效

(1)差错:1.计算的、观测的或测量的值与真实的、规定的或理论上正确的值或条件之间的差别。2.一个不正确的步骤、过

程或数据定义。3.一个不正确的结果。4.一次产生不正确的结果

的人的活动。

(2)故障:在一个计算机程序中出现的不正确的步骤、过程或数据定义常称为故障。上述“差错”中的第二项属于故障。

(3)失效:一个程序运行的外部结果与软件产品的要求出现不一致时称为失效。软件失效证明了软件中存在着故障。上述

“差错”中的第三项属于失效。

20.CMM

(1)定义:1.一个系统、组件或过程符合特定需求的程度。

2.一个系统、组件或过程符合客户或用户的要求或期望的程

度。

(2)CMM思想及其5个级别,CMMI的区别

CMM为软件过程改进提供了一个框架,将整个软件改进过程

分为5个成熟度等级,这5个等级定义了一个有序的尺度,用来衡量组织软件过程成熟度和评价其软件过程能力。

分为5个级别:初始级、可重复级、已定义级、已管理级、优化级。

CMMI与CMM最大的不同点在于:CMMISM-SE/SW/IPPD/SS1.1版本有4个集成成分,即系统工程(SE)和软件工程(SW)是基本的科目,对于有些组织还

可以应用集成产品和过程开发方面(IPPD)的内容,如果涉及供应商外包管理可以相应地应用SS(Supplier Sourcing)部分。

相关主题
文本预览
相关文档 最新文档