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

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

《软件测试方法和技术》复习大纲与参考试题

材信息出版社清华大学出版社作者朱少明主编

第一章引论 (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、接口参数不匹配出现问题。

五、综合题

1.针对以下问题:某一种8位计算机,其十六进制常数的定义是以0x或0X开头的十六进制整数,其取值范围为-7f~7f(不区分大小写字母),如0x13、0x6A、-0x3c。请采用等价类划分的方法设计测试用例。

解:

用例1:0x7F,覆盖等价类(1)(4)(6)(8)

用例2:-0Xb,覆盖等价类(1)(4)(6)(8)

用例3:0X0,覆盖等价类(1)(4)(6)(8)

用例4:0x,覆盖等价类(1)(7)

用例5:A7,覆盖等价类(2)

用例6:-1A,覆盖等价类(3)

用例7:0X8h,覆盖等价类(1)(5)

用例8:0x80,覆盖等价类(1)(4)(10)

用例9:-0XaB,覆盖等价类(1)(4)(9)

2. 有函数f(x,y,z),其中x∈[1900,2100],y∈[1,12],z∈[1,31]的。请写出该函数采用基本边界值分析法设计的测试用例。

解: { <2000,6,1>, <2000,6,2>, <2000,6,30>, <2000,6,31>, <2000,1,15>, <2000,2,15>,

<2000,11,15>, <2000,12,15>, <1900,6,15>, <1901,6,15>, <2099,6,15>, <2100,6,15>, <2000,6,15> }

3. 某城市电话号码由三部分组成,分别是:

地区码——空白或三位数字;

前缀——非…0?或…1?开头的三位数字;

后缀—— 4位数字。

假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。要求采用弱健壮等价类方法,即同时考虑有效值和无效值,基于单缺陷假设(1)首先进行输入条件等价类划分,并编号,写出等价类表

(2)设计测试用例,以便覆盖所有的有效等价类

(3)为每一个无效等价类设计一个测试用例,列出完整的测试用例表。

解:

4.按要求给出下列程序的测试用例(要求写出必要的说明):

(1)语句覆盖判(2)定覆盖条件覆盖 (3)判定-条件覆盖 (4)条件组合覆盖

图中共有4条路径:P1(ace)、P2(abd)、P3(abe)、P4(acd)。

1.P1正好满足语句覆盖的条件。可以设计如下的输入数据:

A=2,B=0,x=4

2.测试用例如果能够测试路径P1(ace)和P2(abd),就可以满足判定覆盖要求。可以设计如下两组输入数据:

A=2,B=0,x=4

A=1,B=1,x=1

3.条件:A>1,B=0,A=2,x>1。需要有足够的测试用例使得上述四个条件都能有满足和不满足的情况。以下这两组输入数据能满足这些要求:

A=2,B=0,x=4

A=1,B=1,x=1

4.判定/条件覆盖

A=2,B=0,x=4

A=1,B=1,x=1

5.可能的条件组合:

(1)A>1,B=0

(2)A>1,B≠0

(3)A≤1,B=0

(4)A≤1,B≠0

(5)A=2,x>1

(6)A=2,x≤1

(7)A≠2,x>1

(8)A≠2,x≤1

相应的输入数据:

A=2,B=0,x=4 满足(1)和(5)

A=2,B=1,x=1 满足(2)和(6)

A=1,B=0,x=2 满足(3)和(7)

A=1,B=1,x=1 满足(4)和(8)

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

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

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

软件测试大纲样本

中远程无人侦察机突防生存力评估系统 测试大纲

目录 1.测试目的 (3) 2.主要技术指标要求 (3) 2. 1 主要战术技术指标 (3) 2. 2 使用要求 (3) 3.测试要求 (4) 4.测试仪器及辅助设备 (4) 4.1 测试设备 (4) 4.2 测试连接 (4) 5.测试方法和步骤 (4) 5.1 测试方法和步骤 (4) 5.2 测试用例说明 (5) 5.3 中远程无人侦察机突防生存力评估系统测试用例 (7)

为了确保中远程无人侦察机突防生存力评估系统的产品质量,使产品能够顺利交付验收,需要测试中远程无人侦察机突防生存力评估系统是否满足任务书规定的主要技术指标和使用要求。 2.主要技术指标要求 2. 1主要战术技术指标 该系统具有如下功能: ?可进行航路设定; ?可进行突防过程中威胁环境的设定; ?可显示突防过程中的地理环境; ?可动态显示无人机飞行航迹; ?具备无人机三维动态视景仿真功能; ?具备无人机突防生存力评估功能。 2.2使用要求 1.本系统独立运行,能为无人机生存力评估提供一个三维动态仿真平台,能形象、直观、逼真地演示无人机对防空系统雷达网突防的过程;在确定的飞机性能、自然地理环境下选择合理的飞行航路,使无人机受到敌方防空系统的探测降低到最低限度,提高无人机的突防概率;方便地评估无人机的生存能力,还可用于任务规划人员的日常训练; 2.硬件环境:计算机CPU采用Inter酷睿i7 2.0GHz以上,内存不小于2GB,硬盘容量不小于256GB,具有标准网络接口,包含鼠标、键盘等通用外设; 3. 软件环境:操作系统Windows 7/Windows XP。

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

单项选择题:共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% 整个系统(功能、性能、软硬件环境),依据《需求规格说明书》和验收标准

软件测试教学大纲

《软件测试》课程教学大纲 一、课程基本信息 课程编号:×××× 课程名称:软件测试 学时:32学时 实验学时:8学时 课程类别:专业课 课程性质:必修课 先行课程:C语言,数据结构,面向对象开发工具,数据原理 适用专业:计算机科学与技术,计算机软件技术 责任单位:计算机工程系 二、课程性质、目的与任务 本课程是计算机科学与技术及软件技术专业的专业必修课。其教学目的是通过本课程学习,使学生系统地学习软件测试的基本概念和基本理论,深刻理解和掌握软件测试和软件测试过程的基本方法和基本技术。了解和掌握现代各种新的软件测试技术和主要发展方向。为学生将来从事实际软件测试工作和进一步深入研究打下坚实的理论基础和实践基础。 三、课程的内容及要求、教学重点与难点 (一)软件测试概述 1、主要教学内容及要求 1)理解软件测试的背景,软件缺陷和故障的概念 2)理解软件测试的意义 3)理解软件开发过程与软件测试的关系 4)理解软件质量的概念及质量保证体系 5)了解软件测试职业与素质的要求

