软件测试技术和方法(第二版)期末复习大纲(new)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《软件测试方法和技术》复习大纲与参考试题
材信息出版社清华大学出版社作者朱少明主编
第一章引论 (1)
第二章软件测试的基础概念(重点与15章一起看) (2)
第三章软件测试方法(重点) (4)
第四章软件测试依据和规范(考的少) (4)
第五、六、七章单元、集成、系统、验收测试(结合一起看重点!) (4)
第十一章软件测试自动化 (5)
第十二章组建测试团队第十三章部署测试环境 (5)
第十四章测试和维护测试用例(与第三章一起考重点) (6)
第十五章报告所发现的缺陷(与2.1合起来看重点) (6)
第十六章软件测试和质量分析报告 (6)
第十七章软件测试项目管理 (7)
参考试题 (7)
第一章引论
1 什么是软件测试?
答:软件测试是为了发现错误而执行程序的过程。

或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。

2. 为什么要进行软件测试:为了保证软件质量。

3. 软件测试的反面性的三个论据:(重点)
a)测试是为了证明程序有错,而不是证明程序无错误。

b)一个好的测试用例是在于它能发现至今未发现的错误。

c)一个成功的测试是发现了至今未发现的错误的测试。

4. 简述下图的含义 (P11 V 模型需认真去理解)
这是测试模型中的“V”模型描述了一些不同的测试级别,并说明了这些级别所对应的生命周期中不同的阶段。

如模型图中所示,左边下降的是开发过程各阶段即构建过程,与此相对应的是右边上升的部分,是各测试过程的各个阶段即验证过程。

5. 测试驱动开发的思想(P12 了解,不作要求)
第二章 软件测试的基础概念(重点 与15章一起看)
1. 什么是软件缺陷?
所谓软件缺陷,即为计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷、瑕疵,其结果会导致软件产品在某种程度上不能满足用户的需要。

2. 软件缺陷是怎么产生的? 技术问题:算法错误、语法错误、计算和精度问题、接口参数传递不匹配
软件本身:文档错误、时间上不协调、或不一致性所带来的问题、系统的自我恢复或数据的异地备份、灾难性恢复等问题 团队工作:误解、沟通不充分
3. 软件缺陷的构成有哪些?(结合15章看 包括:严重性和优先级)
4. 修复软件缺陷要付出的代价?(看图了解)
在设计阶段就是它的3~6倍,在编程阶段是它的10倍,在内部测试阶段是它的20~40倍,
用户需求验证
系统非功能特性验
功能验证
代码验证
在外部测试阶段是它的30~70倍,而到了产品发布出去时,这个数字就是40~1000倍,修正错误的代价不是随时间线性增长,而几乎是呈指数增长的。

5 验证和确认(结合什么是软件测试部分一起看)
6. 软件测试的分类(重点):
按测试的对象或范围分类:单元测试、文档测试、系统测试等。

按测试目的分类:功能测试、回归测试、性能测试、可靠性测试、安全性测试和兼容性测试等。

根据测试过程中被测软件是否被执行:分为静态测试和动态测试。

根据是否针对系统的内部结构和具体实现算法来完成测试:可分为白盒测试和黑盒测试
7. 软件测试的工作范畴(P28 要了解清楚):
✓软件测试工作的组织与管理:制定测试策略、测试计划,确认所采用的测试方法与规范,控制测试进度,管理测试资源。

✓测试工作的实施:编制符合标准的测试文档,搭建测试环境,开发测试脚本、与开发组织协作实现各阶段的测试活动
图2.2 测试工作流程示意图
第三章软件测试方法(重点)
1 什么是白盒测试?:
白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。

2. 什么是黑盒测试?
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。

3. 黑盒测试:等价类划分法、边界值分析法(P39 重点*2)
4. 设计测试用例(重点结合14章看)
结合白盒测试和黑盒测试
第四章软件测试依据和规范(考的少)
1. 测试过程改进模型有哪些?
1)TMM
2)TPI
3)CTP
4)STEP
第五、六、七章单元、集成、系统、验收测试
(结合一起看重点!)
1. 回到第二章第五题看图查看五、六、七章关系。

