文档库 最新最全的文档下载
当前位置:文档库 › 南京工业大学软件质量与测试期末复习(概念篇)

南京工业大学软件质量与测试期末复习(概念篇)

南京工业大学软件质量与测试期末复习(概念篇)
南京工业大学软件质量与测试期末复习(概念篇)

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

(概念篇)

1.软件质量:

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

软件质量是:

?系统、部件或者过程满足规定需求的程度。

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

度。

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

具体包括:

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

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

?用户主观得出的软件是否满足其综合期望的程度

?决定所用软件在使用中能将满足其综合期望程度的软件

合成特性。

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.软件测试员应该具备的素质:

?软件测试员是探索者;

?软件测试员是敀障排除员;

?软件测试员不放过蛛丝马迹;

?软件测试员具有创造性;

?软件测试员是追求完美者;

?软件测试员判断准确;

?软件测试员注重策略和外交;

?软件测试员善于说服。

9.黑盒测试:

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

10.白盒测试:

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

(1)逻辑覆盖

a)语句覆盖:

在测试时首先设计若干个测试用例,然后运行被测程序,使

程序中的每个可执行语句至少执行一次。

b)判定覆盖:

设计若干个测试用例,运行被测程序,使得程序中每个判断

的取真分支和取假分支至少经历一次,即判断的真假值均曾

被满足。

c)条件覆盖:

设计若干测试用例,执行被测试程序以后,要使每个判断中

每个条件的可能取值至少满足一次。

d)判定-条件覆盖:

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

e)路径覆盖:

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

(2)基本路径

第一步:画出控制流图

第二步:计算圈复杂度

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

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

量;

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

第三步:导出测试用例

第四步:准备测试用例

11.单元测试

(1)定义:

单元测试是指对软件中的最小可测试单元或基本组成单元进

行检查和验证。

(2)测试内容:

①接口测试

②局部数据结构测试

③重要执行路径测试

④错误处理测试

⑤边界条件测试

(3)测试方法:

①驱动模块:用来模拟被测模块的上级调用模块,功能要比

真正的上级模块简单得多,仅仅是接受测试数据,并向被

测模块传送测试数据,启动被测模块,回收并输出测试结

果。

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

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

12.集成测试

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

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

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

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

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

(2)测试内容:

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

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

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

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

⑤单个模块的误差积累起来,是否会放大到不可接受的程度。(3)测试方法:

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

基本思路:首先将各模块独立地进行单元测试,然后把所

有模块组装在一起进行测试,最终得到一个符合要求的软

件系统。

②增量式集成测试方法。

基本思路:首先将各模块独立地进行单元测试,然后将这

些模块逐步组装成较大的系统,在组装过程中边组装边测

试,以发现在组装时产生的错误,最终组装成一个符合要

求的软件系统。

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

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

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

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

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

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

有驱动模块。

13.系统测试

(1)定义:系统测试是将已经过良好的集成测试的软件系统,作为整个计算机系统的一部分,与计算机硬件、外部设备、支

持软件、数据以及人员等其他系统元素结合在一起,在实际使

用(运行)环境下对计算机系统进行一系列的严格测试来发现

软件中的潜在缺陷,保证系统交付给用户之后能够正常使用。

(2)测试内容:

?功能测试

?性能测试

?强度测试

?可靠性测试

?恢复测试

?安装测试

?安全性测试

?配置测试

?可用性测试

?兼容性测试

?网站测试

14.验收测试

(1)α测试:α测试是在软件开发公司内模拟软件系统的运行环境下的一种验收测试,即软件开发公司组织内部人员,模拟

各类用户行为对即将面市的软件产品(成为α版本)进行测试,

试图发现并修改错误。

(2)β测试:β测试紧随α测试之后,该测试是指软件开发公司组织各方面的典型用户在日常工作中实际使用β版本,并要

求用户报告异常情况,提出批评意见。

15.回归测试

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

(2)测试策略

①测试用例库的维护。

a)删除过时的测试用例

b)改进不受控制的测试用例

c)删除冗余的测试用例

d)增添新的测试用例

②回归测试包的选择。

a)再测试全部用例

b)基于风险选择测试

c)基于操作剖面选择测试

d)再测试修改的部分

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

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

是软件质量保证的关键步骤,也是成功实现软件开发目标的重要保障。

(2) V 模型:

17. 软件质量与度量

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

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

(2) 度量方面:

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

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

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

④ 决定所用软件在使用中将满足其综合期望程度的软件合成

特性。

(3) McCall 模型

需求

规格说明

设计

实现

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

V 模型

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

的程度。

②可靠性:一个程度满足其所需的精确度,完成它的预期功

能程度。

③效率:一个程序完成其功能所需的计算资源和代码的质量。

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

⑤可使用性:学习、操作、准备输入和解释程序输出所需的

工作量。

⑥可维护性:定位和修复程序中一个错误所需的工作量。

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

⑧可测试性:测试一个程序以及确保它完成所期望的功能所

需工作量。

⑨可移植性:把一个程序从一个硬件或软件系统环境在移植

到另一个环境所需的工作量。

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

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

18.软件质量标准的类型

国际标准

?国家标准

?行业标准

?企业规范

?项目规范

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

(1)差错:

①计算的、观测的或测量的值与真实的、规定的或理论上正

确的值或条件之间的差别。

②一个不正确的步骤、过程或数据定义。

③一个不正确的结果。

④一次产生不正确的结果的人的活动。

(2)故障:

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

(3)失效:

一个程序运行的外部结果与软件产品的要求出现不一致时称为失效。软件失效证明了软件中存在着故障。上述“差错”中的第三项属于失效。

20.CMM

(1)定义:

①一个系统、组件或过程符合特定需求的程度。

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

度。

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

CMM为软件过程改进提供了一个框架,将整个软件改进过程分为5个成熟度等级,这5个等级定义了一个有序的尺度,用来衡量组织软件过程成熟度和评价其软件过程能力。分为5个级别:初始级、可重复级、已定义级、已管理级、优化级。