2、知识点与能力点要求 1)知识点:软件测试等相关概念。 (二)软件测试策略与过程 1、主要教学内容及要求 1)理解软件测试的方法与策略 2)明确单元测试的主要任务和过程 3)理解软件测试的复杂性 4)明确集成测试的方法和确认测试的准则 5)明确系统测试的八个领域测试要点 6)明确验收测试的主要内容和相关配置 2、知识点与能力点要求 1)知识点:软件测试方法与策略 2)能力点:单元测试、集成测试、系统测试及验收测试的方法3、教学的重点与难点 1)教学重点:软件测试方法与策略 (三)黑盒测试及其用例的设计 1、主要教学内容及要求 1)理解黑盒测试的基本概念 2)理解黑盒测试的两个典型问题 3)掌握黑盒测试的等价类划分法 4)掌握黑盒测试的边界分析法 5)掌握黑盒测试的因果图法和决策表法 2、知识点与能力点要求 1)知识点:黑盒测试方法 2)能力点:黑盒测试方法 3、教学的重点与难点 1)教学重点:黑盒测试方法 (三)白盒测试及其用例的设计 1、主要教学内容及要求

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

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)

计算机三级考试软件测试技术考试大纲

计算机三级考试软件测试技术考试大纲 全国计算机等级考试三级软件测试技术 考试大纲(2013年版) 基本要求 1.熟悉软件质量、软件测试及软件质量保证的基础知识。 2.掌握代码检查、走查与评审的基本方法和技术。 3.掌握白盒测试和黑盒测试的测试用例的设计原则和方法。 4.掌握单元测试和集成测试的基本策略和方法。 5.了解系统测试、性能测试和可靠性测试的基本概念和方法。 6.了解面向对象软件和WEB应用软件测试的基本概念和方法。 7.掌握软件测试过程管理的基本知识和管理方法。 8.熟悉软件测试的标准和文档。 9.掌握QESuite软件测试过程管理平台和QESat/C++软件分析和测试工具的使用方法。 考试内容 一、软件测试基本概念 1.软件质量的概念。 2.软件测试的目标和原则。 3.软件测试的心理学。 4.软件测试的经济学。