按时间阶段,逐渐递增:
单元测试——>集成测试——>系统测试——>验收测试
如果项目进度很紧张,可以略去单元测试、和集成测试,但其他两个一定不能省略。

2. 规范化的软件测试开始于项目开发的哪个阶段?每个阶段软件测试的内容是什么?(重点)
从软件开发的过程按阶段划分有:单元测试集成测试系统测试验收测试
测试过程按4个步骤进行,概念内容如下:
单元测试:单元测试是对软件基本组成单元(如函数、类的方法等)进行的测试。

集成测试:集成测试是将软件集成起来,对模块之间的接口进行测试。

系统测试(特征测试):检验系统所有元素之间协作是否合适,整个系统的性能和功能是否达到要求。

其测试内容包括:功能测试,非公能测试与回归测试等。

验收测试:检查软件是否符合合同要求,包括需求规格说明、设计规格说明和用户手册等。

其测试内容包括:易用性测试、兼容性测试、安装测试和可恢复性测试、文档测试等。

3. 软件测试分别有哪些人来做测试?
4. 软件测试的依据是什么?
5. 软件测试采用了什么的方法测试?
6. 集成测试有哪两种模式?它们有哪些典型的方法?(P126)
非渐增式测试模式:先分别测试每个模块,再把所有模块按设计要求放在一起结合成所要的程序,如大棒模式。

渐增式测试模式:把下一个要测试的模块同已经测试好的模块结合进来进行测试,测试完后再把下一个应该测试的模块结合起来测试。

渐增式测试又可以根据每次添加模块的路线分为自顶向下测试、自底向上测试和混合测试等方式。

7. 哪些测试属于系统测试的范围?
功能测试回归测试非功能性测试
8. 非功能性测试(特征测试)包含哪些内容?
性能测试压力测试容量测试安全性测试可靠性测试容错性测试
9. 验收测试主要包括哪些,以及其内容有哪些?
易用性测试:用户界面和可用性测试
兼容性测试:软件兼容性测试、数据共享兼容性测试、硬件兼容性测试
安装测试和可恢复性测试:安装与卸载测试、可恢复性测试
文档测试:正确性、完备性、易理解性、一致性
第十一章软件测试自动化
1. 什么是测试自动化?
2. 测试自动化它的优势以及它的实现原理是什么?
3. QTP、QC、LoadRound是什么样的工具?
QTP:功能测试工具
QC:管理工具
Loadrunner:性能测试工具
第十二章组建测试团队第十三章部署测试环境
1. 测试团队由哪些基本成员构成?
a.QA/测试经理:人员管理,资源调配、测试方法改进等;
b.实验室管理人员:设置、配置和维护实验室的测试环境
c.内审员:审查流程,建立测试模板,跟踪缺陷测试报告的质量等;
d.测试组长:负责项目的管理、测试计划、测试用例、任务安排等;
e.测试设计人员/资深测试工程师:产品设计规格说明书的审查、测试用例的设计、技术
难题的解决、培训和指导、实际测试任务的执行;
f.一般(初级)测试工程师:执行测试用例和相关的测试任务。

2. 对测试人员的具体要求有哪些?(P276 了解)
3. 一个优秀的测试工程师应具备怎样的素质?
a)高度的责任感
b)非常好的沟通能力、幽默感
c)技术能力、自信心、耐心
d)怀疑一切的精神、勤奋精神
e)洞察力、适度的好奇心
f)反向思维和发散思维能力、记忆力
g)自我学习能力、创新能力等
4. 主要有哪些测试团队的激励方法?(十种红萝卜的妙用)
a)表扬和奖励
b)站在测试小组一边
c)提高士气
d)支持合理的工作方式
5. 知识共享和在岗培训(P285 了解)
6. 测试环境由哪几个要素组成?
a)硬件:机架式服务器、刀片式服务器、客户端机器、移动设备、声卡、显示卡等。

b)网络环境:100M、1G、10G网、局域网、广域网、无线网、网络协议、防火墙等。

c)软件:操作系统、数据库、Web服务器、测试工具、应用软件等。

d)数据准备:原有数据、正确数据和错误数据、真实的客户数据、大量的数据等。