CMMI与CMM最大的不同点在于:CMMISM-SE/SW/IPPD/SS1.1版本有4个集成成分,即系统工程(SE)和软件工程(SW)是基本的科目,对于有些组织还可以应用集成产品和过程开发方面(IPPD)的内容,如果涉及供应商外包管理可以相应地应用SS (Supplier Sourcing)部分。

软件测试工程师高级视频教程

软件测试工程师高级视频教程 什么是软件测试?为什么有这么多人选择学习软件测试?软件测试有超强的预判能力,拯救用户,拯救软件,避免未来软件被用户无情卸载的命运。2018年软件测试将延续近两年火爆的发展势头,千锋出品的软件测试工程师高级视频教程,将为广大软件测试爱好者的高效自学提供可能。 下面就来说说千锋教育软件测试教学团队全新录制的5章视频教程都涵盖哪些内容。 软件测试工程师高级视频教程:https://www.wendangku.net/doc/6e1859537.html,/s/1dFm5wbR 软件测试工程师高级视频教程第一章:在本章中,老王详细向学生们介绍了软件测试的历史,软件测试的目的,软件测试的对象、软件测试概念等具体知识。

让学生一方面逐步熟悉软件测试的一些经典理论和思想,另一方面结合知识概念从根本的角度理解软件测试是什么,以及软件测试的重要性。 软件测试工程师高级视频教程第二章:本章课程主要是向学生讲解软件测试过程模型。但为了让学生们更好的理解这个知识点,我们需要先去了解什么是软件的生命周期,软件生命周期都包含哪些具体活动?什么是软件开发的过程,软件开发团队的工作过程模型都有哪些。只有充分了解了这些内容,我们在学习软件测试过程模型的时候,才会更好的掌握相关的知识与概念。 软件测试工程师高级视频教程第三章:本集视频主要介绍了从开发角度划分的5类测试方法 软件测试工程师高级视频教程第四章:本章主要讲解软件测试计划的内容。测试计划是一切软件测试活动开始前的准备工作,通过对测试计划的分析与编写,实际是让相关参与者提前了解未来软件测试过程中应该重点关注的各项内容。所以所有软件测试工程师必备的一项技能。 软件测试工程师高级视频教程第五章:本章的内容主要带领各位同学去一起关注了解关于需求的各项知识。需求是测试工程师工作过程中的行动纲领,需要测什么,为什么需要测都是与需求中的具体要求相关。同时,需求过程中引入缺陷的几率很大,而发现后修复其的成本却很低,所以了解需求,掌握需求分析方法,熟练编写测试需求也是软件测试工程师的重要技能之一。 目前软件测试人才的缺口在30万人以上,IT行业国内外巨头正在加紧争夺软件测试人才,华为一次抛出50名软件测试人员的招聘大单,而联想、用友、

《软件测试技术》期末复习题+参考答案

单项选择题:共20小题,每小题1 分,满分20分;请将答案填入题后括号中。 1.在软件生命周期的哪一个阶段,软件缺陷修复费用最低( A ) (A)需求分析(编制产品说明书)(B)设计 (C) 编码(D)产品发布 2.单元测试中用来模拟被测模块调用者的模块是( C ) (A) 父模块(B)子模块 (C)驱动模块(D)桩模块 3.为了提高测试的效率,应该( D ) (A)随机地选取测试数据; (B)取一切可能的输入数据作为测试数据; (C)在完成编码以后制定软件的测试计划; (D)选择发现错误可能性大的数据作为测试数据。 4.侧重于观察资源耗尽情况下的软件表现的系统测试被称为( B ) (A)强度测试(B)压力测试 (C) 容量测试(D)性能测试 5.必须要求用户参与的测试阶段是( D ) (A)单元测试(B)集成测试 (C) 确认测试(D)验收测试 6.软件测试员究竟做些什么。( C ) (A)软件测试员的目的是发现软件缺陷 (B)软件测试员的目的是发现软件缺陷,尽可能早一些 (C)软件测试员的目的是发现软件缺陷,尽可能早一些,并确保其得以修复 (D)软件测试员的目的是发现软件缺陷,尽可能早一些,并将其得以修复 7.下面四种说法中正确的是( C ) (A)因果图法是建立在决策表法基础上的一种白盒测试方法; (B)等价类划分法是边界值分析法的基础; (C)健壮性等价类测试的测试用例要求在有效等价类中取值; (D)在任何情况下做黑盒测试皆应首先考虑使用错误推断法。 8.不属于单元测试内容的是( A ) (A)模块接口测试(B)局部数据结构测试 (C) 路径测试(D)用户界面测试 9.划分软件测试属于白盒测试还是黑盒测试的依据是( C ) (A)是否执行程序代码 (B)是否能看到软件设计文档 (C)是否能看到被测源程序 (D)运行结果是否确定 10.下列项目中不属于测试文档的是( C ) (A)测试计划(B)测试用例 (C) 程序流程图(D)测试报告 11.几乎没有产品计划、进度安排和正规的开发过程的软件开发模式是( B ) (A)大棒模式(B)边写边改模式 (C) 瀑布模式(D)快速原型开发模式 12.如果某测试用例集实现了某软件的路径覆盖,那么它一定同时实现了该软件的( A ) (A)判定覆盖(B)条件覆盖 (C) 判定/条件覆盖(D)组合覆盖 13.下列说法不正确的是( D ) (A)测试不能证明软件的正确性; (B)测试员需要良好的沟通技巧; (C)QA与testing属于一个层次的概念; (D)成功的测试是发现了错误的测试。 14.对Web网站进行的测试中,属于功能测试的是( B ) (A)连接速度测试(B)链接测试 (C)平台测试(D)安全性测试 15.在进行单元测试时,常用的方法是( B ) (A)采用黑盒测试,辅之以白盒测试; (B)采用白盒测试,辅之以黑盒测试; (C)只使用黑盒测试; (D)只使用白盒测试。

《软件测试基础》期末试卷及参考答案