5.软件质量保证。 二、软件测试的类型及其在软件开发过程中的地位 1.软件开发阶段。 2.规划阶段的测试。 3.设计阶段的测试。 4.编码阶段的测试。 5.验收和维护阶段的测试。 三、代码检查、走查与评审 1.桌面检查。 2.代码走查。 3.代码检查。 4.同行评审。 四、覆盖率(白盒)测试 1.覆盖率概念。 2.逻辑结构的覆盖测试。 3.路径覆盖测试。 4.数据流测试。 5.程序变异测试。 6.基于覆盖的测试用例选择。 五、功能(黑盒)测试 1.边界值测试。 2.等价类测试。

3.基于因果图的测试。 4.基于决策表的测试。 5.基于状态图的测试。 6.基于场景的测试。 7.比较测试。 六、单元测试和集成测试 1.单元测试的目标和模型。 2.单元测试策略。 3.单元测试分析。 4.单元测试的测试用例设计原则。 5.集成测试基本概念。 6.集成测试策略。 7.集成测试分析。 8.集成测试用例设计原则。 七、系统测试 1.系统测试概念。 2.系统测试方法。 3.系统测试的实施。 八、软件性能测试和可靠性测试 1.软件性能的概念。 2.性能测试的执行。 3.软件可靠性的概念。

软件测试期末复习

选择题 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、目前信息系统所使用的主要用户认证机制,身份识别标识包括指纹、智能卡、数字证书。

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

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

软件测试工程师考试历年试题及解答

软件评测师考试历年试题及解答 软件评测师考试大纲(2005年版) 一、考试说明 1. 考试要求 (1)熟悉计算机基础知识; (2)熟悉操作系统、数据库、中间件、程序设计语言基础知识; (3)熟悉计算机网络基础知识; (4)熟悉软件工程知识,理解软件开发方法及过程; (5)熟悉软件质量及软件质量管理基础知识; (6)熟悉软件测试标准; (7)掌握软件测试技术及方法; (8)掌握软件测试项目管理知识; (9)掌握C语言以及C++或Java语言程序设计技术; (10)了解信息化及信息安全基础知识; (11)熟悉知识产权相关法律、法规; (12)正确阅读并理解相关领域的英文资料。 2. 通过本考试的合格人员能在掌握软件工程与软件测试知识的基础上,运用软件测试管理办法、软件测试策略、软件测试技术,独立承担软件测试项目;具有工程师的实际工作能力和业务水平。 3. 本考试设置的科目包括: (1)软件工程与软件测试基础知识,考试时间为150分钟,笔试,选择题; (2)软件测试应用技术,考试时间为150分钟,笔试,问答题。 二、考试范围 考试科目1:软件工程与软件测试基础知识 1.计算机系统基础知识 1.1 计算机系统构成及硬件基础知识 ·计算机系统的构成 ·处理机 ·基本输入输出设备 ·存储系统 1.2 操作系统基础知识 ·操作系统的中断控制、进程管理、线程管理 ·处理机管理、存储管理、设备管理、文件管理、作业管理 ·网络操作系统和嵌入式操作系统基础知识 ·操作系统的配置 1.3 数据库基础知识 ·数据库基本原理 ·数据库管理系统的功能和特征 ·数据库语言与编程