7. 安装测试环境时要保持环境干净性。

在写测试计划时要如实描述你的测试环境。

第十四章测试和维护测试用例(与第三章一起考重点)
1. (依据老师说的,找相关题目做)据题目要求,运用等价类划分法和边界值分析法来设计测
试用例。

要包含有效等价类和无效等价类列表,给出测试用例。

要包含测试用例三要素,即:测试步骤,测试数据,预期结果,在用例中要体现。

(重点)
两种题型: 1. 没有测试步骤,可以只给出测试数据和预期结果。

2. 以登陆这个功能为例,用等价类划分法来设计测试步骤。

第十五章报告所发现的缺陷(与2.1合起来看重点)
1. 什么是缺陷?缺陷要包含哪些属性?缺陷的生命周期?什么时候开始什么时候截止?一个
完整的缺陷应该怎么来写?(看第二章)
2. 软件缺陷的跟踪和分析(了解)
第十六章软件测试和质量分析报告
1. 软件测试报告包含的内容有哪些?(重点)
a)产品标识;
b)用于测试的计算机系统
c)使用的文档及其标识
d)产品描述、用户文档、程序和数据的测试结果;
e)与要求不符的清单;
f)针对建议的要求不符的清单,产品未作符合性测试的说明;
g)测试结束日期。

2. 用例写完后要覆盖到需求,检查覆盖率。

第十七章软件测试项目管理
1. 软件测试分为哪几个计划过程阶段?(P361 重点)
a)计划阶段:编写测试计划,搭建测试环境,准备测试数据
b)设计阶段:编写测试用例(需求分析和测试用例文档)
c)执行阶段:执行测试用例,生成缺陷
d)报告阶段:测试报告,改进意见
2. 测试计划的内容有哪些?(P360 认真看看)
3. 如何制定有效的测试计划?(P362 了解)
参考试题
一、判断题
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.测试错误提示信息不属于文档测试范围。

( ×)
33.代码评审是检查源代码是否达到模块设计的要求。

(√)
34.总是首先设计黑盒测试用例。

( √)
35.软件测试是有风险的行为,并非所有的软件缺陷都能够被修复。

(∨)
36.软件质量保证和软件测试是同一层次的概念。

(x )
37.程序员兼任测试员可以提高工作效率。

(x )
38.在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。

(∨)
39.传统测试是在开发的后期才介入,现在测试活动已经扩展到了整个生命周期。

(∨)
40.传统测试以发现错误为目的,现在测试已经扩展到了错误预防的范畴。


41.软件测试的生命周期包括测试计划、测试设计、测试执行、缺陷跟踪、测试评估。

(∨)
42.软件生存周期是从软件开始开发到开发结束的整个时期。

(x )
43.测试用例的数目越多,测试的效果越好。

(x )
44.只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。

(x )
45.单元测试属于动态测试。

(∨)
46.验收测试是以最终用户为主的测试。

(∨)
47.没有发现错误的测试是没有价值的。

(∨)
48.可以把不合格的开发人员安排做测试。

(x )
二、不定项选择题
1.软件验收测试的合格通过准则是:( abcd )
A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。

B.所有测试项没有残余一级、二级和三级错误。

C.立项审批表、需求分析文档、设计文档和编码实现一致。

D.验收测试工件齐全。