期末试卷先锋学院2011-2012学年第二学期 《软件测试技术》试题库答案 一、填空题(每空2分,共15空,分数为30分) 1、判定覆盖设计足够多的测试用例,使得被测试程序中的每个判断的“真”、“假”分支至少被执行一次。 2、黑盒测试的具体技术方法等价类划分法、边界值分析法、决策表法、因果图法。 3、黑盒测试又称之为功能测试。 4、等价类划分有两种不同的情况:有效等价类和无效等价类。 5、根据覆盖目标的不同,逻辑覆盖又可分为:语句覆盖,判定覆盖,条件覆盖,路径覆盖条件组合覆盖,判断/条件覆盖。 6、根据软件生命周期中的定义,可以把自动化测试工具划分3大类白盒 测试工具、黑盒测试工具和测试管理工具。 7、软件测试是为发现程序中的错误而执行程序的过程。 8、测试用例是由测试输入数据和预期的输出数据两部分组成。 9、白盒测试又称为结构测试,可以分为静态测试和动态测试两大类。 10、软件是包括程序、数据、相关文档的完整集合。 11、边界值分析法属于黑盒测试。 12、单元测试是以详细设计说明书为指导,测试源程序代码。 13、集成测试以概要设计说明书指导,测试软件结构。 14、确认测试以需求分析说明书为指导。 15、软件开发的基本过程需求分析、概要设计、详细设计、编码、测试、 维护。

16、代码复审属于静态测试,不实际运行程序。 17、集成测试把模块组成成系统的测试方式:一次性集成测试和。 18、黑盒测试有两种基本方法,即:通过测试和失败测试。增量式集成测试 20、Junit是一个开放源代码的 java 测试框架,用于编写和运行可重复的测试。 21、在Junit中3.8中testXXX()测试方法必须满足几个条件:public , void 和无方法参数。 二、选择题(每题3分,共10题,分数为30分) 1. 下列哪一项不是白盒测试?(C) A.单元测试 B.集成测试 C.系统测试 D.回归测试 2. 属于黑盒测试的方法?(C) A.基于基本路径 B.控制流 C.基于用户需求测试 D.逻辑覆盖3.在Assert类中断言对象为NULL是_____。(C) A.assertEquals B.assertTrue C.assertNull D.fail 4.___________的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需求。(A) A.系统测试B.集成测试 C.单元测试D.功能测试 5.在Assert类中断言两个对象相等是_____。(A) A.assertEquals B.assertTrue C.assertSame D.fail 6.有一组测试用例使得每一个被测试用例的分支覆盖至少被执行一次,它满足的覆盖标准___________。(B)

软件测试技术经典教程笔记(修).docx

第一章基础知识 1.1、软件 1)、软件=程序+文档 2)、分类 功能:系统+应用 架构:单机+C/S+B/S 用户:产品+项目 规模:小型+中型+大型 1.2、Bug 1)、类型一(广义上,软件生命周期,与用户需求不符的问题): 完全没有实现的功能 基本实现功能,但有功能上或性能上的问题 实现了用户不需要的功能 2)、类型二(测试执行阶段的问题) Defect---------Requirements&Design Error-----------Development Bug------------Testing Failure---------Post production 1.3、测试 1)、概念: 测试是为了检验实际的软件是否符合用户需求,所以不能为了发现错误而发现错误。使用人工或自动手段,来运行或测试某个系统的过程。 2)、测试环境:硬件+软件+网络 要求:真实(项目、产品)+干净+无毒+独立(测试与开发) 1.4、测试用例 测试用例=输入+输出+测试环境 便于团队交流,便于重复测试,便于跟踪统计,比纳与用户自测 开发生命周期 需求分析→概要设计→详细设计→编码→维护 测试生命周期 测试计划→测试设计→测试执行→测试评估 需求分析和测试计划完成后,根据《系统需求规格说明书》和软件原型(DEMO)写测试用例 1.5 其他 1)、测试人员素质要求:细心、耐心、信心、服务意识、团队合作意识、沟通能力 2)、如何成为优秀的测试工程师:1、不断学习充电2、阅读原版书籍3、阅读缺陷管理系 统中的缺陷报告4、阅读高手写的测试用例5、学习产品相关 的业务知识

1.6 软件测试的基本规则 1) Zero Bug 与Good Enough Good Enough原则:不充分测试是不负责任,过分的测试是一种资源浪费。 参考:*遗留bug不超过10个,严重的不超过5个 *测试用例执行率为100%,通过率为95% *单元测试,关键模块语句覆盖率达到100%,分支覆盖率达到85% 2) 不要视图穷举法 3) 开发人员不能既是运动员又是裁判员 4) 软件测试要尽早执行 一般情况下,软件80%的缺陷集中在20%的模块中。 7) 缺陷具有免疫性 缺陷具有免疫性,需要根据新版本修改维护测试用例,另外,有一个值得注意的经验:没修复3-4个bug,可能会产生一个新bug。 第二章测试分类 2.1、是否运行程序 Static Testing------------代码规范、界面、文档 Dynamic Testing--------运行程序 2.2、根据阶段分类 Unit Testing(单元测试)----------10% 最小模块,依据源程序和《详细设计》 白盒测试人员||开发人员 编译代码→静态测试→动态测试 桩模块(Stub)、驱动模块(Driver) Integration Testing(集成测试)----------20% 模块间的接口,依据单元测试的模块和《概要设计》 白盒测试人员||开发人员 一般单元和集成同步进行 System Testing(系统测试)----------40% 整个系统(功能、性能、软硬件环境),依据《需求规格说明书》 黑盒测试工程师 Acceptance Testing(验收测试)----------20% 整个系统(功能、性能、软硬件环境),依据《需求规格说明书》和验收标准

软件测试基础期末试卷及参考答案