1.4 中间件基础知识 1.5 计算机网络基础知识 ·网络分类、体系结构与网络协议 ·常用网络设备 ·Internet基础知识及其应用 ·网络管理 1.6 程序设计语言知识 ·汇编、编译、解释系统的基础知识 ·程序设计语言的基本成分(数据、运算、控制和传输、过程(函数)调用)·面向对象程序设计 ·C语言以及C++(或Java)语言程序设计基础知识 2.标准化基础知识 ·标准化的概念(标准化的意义、标准化的发展、标准化机构) ·标准的层次(国际标准、国家标准、行业标准、企业标准) ·标准的类别及生命周期 3.信息安全知识 ·信息安全基本概念 ·计算机病毒及防范 ·网络入侵手段及防范 ·加密与解密机制 4.信息化基础知识 ·信息化相关概念 ·与知识产权相关的法律、法规 ·信息网络系统、信息应用系统、信息资源系统基础知识 5.软件工程知识 5.1 软件工程基础 ·软件工程概念 ·需求分析 ·软件系统设计 ·软件组件设计 ·软件编码 ·软件测试 ·软件维护 5.2 软件开发方法及过程 ·结构化开发方法 ·面向对象开发方法 ·瀑布模型 ·快速原型模型 ·螺旋模型 5.3 软件质量管理 ·软件质量及软件质量管理概念 ·软件质量管理体系 ·软件质量管理的目标、内容、方法和技术 5.4 软件过程管理

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

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

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

计算机应用技术专业职业技能测试大纲

《计算机应用技术》专业职业技能测试大纲 一、测试的性质与目的 2019年安徽城市管理职业学院城市计算机应用技术专业职业技能测试,是面向中等职业学校相关专业毕业生的选拔性测试,侧重考察考生的基本科学素养、理科基础知识以及对计算机软硬件知识的掌握情况。 二、测试形式及分值 1.测试形式:采用面试形式,每位考生面试时间为5分钟左右。 2. 测试分值:满分为300分。 三、测试内容 1.计算机基本知识 (1)计算机的大致组成; (2)计算机各部分的基本功能。 2.计算机操作系统的常识 (1)计算机操作系统的大致分类; (2)计算机操作系统的主要功能模块。 3.计算机软件的基本知识 (1)计算机软件的功能; (2)计算机软件的开发流程; (3)计算机软件的开发工具基本使用。 4.计算机硬件的基本知识 (1)计算机硬件的分类; (2)计算机硬件的作用。

5.计算机网络的基本知识 (1)计算机网络的划分; (2)IP地址的基本概念。 四、评分标准 评分标准分以下5个方面: 1.精神面貌与心理素质:考生的仪表是否整洁;精神是否饱满,言谈举止是否适当。 2.语言表达能力:考生回答问题是否详略得当;语言表达是否连贯流畅、清晰。 3.逻辑思维能力:考生回答问题的层次是否清晰;前后逻辑关系是否严密;思维是否敏捷;回答问题能否自圆其说。 4.理解沟通能力、应变组织协调能力:考生能否正确理解考官提问的内容;回答问题能否抓住关键点;处理问题是否有决断力。 5.创新能力与发展潜力:考生分析与解决问题有无创新意识;是否发展潜力。 五、题型举例 1.考生说出至少三种常用操作系统(包括微型计算机用操作系统和手机用操作系统)。 2.什么是计算机软件?什么是计算机硬件?两者的区别和联系是什么?

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

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 )方式。

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

太原理工大学软件测试技术 适用专业:软件工程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、黑盒测试与白盒测试各有哪些优缺点 黑盒测试与软件如何实现无关,测试用例开发可以实现并行进行,因此可以压缩总的项目开发时间,缺点:测试用例可以之间可能存在严重的冗余。还会有未测试的软件漏洞。白盒测试局限于已经完成的代码行为当中,离代码太近,如果黑

相关文档
最新文档