2.软件测试计划评审会需要哪些人员参加?( abcd )
A.项目经理
B.SQA 负责人
C.配置负责人
D.测试组
3.测试设计员的职责有:( bc )
A.制定测试计划
B.设计测试用例
C.设计测试过程、脚本
D.评估测试活动
4.下面哪些属于动态分析( c d )
A.代码覆盖率
书金整理
B.模块功能检查
C.系统压力测试
D.程序数据流分析
5.下面哪些属于静态分析( abc )
A、代码规则检查
B、程序结构分析
C、程序复杂度分析
D、内存泄漏
6.不属于单元测试内容的是( d )
A.(A)模块接口测试(B)局部数据结构测试
B.(C) 路径测试(D)用户界面测试
7.软件测试设计活动主要有( abcd )
A、工作量分析
B、确定并说明测试用例
C、确立并结构化测试过程
D、复审并评估测试覆盖
8.不属于集成测试步骤的是( d )
A、制定集成计划
B、执行集成测试
C、记录集成测试结果
D、回归测试
9.实施缺陷跟踪的目的是:(ABCD )
A、软件质量无法控制
B、问题无法量化
C、重复问题接连产生
D、解决问题的知识无法保留
E、确保缺陷得到解决
F、使问题形成完整的闭环处理
10.使用软件测试工具的目的:(ABCDF )
A、帮助测试寻找问题
B、协助问题的诊断
C、节省测试时间
D、提高Bug的发现率
E、更好的控制缺陷提高软件质量
F、更好的协助开发人员
11.编写测试计划的目的是:(ABC )
A、使测试工作顺利进行
B、使项目参与人员沟通更舒畅
C、使测试工作更加系统化
D、软件工程以及软件过程的需要
E、软件过程规范化的要求
F、控制软件质量
12.选出属于黑盒测试方法的选项( B )
A、测试用例覆盖
B、输入覆盖
C、输出覆盖
D、分支覆盖
E、语句覆盖
F、条件覆盖
13.导致软件缺陷的原因有很多,A—D是可能的原因,其中最主要的原因包括( ABCD )。

A.软件需求说明书编写的不全面,不完整,不准确,而且经常更改
B.软件设计说明书
书金整理C.软件操作人员的水平
D.开发人员不能很好的理解需求说明书和沟通不足
14.软件验收测试的合格通过准则是:( AD )
A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。

B.所有测试项没有残余一级、二级和三级错误。

C.立项审批表、需求分析文档、设计文档和编码实现一致。

D.验收测试工件齐全。

15.下面的哪一项测试步骤中需要进行局部数据结构测试:( A )
A、单元测试
B、集成测试
C、确认测试
D、系统测试
16.从是否需要执行被测软件的角度,软件测试技术可划分的类型是:(AC )。

A、静态测试
B、黑盒测试
C、动态测试
D、白盒测试
17.从测试阶段角度,测试结束的正确顺序是:( B )
A、单元测试、集成测试、系统测试、确认测试
B、单元测试、系统测试、集成测试、确认测试
C、确认测试、集成测试、系统测试、单元测试
D、确认测试、系统测试、集成测试、单元测试
18.软件的六大质量特性包括:( A )
A. 功能性、可靠性、可用性、效率、可维护、可移植
B. 功能性、可靠性、可用性、效率、稳定性、可移植
C. 功能性、可靠性、可扩展性、效率、稳定性、可移植
D. 功能性、可靠性、兼容性、效率、稳定性、可移植
19.以下测试方法是白盒测试方法的是 ______
A.判定覆盖和边界值分析法
B.等价划分和错误推测法
C.路径覆盖和判定/条件覆盖法
D.条件组合覆盖和语句覆盖法
E.条件覆盖和错误推测法
20.以下属于黑盒测试方法的有__ABCDE____
A.等价类划分 B. 边界值分析 C. 错误推测 D. 因果图 E. 决策表
21.下列哪些属于软件测试阶段的交付成果物 ABC
A.测试计划 B.测试用例 C.测试报告D.用户手册 E.安装部署手册
22.以下哪些过程能够提高软件质量? BD
A.可行性分析 C. 测试 E. 概要设计
B. 需求评审 D. 代码走查
三、填空题
1.软件测试主要分为___单元测试_、_集成测试__、___系统测试___、___验收测试___四类测试。

2.软件缺陷产生的原因包括__编写代码___、设计、_编写需求__以及其他原因。

3.对面向过程的系统采用的集成策略有自顶向下集成、自底向上集成两种。

4.黑盒测试用例设计方法包括等价类划分、边界值分析以及因果图 ,错误推测法等。

5.测试工作就是进行输入、接受输出、检验结果,不深入代码细节,这样的测试方法称为___黑盒测试__。

6.软件测试的目的是尽可能多地发现软件中存在的错误,将测试测试结果作为纠错的依据。

7.软件测试方法一般分为两大类:动态测试方法和静态测试方法。

8.动态测试通过运行程序发现错误。