1、判定覆盖设计足够多的测试用例,使得被测试程序中的每个判断的“真”、“假”分支_至少被执行一次。 2、黑盒测试的具体技术方法 ____________、 __________、 __________、____________。 等价类划分法,边界值分析法,决策表法,因果图法 3、黑盒测试又称之为___________测试。 功能 4、等价类划分有两种不同的情况:____________和____________。 有效等价类,无效等价类 5、根据覆盖目标的不同,逻辑覆盖又可分为:________________,_____________,_______________,__________________,条件组合覆盖,判断/条件覆盖。 语句覆盖,判定覆盖,条件覆盖,路径覆盖 6、根据软件生命周期中的定义,可以把自动化测试工具划分3大类____________,____________和 ____________。 白盒测试工具、黑盒测试工具、测试管理工具 7、软件测试是为发现程序中的______________而执行程序的______________。 错误,过程 8、测试用例是由______________和预期的______________两部分组成。 测试输入数据,输出数据 9、白盒测试又称为______________,可以分为______________和______________两大类。 结构测试,静态测试,动态测试 10、软件是包括____________﹑____________﹑____________的完整集合。 程序,数据,相关文档 11、边界值分析法属于____________。 黑盒测试 12、单元测试是以____________说明书为指导,测试源程序代码。 详细设计 13、集成测试以____________说明书指导,测试软件结构。 概要设计 14、确认测试以____________说明书为指导。 需求分析 15、软件开发的基本过程____________,_____________,_______________,_____________, _____________,______________。 需求分析、概要设计、详细设计,编码,测试、维护 16、代码复审属于____________,不实际运行程序。 静态测试 17、集成测试把模块组成成系统的测试方式:_____________和______________。 一次性集成测试,增量式集成测试 18、黑盒测试有两种基本方法,即:_____________和______________。 通过测试,失败测试 二、选择题(每题3分,共10题,分数为30分) 1. 下列哪一项不是白盒测试(C) A.单元测试 B.集成测试 C.系统测试 D.回归测试 2. 属于黑盒测试的方法(C) A.基于基本路径 B.控制流 C.基于用户需求测试 D.逻辑覆盖 3.在Assert类中断言对象为NULL是_____。(C) 4.___________的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需求。(A)

软件测试期末复习

选择题 1、软件测试的目的是发现软件错误 2、按照测试组织,可将测试划分为开发测试、用户测试、第三方测试。下面关于开发测试措施描述正确的是1、开发方测试通常也叫“验证测试”或“Alpha测试”。2、用户测试又称为“Beta测试”。 3、开发方测试可以从软件产品编码结束后开始,或在模板(子系统)测试完成后开始,也可以再确认测试过程中产品达到一定的稳定和可靠程度之后再开始。 4、用户测试主要是把软件产品有计划地免费分发在目标市场,让用户大量使用,并评价,检查软件。 3、V模型描述了软件基本额的开发过程和测试行为,描述了不同的测试阶段与开发过程各阶段的对应关系,其中,集成测试阶段对应的开发阶段是概要设计阶段,系统测试阶段对应的开发阶段是软件概要设计阶段,功能测试阶段对应的开发阶段是详细设计阶段,单元测试阶段对应的开发阶段是编码阶段。 4、广义的软件测试由“确认”、“验证”、“测试”三个方面组成。其中“确认”是想证实在一个给定的外部环境中软件的逻辑正确性,检查软件在最终的运行环境上是否达到预期的目标。而验证是试图证明软件在软件生命周期各个阶段以及阶段间的逻辑性、完备性和正确性。 5、白盒测试也称结构测试或逻辑驱动测试,典型的白盒测试方法包括静态测试和动态测试。其中,静态测试除了静态结构分析法、静态质量度量法外,还有代码检查法。 6、软件质量保证的主要目标包括1、通过预防、检查与改进来保证软件质量。2、保证开发出来的软件和软件开发过程符合相应标准与规则。3、确保项目组制定的计划、标准和规程适合项目需要,同时满足评审和审计需要。 7、关于软件测试与质量保证,正确的是软件测试是软件质量保证的重要手段。软件测试是关注具体结果是否符合标准,软件质量保证是关注过程是否符合规定。 8、设计功能测试用例的根本依据是用户需求规格说明书。 9、软件测试原则中指出“完全测试是不可能的”,主要原因是输入量太大,输出结果太多以及路径组合太多。 10、以下关于设计功能测试用例的叙述,功能测试用例中不包括功能的依从性测试用例是不正确的。 11、以下关于不同类型的软件测试的叙述,正确的是确认测试是通过检验和、或检查所提供的客观证据,证实软件是否满足特定预期用途的需求。 12、对需求说明书评测的内容包括1、系统定义的目标是否与用户的需求一致。2、被开发项目的数据流与数据结构是否足够、确定。3、与所有其他系统交互的重要接口是否都已经描述。4、主要功能是否已包括在规定的软件范围之内,是否都已经充分说明。 13、有关评估系统效率质量特效,正确的是响应时间和交易执行吞吐量都是用来衡量系统执行快慢的。 14、关于软件系统安全防护策略的叙述中,1、网闸的主要目的是实现内网和外网的物理隔离。2、防火墙的主要目的是实现内网和外网的逻辑隔离。3、安全日志属于被动防护策略。 4、入侵检测系统通常部署在防火墙之内。 15、目前信息系统所使用的主要用户认证机制,身份识别标识包括指纹、智能卡、数字证书。

软件测试基本概念

软件测试基本概念 1、测试分类 从不同的角度,可以把软件测试技术分成不同种类:(4个维度) 1.1从是否需要执行被测软件的角度分类: 1.1.1静态测试(代码评审、文档会审) 指以人工的、非形式化的方法对软件进行分析和测试。如文档评审、代码会审。 1.1.2动态测试(功能测试和性能测试) 1.2按测试方法分类 1.2.1黑盒测试 不考虑程序的内部逻辑结构与特性,只根据程序功能或程序的外部特性进行测试,注重于测试软件的功能性需求。 1.2.2白盒测试 分析程序的内部逻辑结构,选择适当的覆盖标准,对主要路径进行尽可能多的测试。 1.2.3灰盒测试 不需要懂代码,只需懂接口、集成。 1.3按测试阶段分类 1.3.1单元测试(一般是开发人员进行) 指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能。 1.3.2集成测试 是在单元测试基础上,将模块和模块结合成一个完整的系统进行测试,重视的是接口测试。 1.3.3系统测试

