软件测试方法和技术第二版复习大纲Word文档格式.docx
- 文档编号:3112624
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:25
- 大小:215.58KB
软件测试方法和技术第二版复习大纲Word文档格式.docx
《软件测试方法和技术第二版复习大纲Word文档格式.docx》由会员分享,可在线阅读,更多相关《软件测试方法和技术第二版复习大纲Word文档格式.docx(25页珍藏版)》请在冰点文库上搜索。
了解:
2.1.5修复软件缺陷的代价
用户需求验证代码验证功能验证证系统非功能特性验证
在设计阶段就是它的3~6倍,在编程阶段是它的10倍,在内部测试阶段是它的20~40倍,书金整理3
在外部测试阶段是它的30~70倍,而到了产品发布出去时,这个数字就是40~1000倍,修正错误的代价不是随时间线性增长,而几乎是呈指数增长的。
掌握:
2.3软件测试的分类
2.5软件测试的工作范畴
☐软件测试工作的组织与管理:
制定测试策略、测试计划,确认所采用的测试方法与规范,控制测试进度,管理测试资源。
☐测试工作的实施:
编制符合标准的测试文档,搭建测试环境,开发测试脚本、与开发组织协作实现各阶段的测试活动
软件测试方法
理解:
白盒测试的概念
黒盒测试的概念:
白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。
掌握:
白盒测试方法的分类:
语句覆盖,语句覆盖法的基本思想是设计若干测试用例,运行被测程序,使程序中的每个可执行语句至少被执行一次
判定覆盖,判定覆盖法的基本思想是设计若干用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断真假值均曾被满足
条件覆盖,条件覆盖的基本思想是设计若干测试用例,执行被测程序以后,要使每个判断中每个条件的可能取值至少满足一次。
路径覆盖,
判定-条件覆盖,
条件组合覆盖,
基本路径测试法
黑盒测试的概念:
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。
黒盒测试方法的分类:
等价类划分法,分为有效等价类和无效等价类。
有效等价类是有意义的、合理的输入数据,可检查程序是否实现了规格说明中所规定的功能和性能。
无效等价类与有效等价类的意义相反
边界值分析法,
⏹确定边界情况(输入或输出等价类的边界)
⏹选取正好等于、刚刚大于或刚刚小于边界值作为测试数据
应果图法,
判定表法
用条件覆盖法设计白盒测试用例
用等价类和边界值设计黒盒测试用例
以上两种设计测试用例的方法一定要掌握
第四章
TMM,过程能力描述了遵循一个软件测试过程可能达到的预期结果的范围。
TMM的建立,得益于以下3点:
☐充分吸收、CMM的精华;
☐基于历史演化的测试过程;
☐业界的最佳实践。
TPI,TPI是基于连续性表示法的测试过程改进的参考模型,是在软件控制、测试知识以及过往经验的基础上开发出来的
CTP,关键测试过程(CriticalTestProcess,CTP)评估模型主要是一个内容参考模型,一个上下文相关的方法,并能对模型进行裁剪
STEP,STEP(SystematicTestandEvaluationProcess,系统化测试和评估过程)是一个内容参考模型,认定测试是一个生命周期活动,在明确需求后开始直到系统退役。
单元测试
单元测试的概念,
单元测试:
单元测试是对软件基本组成单元(如函数、类的方法等)进行的测试。
定义:
单元测试是对软件基本组成单元进行的测试。
时机:
一般在代码完成后由开发人员完成,QA人员辅助.
概念:
模块,组件,单元
单元测试的测试人员:
程序人员和开发人员
单元测试的测试方法,
检查每一条独立执行路径的测试。
保证每条语句被至少执行一次。
检查局部数据结构完整性
检查模块接口是否正确
检查临界数据处理的正确性
预见、预设的各种出错处理是否正确有效
单元测试的测试依据
集成测试和系统测试
集成测试的概念,
集成测试:
集成测试是将软件集成起来,对模块之间的接口进行测试。
顾名思义,集成测试是将软件集成起来后进行测试。
集成测试又叫子系统测试、组装测试、部件测试等。
Ø
模块内的集成,主要是测试模块内各个接口间的交互集成关系;
子系统内的集成,测试子系统内各个模块间的交互关系;
系统内的集成,测试系统内各个子系统和模块间的集成关系。
集成测试的测试人员:
有经验的测试人员和开发者共同
集成测试的集成模式和经典代表
非渐增式测试模式:
先分别测试每个模块,再把所有模块按设计要求放在一起结合成所要的程序,如大棒模式。
渐增式测试模式:
把下一个要测试的模块同已经测试好的模块结合进来进行测试,测试完后再把下一个应该测试的模块结合起来测试。
渐增式测试又可以根据每次添加模块的路线分为自顶向下测试、自底向上测试和混合测试等方式。
集成测试的测试依据;
系统测试的概念,
系统测试(特征测试):
检验系统所有元素之间协作是否合适,整个系统的性能和功能是否达到要求。
其测试内容包括:
功能测试,非公能测试与回归测试等。
系统测试的测试人员,
系统测试的内容:
功能测试,回归测试,非功能性测试;
非功能性测试(特征测试)包含哪些内容:
性能测试压力测试容量测试安全性测试可靠性测试容错性测试
系统测试的测试依据
验收测试
验收测试的概念,
验收测试:
检查软件是否符合合同要求,包括需求规格说明、设计规格说明和用户手册等。
易用性测试(用户界面和可用性测试)、
兼容性测试(软件兼容性测试、数据共享兼容性测试、硬件兼容性测试)、
安装测试和可恢复性测试、文档测试等(安装与卸载测试、可恢复性测试)
验收测试的内容(正确性、完备性、易理解性、一致性)
验收测试的测试人员(用户和测试部门共同完成)
验收测试的测试依据;
α,β测试
第十一章软件测试自动化
11.1测试自动化的内涵
自动化测试(automatedtest)是相对手工测试而存在的一个概念,由手工逐个地运行测试用例的操作过程被测试工具自动执行的过程所代替。
测试工具的使用是自动化测试的主要特征
测试自动化指“一切可以由计算机系统自动完成的测试任务都已经由计算机系统或软件工具、程序来承担并自动执行”
11.2测试自动化实现的原理
代码分析:
类似于高级编译系统,在工具中定义类/对象/函数/变量等定义规则、语法规则等,在分析时对代码进行语法扫描,找出不符合编码规范的地方。
对象识别(Windows对象、Mac对象、WebDOM对象)
脚本技术:
线性脚本结构化脚本数据驱动脚本、关键字驱动脚本
自动比较技术:
静态比较和动态比较,简单比较和复杂比较,敏感性测试比较和健壮性测试比较,比较过滤器
测试自动化系统的构成:
测试工具的分类、测试工具的选择、测试自动化普遍存在的问题、自动化测试的引入和应用
11.3.4自动化测试的引入和应用
☐找准测试自动化的切入点
☐把测试开发纳入整个软件开发体系
☐测试自动化依赖测试流程和测试用例
☐软件测试自动化的投入较大
☐进行资源的合理调度
11.4功能测试工具:
QTP
11.5性能测试工具:
Loadrunner
第十二章组建测试团队
12.2测试团队的构成
a.QA/测试经理:
人员管理,资源调配、测试方法改进等;
b.实验室管理人员:
设置、配置和维护实验室的测试环境
c.内审员:
审查流程,建立测试模板,跟踪缺陷测试报告的质量等;
d.测试组长:
负责项目的管理、测试计划、测试用例、任务安排等;
e.测试设计人员/资深测试工程师:
产品设计规格说明书的审查、测试用例的设计、技术难题的解决、培训和指导、实际测试任务的执行;
f.一般(初级)测试工程师:
执行测试用例和相关的测试任务。
12.3.1对测试人员的要求
初级测试工程师
测试工程师
高级测试工程师(见课本276页)
12.3.2优秀测试工程师应具备的素质
a)高度的责任感
b)非常好的沟通能力、幽默感
c)技术能力、自信心、耐心
d)怀疑一切的精神、勤奋精神
e)洞察力、适度的好奇心
f)反向思维和发散思维能力、
g)自我学习能力、创新能力等
第十四章设计和维护测试用例
测试用例的设计原则:
☐尽量避免含糊的测试用例
☐尽量将具有相类似功能的测试用例抽象并归类
☐尽量避免冗长和复杂的测试用例
用例三要素:
步骤,数据和预期结果。
测试用例:
测试用例可以独立进行测试执行的最小单元
测试内容的一系列情景和每个情景中必须依靠输入和输出,而对软件的正确性进行判断的测试文档,称为测试用例
测试用例就是将软件测试的行为活动转化为规范化的文档
本章内容和第三章结合一起考。
第十五章报告所发现的缺陷
所谓软件缺陷,即为计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷、瑕疵,其结果会导致软件产品在某种程度上不能满足用户的需要。
软件缺陷是怎么产生的?
技术问题:
算法错误、语法错误、计算和精度问题、接口参数传递不匹配
软件本身:
文档错误、时间上不协调、或不一致性所带来的问题、系统的自我恢复或数据的异地备份、灾难性恢复等问题
团队工作:
误解、沟通不充分
软件缺陷的严重性,优先级,其它属性,完整的缺陷信息,软件缺陷跟踪和分析
第十七章软件测试项目管理
17.3软件测试项目的过程管理
a)计划阶段:
编写测试计划,搭建测试环境,准备测试数据
b)设计阶段:
编写测试用例(需求分析和测试用例文档)
c)执行阶段:
执行测试用例,生成缺陷
d)报告阶段:
测试报告,改进意见
第十八章试题与答案
一、判断题
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.测试用例的数目越多,测试的效果越好。
44.只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。
45.单元测试属于动态测试。
46.验收测试是以最终用户为主的测试。
47.没有发现错误的测试是没有价值的。
48.可以把不合格的开发人员安排做测试。
二、不定项选择题
1.软件验收测试的合格通过准则是:
(abcd)
A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
B.所有测试项没有残余一级、二级和三级错误。
C.立项审批表、需求分析文档、设计文档和编码实现一致。
D.验收测试工件齐全。
2.软件测试计划评审会需要哪些人员参加?
A.项目经理
B.SQA负责人
C.配置负责人
D.测试组
3.测试设计员的职责有:
(bc)
A.制定测试计划
B.设计测试用例
C.设计测试过程、脚本
D.评估测试活动
4.下面哪些属于动态分析(cd)
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.功能性、可靠性、可用性、效率、可维护、可移植
B.功能性、可靠性、可用性、效率、稳定性、可移植
C.功能性、可靠性、可扩展性、效率、稳定性、可移植
D.功能性、可靠性、兼容性、效率、稳定性、可移植
19.以下测试方法是白盒测试方法的是__CD____
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.请简述软件测试活动的生命周期?
答:
软件从进入测试到退出测试的过程中,所要经历的引入程序错误、通过测试发现错误和清除程序错误的几个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 方法 技术 第二 复习 大纲