根据测试用例的设计方法不同,动态测试又分为黑盒测试
与白盒测试两类。

9.黑盒法只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求。

10.白盒法必须考虑程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽
可能多的逻辑路径进行测试。

11.逻辑覆盖是对程序内部有判定存在的逻辑结构设计测试用例,根据程序内部的逻辑覆盖程度又可分
为语句覆盖判定覆盖条件覆盖判定/条件覆盖条件组合覆盖路径覆盖6种覆盖技术。

12.等价类划分从程序的功能说明,找出一个输入条件(通常是一句话或一个短语),然
后将每个输入条件划分成两个或多个等价类。

13.边界值分析是将测试边界情况作为重点目标,选取正好等于、刚刚大于或刚刚小于边界值的测试数
据。

如果输入或输出域是一个有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。

14.测试的综合策略是在测试中,联合使用各种测试方法。

通常先用黑盒法设计基本的测试用例,
再用白盒法补充一些必要的测试用例。

15.软件测试过程中需要3类信息:软件配置、测试配置和测试工具。

16.软件测试一般经过4个测试:单元测试集成测试系统测试验证测试。

17.单元测试指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模
块在编码中或算法中的错误,它涉及编码和详细设计的文档。

18.集成测试指在单元测试基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。

也称
组装测试或联合测试。

19.成测试的方法有两种:非渐增式测试渐增式测试。

20.渐增式测试有两种不同的组装模块的方法:自顶向下结合自底向上结合。

21.验证测试在模拟环境下运用黑盒测试方法,由专门测试人员和用户参加的测试。

22.软件配置审查的任务是检查软件的所有文档资料的完整性和正确性。

23.用等价类划分法设计一个测试用例时,使其覆盖尽可能多的尚未被覆盖的合理等价类。

24.用等价类划分法设计一个测试用例时,使其覆盖一个不合理等价类。

25.软件测试是为了发现错误而执行程序的过程。

26.运行被测程序的方法称为动态测试。

27.在单元测试中,测试一个模块时,需要设计驱动模块和桩模块。

四、简答题
1. 请简述软件测试活动的生命周期?
答:软件从进入测试到退出测试的过程中,所要经历的引入程序错误、通过测试发现错误和清除程序错误的几个阶段。

2. 软件的缺陷等级应如何划分?
1).致命错误,可能导致本模块以及其他相关模块异常,死机等问题;
2).严重错误,问题局限在本模块,导致模块功能失效或异常退出
3).一般错误,模块功能部分失效;
4).建议问题,由问题提出人对测试对象的改进意见;
3. 什么是软件测试?(见第一章)
4. 什么是V模型?简述V模型在软件测试过程中的作用,以及在V模型中各个测试阶段和开发过程的对应关系?
答:
V模型是软件开发瀑布模型的变种,它反映了测试活动与分析和设计的关系。

从左到右,描述了基本的开发过程和测试行为,非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系。

左边依次下降的是开发过程各阶段,与此相对应的是右边依次上升的部分,即各测试过程的各个阶段。

V模型的局限性在于没有明确地说明早期的测试,无法体现“尽早地和不断地进行软件测试”的原则
5. 软件测试应该划分几个阶段?简述各个阶段应重点测试的点?各个阶段的含义?
答:大体上来说可分为单元测试,集成测试,系统测试,验收测试
每个阶段又分为以下五个步骤:
测试计划,测试设计,用例设计,执行结果,测试报告
6. 你认为一个优秀的测试工程师应该具备哪些素质?
答:1、具有良好的计算机编程基础 2、具有创新精神和超前意识 3、不懈努力,追求完美 4、具有整体观念,对细节敏感 5、团队合作精神 6、责任心、耐心、细心、信心 7、沟通能力 8、时时保持怀疑态度,并且有缺陷预防的意识
7. 什么是软件缺陷?请简述软件缺陷出现的原因。

答:存在于软件之中的那些不希望,或不可接受的偏差,而导致软件产生的质量问题。

原因:1、技术问题2、算法错误3、语法错误4、计算和精度问题5、系统结构不合理,造成系统性能问题6、接口参数不匹配出现问题。

相关文档
最新文档