系统测试是将经过集成测试的软件,作为计算机系统的一个部分,与系统中其他部分结合起来,在运行环境下对计算机系统进行的一系列严格有效的测试。包含的测试类型: 1) 功能测试,测试软件系统的功能是否正确。 2) 性能测试,测试系统的负载。 3) 健壮性测试,测试软件系统在异常情况下能否正常运行的能力。健壮性有两 层含义:一是容错能力,二是恢复能力。 1.3.4确认测试(依据需求规格说明书) 又称有效性测试,检查软件的功能与性能是否与需求规格说明书中确定的指标相符。主要做功能测试和性能测试。 1) Alpha 测试:在开发环境中,模拟各类用户对即将发布的产品进行测试。 2) Beta 测试:在真实运行环境下实施的测试。 1.3.5验收测试 是指系统开发生命周期方法论的一个阶段,这时相关的用户或独立测试人员根据测试计划和结果对系统进行测试和接收。它让系统用户决定是否接收系统。它是一项确定产品是否能够满足合同或用户所规定需求的测试。 一般包含五类: 1) 功能确认测试:用户手册中提及的所有功能测试 2) 安全性测试:用户权限限制测试;系统备份与恢复测试;异常情况及网络故 障对系统的影响测试。 3) 兼容性测试:软件在规定的不同操作系统、数据库、浏览器运行是否正常。 4) 性能测试:系统性能指标和资源占有率测试。 5) 用户文档测试:各类文档描述清晰,包括软件安装、卸载测试。 1.4测试种类 1.4.1数据库设计测试(开发和设计阶段) 1.4.2需求测试(需求阶段) 1.4.3功能测试 1.4.4性能测试 1.4.5其他测试类型:安全性测试、兼容性测试、用户文档测试、单元测试、接口测试、冒烟测试 2、常用名词解释 1) 软件测试:在规定的条件下对程序进行操作,以发现错误,对软件质量进行 评估的一个过程,它是保障软件质量的重要方法。 2) 边界值:边界值就是软件操作界限所在的边缘条件。 3) 因果图法: 因果图方法是一种利用图解法分析输入条件的各种组合情况,从

最全软件测试基础教程(2011版)

软件测试基础教程 测试的基本概念 测试是软件生存周期中十分重要的一个过程,是产品发布、提交给最终用户前的稳定化阶段。 1、测试的分类: 从测试方法的角度可以分为手工测试和自动化测试。 手工测试:不使用任何测试工具,根据事先设计好的测试用例来运行系统,测试各功能模块。 自动化测试:利用测试工具,通过编写测试脚本和输入测试数据,自动运行测试程序。目前最常用的自动化测试工具是基于GUI的自动化测试工具,基本原理都是录制、回放技术。 从整体的角度可以分为单元测试、集成测试、系统测试、确认测试。 单元测试:是针对软件设计的最小单位—程序模块,进行正确性检验的测试工作。一般包括逻辑检查、结构检查、接口检查、出错处理、代码注释、输入校验、边界值检查。 单元测试的依据是系统的详细设计;一般由项目组开发人员自己完成。 集成测试:在单元测试的基础上,将所有模块按照设计要求组装进行测试。一般包括逻辑关系检查、数据关系检查、业务关系检查、模块间接口检查、外部接口检查。 系统测试:系统测试是在所有单元、集成测试后,对系统的功能及性能的总体测试。 确认测试:模拟用户运行的业务环境,运用黑盒测试方法,验证软件系统是否满足用户需求或软件需求说明书中指明的软件特性(功能、非功能)上的。 从测试原理上分为:白盒测试、黑盒测试和灰盒测试。 白盒测试:是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。 黑盒测试:是通过使用整个软件或某种软件功能来严格地测试, 而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。在测试时,把程序看作一个不能打开的黑盆子, 在完全不考虑程序内部结构和内部

2015--软件测试--期末重点复习资料

第一章 1.软件测试正反两方面的观点 正面观点:Bill Hetzel博士(软件测试领域的先驱,正向思维代表)主要观点是:软件测试是为了验证软件是否符合用户需求,即验证软件产品是否能正常工作。 反面观点:Glenford J. Myers(反向思维的代表): 观点:测试是为了证明程序有错,而不是证明程序无错误。 2.软件测试的定义 IEEE 的定义: ?在特定的条件下运行系统或构件,观察或记录结果,对系统的某个方面做出评价。 ?分析某个软件项以发现现存的与要求的条件之差别(即错误)并评价此软件项的特性。 正确的定义:软件测是由“验证(Verification)”和“有效性确认(Validation)”活动构成的整体。 3.软件测试在软件开发中的地位 软件开发是生产制造软件;软件测试是验证开发出来软件的质量。类比传统加工制造企业,软件开发人员就是生产加工的工人,软件测试人员就是质检人员。 关系应该是: 1、没有软件开发就没有测试,软件开发提供软件测试的对象。 2、软件开发和软件测试都是软件生命周期中的重要组成部分

3、软件开发和软件测试都是软件过程中的重要活动。 4、软件测试是保证软件开发产物质量的重要手段。(网上) 4.P11 V模型 第二章 1.软件缺陷 定义:IEEE STD 729(1983)对软件缺陷给出了一个标准的定义: 从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题。 从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。主要类型:软件缺陷的主要类型/现象有: ?功能、特性没有实现或部分实现; ?设计不合理,存在缺陷; ?实际结果和预期结果不一致; ?运行出错,包括运行中断、系统崩溃、界面混乱;

(完整版)软件测试基础习题及答案

1、软件测试的定义? 软件测试是一个过程或者一系列过程,用来确认计算和代码完成了其应该完成的功能,并且不执行其不应该有的操作。 2、软件测试的目标是什么? 是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,降低软件发布后由于潜在的软件错误和缺陷造成的隐患所带来的商业风险。 3、简单描述一下软件测试的原则? 所有的软件测试都应追溯到用户需求 应当把“尽早地和不断地进行软件测试”作为测试者的座右铭 Good Enough原则 质量第一 充分注意测试中的群集现象 程序员应避免检查自己的程序 有据可依 尽量避免软件测试的随意性,要有预期结果 重视回归测试 妥善保存一切测试过程文档 4、软件测试中验证和确认的区别? Verfication 验证: 是保证软件正确实现特定功能的一系列活动和过程。 目的是保证软件生命周期中的每一个阶段的成果满足上一个阶段设定的目标。 Validation 确认: 是保证软件满足用户需求的一系列的活动和过程。 目的是在软件开发后保证与用户需求符合 5、软件测试按照测试的基本策略可分为哪两种并加以详细说明? 白盒测试: 白盒测试也称结构测试或逻辑驱动测试,是指基于一个应用代码的内部逻辑知识,即基于覆盖全部代码、分支、路径、条件的测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。

黑盒测试: 黑盒测试是指不基于内部设计和代码的任何知识,而基于需求和功能性的测试,黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主要用于软件确认测试。 6、整个软件生命周期中,需要进行哪几项测试? 单元测试、集成测试、系统测试、验收测试 单元测试 单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。因为单元测试需要知道内部程序设计和编码的细节知识,一般应由程序员而非测试员来完成,往往需要开发测试驱动模块和桩模块来辅助完成单元测试。因此应用系统有一个设计很好的体系结构就显得尤为重要。 一个软件单元的正确性是相对于该单元的规约而言的。因此,单元测试以被测试单位的规约为基准。单元测试的主要方法有控制流测试、数据流测试、排错测试、分域测试等等。 集成测试 集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。它根据集成测试计划,一边将模块或其他软件单位组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。集成测试的策略主要有自顶向下和自底向上两种。 系统测试 系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的“先知者问题”。因此,系统测试应该按照测试计划进行,其输入、输出和其他动态运行行为应该与软件规约进行对比。软件系统测试方法很多,主要有功能测试、性能测试、随机测试等等。 验收测试 验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集。所不同的是,验收测试常常有软件系统的购买者代表在现场,甚至是在软件安装使用的现场。这是软件在投入使用之前的最后测试。

软件工程(清华钱乐秋版)期末复习重点

1、什么是软件工程 在《计算机科学技术百科全书》中软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。 2、软件生存周期分哪几个阶段分别简述各个阶段的任务。 答:软件生存周期有计算机系统工程、需求分析、设计、编码、测试、运行和维护6个阶段。 A 计算机系统工程的任务是确定待开发软件的总体要求和范围,以及该软件与其他计算机 系统元素之间的关系,进行成本估算,做出进度安排,并进行可行性分析,即从经济、技术、法律等方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中做出选择。 B 需求分析主要解决待开发软件要“做什么”的问题,确定软件的功能、性能、数据、界面 等要求,生成软件需求规约。 C 软件设计只要解决待开发软件“怎么做”的问题。软件设计通常可分为系统设计和详细设 计。系统设计的任务是设计软件系统的体系结构,包括软件系统的组成成分、各成分的功能和接口、成分间的连接和通信,同时设计全局数据结构。详细设计的任务是设计各个组成成分的实现细节,包括局部数据结构和算法等。 D 编码阶段的任务是用某种程序设计语言,将设计的结果转换为可执行的程序代码。 E测试阶段的任务是发现并纠正软件中的错误和缺陷。测试主要包括单元测试、集成测试、确认测试和系统测试。 F软件完成各种测试后就可交付使用,在软件运行期间,需对投入运行的软件进行维护,即可发现了软件中潜藏的错误或需要增加新的功能或使软件适应外界环境的变化等情况出现时,对软件进行修改。 3、简述各类软件过程模型的特点。 答:典型的软件过程模型有:瀑布模型、演化模型(增量模型、原型模型、螺旋模型)、喷泉模型、基于构件的开发模型和形式方法模型等。 A瀑布模型中,上一阶段的活动完成并经过评审后才能开始下一阶段的活动,其特征是: 接受上一阶段活动的结果作为本阶段活动的输入; 依据上一阶段活动的结果实施本阶段应完成的活动; 对本阶段的活动进行评审; 将本阶段活动的结果作为输出。 B 增量模型将软件的开发过程分成若干个日程时间交错的线性序列,每个线性序列产生软 件的一个可发布的增量版本,后一个版本是对前一个版本的修改和补充,重复增量发布的过程,直至产生最终的完善产品。 C 原型方法从软件工程师与客户的交流开始,其目的是定义软件的总体目标,标识需求。 然后快速制定原型开发的计划,确定原型的目标和范围,采用快速设计的方式对其建模,并构建模型。被开发的原型应交付给客户使用,并收集客户的反馈意见,这些反馈意见可在下

软件测试期末考试(含答案)分析

1. 软件缺陷是由很多方面造成的,以下哪个方面是造成软件缺陷的最多 的地方( A ) A. 规格说明书 B. 系统设计结果 C. 编写代码 D. 其他 2. 覆盖准则最强的是( D ) A. 语句覆盖 B. 判定覆盖 C. 条件覆盖 D. 路径覆盖 3. 实际的逻辑覆盖测试中,一般以( C )为主设计测试用例。 A. 条件覆盖 B. 判定覆盖 C. 条件组合覆盖 D. 路径覆盖 4. 发现错误能力最弱的覆盖准则是( A )。 A. 语句覆盖 B. 判定覆盖 C. 条件覆盖 D. 路径覆盖 5. 单元测试所使用的主要测试方法是( B ) A. 黑盒测试 B. 白盒测试 C. 集成测试

6. 对于软件缺陷的修复费用,在哪个阶段的费用花费最小( A ) A. 分析阶段 B. 设计阶段 C. 编码阶段 D. 发布阶段 7. 静态测试的主要对象是( AB ) A. 代码检查 B. 代码风格与规范 C. 软件的功能 D. 设计的合理性 8. 单元测试主要测试是模块在( ABC )上的错误。 A. 语法 B. 格式 C. 逻辑 D. 功能 9. 单元测试主要由( C )完成?其中( A )起主要作用。 A .开发人员 B.测试人员 C.开发人员和测试人员 D.以上都不对 10. 集成测试所使用的主要测试方法是( A )。 A. 黑盒测试 B. 静态测试 C. 动态测试

11. 系统测试主要包括包含了多种测试活动,主要分为( A. 功能性测试 B. 非功能性测试 C. 回归测试 D. 单元测试 12. 系统集成测试常见的有哪几种不同模式( AB )。 A.非渐增式测试模式 B.渐增式测试模式 C.独立测试模式 D.非独立测试模式 13. 软件的兼容性测试包括( AD )。 A. 向前和向后兼容 B. 多语言测试 C. 多版本测试 D. 横向测试 14. 软件的缺陷通常集中在( AB )阶段。 A. 需求分析 B. 系统设计 C. 编写代码 D. 软件测试 15. 对于一些关键代码或新人写的代码,主要采取( A. 走查 B. 会议审查 C. 代码互评 16. 在集成测试中,主要的集成方法有( ABCD )。 AB )。 B )方式。

软件测试的基本概念

[模拟] 软件测试的基本概念 选择题 第1题: 在指定条件下使用时,软件产品维持规定的性能水平的能力。这是指软件外部质量的______。 A.效率 B.易用性 C.功能性 D.可靠性 参考答案:D 软件的效率是指:在规定条件下,相对于所用的资源的数量,软件产品可提供适当性能的能力。软件的易用性是指:在指定条件下使用,软件产品被理解、学习、使用和吸引用户的能力。软件的功能性是指:当软件在指定条件下使用,软件产品提供明确的和隐含的要求的功能的能力。软件的可靠性是指:在指定的条件下使用时,软件产品维持规定的性能水平的能力。 第2题: CMU SEI的watts Humphrey指出:软件产品必须首先提供用户所需要的 ______。 A.性能 B.人机界面 C.可靠性 D.功能 参考答案:D 软件质量是产品、组织和体系或过程的一组固有特性,反映它们满足顾客和其他相关方面要求的程度。如CMU SEI的watts Humphrey指出:“软件产品必须首先提供用户所需的功能,如果做不到这一点,什么产品都没有意义。其次,这个产品能够正常工作。如果产品中有很多缺陷,不能正常工作,那么不管这种产品性能如何,用户也不会使用它。” 第3题: 以下选项中不属于ISO软件质量模型的是______。 A.外部质量模型 B.使用质量模型 C.维护质量模型 D.内部质量模型

参考答案:C 按照ISO/IEC 9126—1:2001,软件质量模型可以分为内部质量模型、外部质量模型和使用质量模型3种,故该题不属于ISO软件质量模型的是C。 第4题: 下列关于软件质量模型的说法中正确的是______。 A.外部质量是表征软件产品在规定条件下使用时,决定其满足规定的和隐含的要求的能力 B.容错性、通用性、结构性和通信性不全属于软件的质量特性 C.内部质量是表征软件产品在规定条件下使用时,满足规定的和隐含的要求的程度 D.使用质量是软件产品在规定的使用环境中规定的用户能实现规定目标的要求 参考答案:D 外部质量是针对要求的满足程度而言的,是表征软件产品在规定条件下使用时,满足规定的和隐含的要求的程度;而内部质量则主要是根据软件产品的情况给出的,是表征软件产品在规定条件下使用时,决定其满足规定的和隐含的要求的能力的产品属性的全体,故选项A和C叙述刚好颠倒,另外软件的质量特性有很多种,选项B中所述皆属于软件的质量特性,选项D中关于使用质量的叙述是完全正确的。 第5题: 下列选项中不属于使用质量的属性的是______。 A.有效性 B.安全性 C.稳定性 D.满意度 参考答案:C 软件的使用质量属性分为4种:有效性、生产率、安全性和满意度。 第6题: 下列软件属性中,软件产品首要满足的应该是______。 A.功能需求 B.性能需求 C.可扩展性和灵活性 D.容错、纠错能力 参考答案:A

(完整版)软件测试试题及答案

太原理工大学软件测试技术 适用专业:软件工程2011级考试日期:2014.1 时间:120 分钟 一、判断题 1. 测试是调试的一个部分(╳) 2. 软件测试的目的是尽可能多的找出软件的缺陷。(√) 3. 程序中隐藏错误的概率与其已发现的错误数成正比(√) 4. Beta 测试是验收测试的一种。(√) 5. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√) 6. 项目立项前测试人员不需要提交任何工件。(╳) 7. 单元测试能发现约80%的软件缺陷。(√) 8. 测试的目的是发现软件中的错误。(√) 9. 代码评审是检查源代码是否达到模块设计的要求。(√) 10. 自底向上集成需要测试员编写驱动程序。(√) 11. 测试是证明软件正确的方法。(╳) 12. 负载测试是验证要检验的系统的能力最高能达到什么程度。(√) 13. 测试中应该对有效和无效、期望和不期望的输入都要测试。(√)验收测试是由最 终用户来实施的。(√) 14. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√)黑盒测试也称为结构测试。(╳)集成测试计划在需求分析阶段末提交。(╳) 15. 软件测试的目的是尽可能多的找出软件的缺陷。(√) 16. 自底向上集成需要测试员编写驱动程序。(√) 17. 负载测试是验证要检验的系统的能力最高能达到什么程度。(╳) 18. 测试程序仅仅按预期方式运行就行了。(╳) 19. 不存在质量很高但可靠性很差的产品。(╳) 20. 软件测试员可以对产品说明书进行白盒测试。(╳) 21. 静态白盒测试可以找出遗漏之处和问题。(√) 22. 总是首先设计白盒测试用例。(╳) 23. 可以发布具有配置缺陷的软件产品。(√) 24. 所有软件必须进行某种程度的兼容性测试。(√) 25. 所有软件都有一个用户界面,因此必须测试易用性。(╳) 26. 测试组负责软件质量。(╳) 27. 按照测试实施组织划分,可将软件测试分为开发方测试、用户测试和第三方测试。(√) 28. 好的测试员不懈追求完美。(× ) 29. 测试程序仅仅按预期方式运行就行了。( × ) 30. 在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。( √) 31. 静态白盒测试可以找出遗漏之处和问题。( √) 32. 测试错误提示信息不属于文档测试范围。( × )

软件测试期末复习总结

1.1 软件质量至关重要 软件无处不在,软件越来越复杂、功能越来越强,软件的影响越来越大,软件的受众越来越多。人们对软件越来越依赖,但是软件是人编写的 1.1.1 软件错误案例研究 Disney的狮子王1994-1995,Intel 奔腾浮点运算1994,美航天局火星极地登陆1999,爱国者导弹防御系统1991,千年虫约1974,“冲击波”计算机病毒2003,放射性设备治死 1.2 何谓软件缺陷 通通称为:软件缺陷(Bug) 1.2.1 软件缺陷的定义 软件缺陷对应于需求(功能)规格书 (1)软件未达到规格书标明的功能 (2)软件出现了规格书标明不会出现的错误 (3)软件功能超出规格书指明范围 (4)软件未达到规格书虽未指出但应达到的功能 (5)软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好 1.3 软件缺陷出现的原因 (1)系统分析的原因 对产品的理解不全面、不到位; 需求不断改动 开发团队重视程度、沟通不够 (2)系统设计的原因 说不出来就做不出来 1.4 软件缺陷的修复费用 (1)费用呈几何级数增加 需求阶段:1 设计阶段:3-6 编程阶段:10 内部测试:20-40 外部测试:30-70 产品发布:40-1000 (2)费用增加的原因 软件范围扩大 关联增大 熟悉程度减少 模块间影响扩大

1.5 软件测试员的职责 观点1: 试图验证软件是“工作的”观点2: 设法证明软件是“不工作的” (1)发现软件缺陷(2)尽早地发现缺陷(3)确保发现的缺陷被修复 找出软件缺陷,尽可能早一些,并确保其得以修复 1.6 软件测试员应具备的素质 (1)专业技能: 软件工程知识,软件相关知识,熟悉编程知识,相关的业务背景知识 (2)基本素质 有条理地思维,打破砂锅问到底,细心、责任心,有幽默感 (3)专业素质: 探索精神,善于发现缺陷,不懈努力,创造性,追求完美,判断准确,老练稳重,有说服力1.7 软件测试原则————原则是指导测试实践纲领性的指导 1、完全测试是不可能的 输入量、输出量、实现途径多,提交的产品是可接受的,而不是没有缺陷的 2、测试无法显示潜伏的软件缺陷 可报告已发现的缺陷,却无法报告潜伏的缺陷;报告的内容:根据对发现的缺陷进行分析… 3、找到的缺陷越多,说明缺陷越多 一般情况下,缺陷和寄生虫一样,成群出现,程序员的疲倦,程序员常犯同样的错误 经验: 成群的出现可能是大灾难的征兆 4、杀虫剂怪事——软件测试越多,其免疫力越强 出现的原因:相同的方法重复使用,人的因素缺陷性质的因素 应对方法:变换测试方法、测试程序 5、并非所有的缺陷都能修复 没有足够的资源,不算真正的缺陷(也许可说成一项功能),修复的风险太大,不值得修复(商业风险决策)是否修复的决策,需要有项目管理、测试员、程序员共同参与 6、软件测试的其他原则 事先定义好质量标准;测试要随开发的启动而尽早开始;第三方测试更客观、更有效;重视测试计划、重视文档 7、测试是一项讲究条理的技术专业 2.2 何谓软件工程 何谓工程的方法 工程不同于科研、创造 工程:受资源限制、成熟的、可重复的、只许成功 明确地定义试图解决的问题,然后使用和开发标准的工具和技术来解决之 内容:理论、方法学、技术、工具、管理、组织 软件工程定义 系统的、规范的、定量的方法在软件的开发、操作和维护中的应用(IEEE610.12-1990定义)多人构造多版本软件(Parnas定义) 2.1 软件工程简史

软件测试期末复习

一、单项选择题:共20小题,每小题2 分,满分40分。 1.软件测试按照测试层次可以分为( C ) A.黑盒测试、白盒测试功能性测试和结构性测试 件测试是有风险的行为,并非所有的软件缺陷都能够被修复。(T) 2.软件质量保证和软件测试是同一层次的概念。(F) 3.我们有理由相信只要能够设计出尽可能好的测试方案,经过严格测试之后的软 件可以没有缺陷。(F) 4.程序员兼任测试员可以提高工作效率。(F) 5.在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。(T ) 6.传统测试是在开发的后期才介入,现在测试活动已经扩展到了整个生命周期。 ( T ) 7.传统测试以发现错误为目的,现在测试已经扩展到了错误预防的范畴。T 8.软件测试的生命周期包括测试计划、测试设计、测试执行、缺陷跟踪、测试评 估。(T ) 9.调试从一个已知的条件开始,使用预先定义的过程,有预知的结果;测试从一 个未知的条件开始,结束的过程不可预计。( F) 10.白盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞。 ( F) 11.在所有的黑盒测试方法中,基于决策表的测试是最为严格、最具有逻辑性的测 试方法。(∨)

12.永远有缺陷类型会在测试的一个层次上被发现,并且能够在另一个层次上逃避 检测。(∨) 13.测试用例的数目越多,测试的效果越好。( x ) 14.只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。( x ) 15.单元测试属于动态测试。(∨) 16.验收测试是以最终用户为主的测试。(∨) 17.没有发现错误的测试是没有价值的。(∨) 18.可以把不合格的开发人员安排做测试。( x ) 19.每一个软件项目都有一个最优的测试量。(∨) 20.黑盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞。 (∨) 三、简答题:共4小题,每题5分,满分20分。 1、简单描述一下软件测试工程师一般会承担的一些具体工作。 1:检视代码,评审开发文档(静态测试方法) 2:进行测试设计,写作测试文档(测试计划,测试方案,测试用例等) 3:执行测试,发现软件缺陷,提交缺陷报告,并确认缺陷最终得到了修正。 4:通过测试度量软件的质量。 2、黑盒测试与白盒测试各有哪些优缺点 黑盒测试与软件如何实现无关,测试用例开发可以实现并行进行,因此可以压缩总的项目开发时间,缺点:测试用例可以之间可能存在严重的冗余。还会有未测试的软件漏洞。白盒测试局限于已经完成的代码行为当中,离代码太近,如果黑

相关文档
相关文档 最新文档