软件测试及其案例分析第四章软件测试过程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2) 错误数据:错误数据是编写与程序输入规范不符的 数据,从而检测程序输入、筛选、错误处理等程序的分支。
7
(3) 边缘数据:介于正常数据和错误数据之间的一种数 据。它可以针对某一种编程语言、编程环境或特定的数据 库而专门设定。如若使用SQL Server数据库,则可把SQL Server关键字(如:'; AS;Join等)设为边缘数据。其他边缘数 据如:HTML的HTML ; <>等关键字以及空格、@、负数、 超长字符等。边缘数据要靠测试人员的丰富经验来制订。
10
图4.2 测试信息流
11
4.测试阶段划分
按照测试流程,将测试工作划分为计划(指进行测试计 划)、设计(指进行测试设计)和执行(含评价、执行测试并判 别结果、评价测试效果和被测试软件)等几个阶段。
可以从三个不同的角度将测试划分为多个阶段: (1) 面向测试操作类型的划分:调试、集成、确认、验 证、组装、验收、操作等。 (2) 面向测试对象粒度的划分:语句、结构、单元、部 件、配置项、子系统、系统、大系统等。 (3) 面向测试实施者的划分:开发者、测试者、验收者、 使用者等。
17
● 对测试过程进行管理,保证测试工作执行的准确性, 实现资源调拨和相关合作方的协调,对测试中的问题进行 全程跟踪。
● 生成测试报告。
18
7.软件测试的主要过程
一般软件测试的主要过程为计划→配置→开发→测试 执行。其中,
● 配置:指软、硬件资源的设置。 ● 开发:指构造或配置测试工具、创建测试套件和测 试方案库、准备适当的报告工具并记录测试系统如何运行。 ● 测试执行:指进行测试、记录测试条件和Bug以及 报告结果。
12
每个测试阶段一般都要经历以下步骤:测试需求分析、 测试过程设计、测试实现和实施、测试评价、测试维护。 详细叙述如下:
① 测试需求分析:测试需求是整个测试过程的基础, 主要确定测试对象以及测试工作的范围和作用。
② 测试过程设计:包括测试计划、测试策略制定、测 试时间安排、测试用例编写等。
③ 测试实现:包括配置环境、制作新的版本、培训测 试人员等。
13
④ 测试实施:已经按照测试计划进行展开,如手工测 试、自动化测试等。
⑤ 测试评价:对版本测试覆盖率、测试质量、人员测 试工作以及前期的一些工作制定情况进行评价、评估。
⑥ 测试维护:对测试用例库、测试脚本、Bug库等进 行维护、保证延续性等。
⑦ 测试工作的组织与管理:制定测试策略、测试计划, 确认所采用的测试方法与规范、控制测试进度、管理测试 资源。
19
8.动态测试的一般过程
软件动态测试的一般过程如图4.3。其中,测试过程有 两类输入:软件配置和测试配置。
1
第四章 软件测试过程
4.1 软件测试阶段 4.2 软件测试生命周期和软件测试的流程 4.3 软件测试步骤 4.4 单元测试(模块测试、逻辑测试、结构测试) 4.5 集成测试(组装测试、联合测试) 4.6 系统测试本章小结
2
软件测试贯穿于整个软件生命周期,是对软件产品(包 括阶段性产品)进行验证和确认的全过程。测试工作渗透到 从分析、设计、编程、使用等生命周期的各个阶段中。本 章简单介绍软件测试的过程和步骤。
8
3.测试过程中的信息流
图4.2为测试过程中的信息流。其中, 软件配置:软件需求规格说明、软件设计规格说明、 源代码等。 测试配置:测试计划、测试用例、测试程序等。 测试工具:测试数据自动生成程序、静态分析程序、 动态分析程序、测试结果分析程序以及驱动测试的测试数 据库等。 测试结果分析:比较实测结果与预期结果,评价Bug 是否发生。
9
排错(调试):对已经发现的Bug进行Bug定位和确定出 错性质,并改正这些Bug,同时修改相关的文档。
回归测试:修正Bug后再测试,直到通过测试Leabharlann Baidu止。 可靠性:通过收集和分析测试结果数据,对软件建立 可靠性模型。利用可靠性分析评价软件质量,即软件的质 量和可靠性达到可以接受的程度。 如果测试发现不了Bug,就可以肯定测试配置考虑得 不够细致充分,Bug仍然潜伏在软件中,则所做的测试不 足以发现严重的Bug。
3
4.1 软件测试阶段
软件开发经过制定计划、需求分析、设计阶段之后, 就进入编程阶段。程序中的Bug,并不一定由编码所引起, 很可能是由详细设计、概要设计阶段,甚至是由需求分析 阶段的问题引起,即使针对源程序进行测试,所发现Bug 的根源也可能在软件开发前期的各个阶段。定位、解决、 排除Bug也可能需要追溯到前期的工作。因此,测试应贯 穿于软件定义和开发的整个生命周期中。
4
1.软件测试的工作流程
测试的工作流程与公司的整体工作流程、项目的测试 要求等因素相关。图4.1为软件测试的一般工作流程。从图 4.1可以看出软件测试经历了5个过程。
5
图4.1 软件测试的工作流程
6
2.测试过程中的数据
测试过程中所用的数据可分为正常数据、错误数据和 边缘数据:
(1) 正常数据:在测试中所用的正常数据的量是最大的, 而且也是最关键的。人们要从中提取出一些具有高度代表 性的数据作为测试数据,以减少测试时间。
⑧ 测试工作的实施:编制符合标准的测试文档,搭建 测试环境,开发测试脚本,与开发组织协作实现各阶段的 测试活动。
14
5.角色和职责
1) 测试设计员 ● 制定和维护测试计划。 ● 设计测试用例及测试过程。 ● 评估测试,生成测试分析报告。 2) 测试员 ● 执行集成测试和系统测试。 ● 记录测试结果。
15
3) 设计员:设计测试需要的驱动程序和稳定桩。 4) 编码员 ● 编写测试驱动程序和稳定桩。 ● 执行单元测试。
6.软件测试的基本活动
软件测试是一个极为复杂的工作,通常包括以下基本 测试活动:
● 拟定测试计划和编制测试大纲。
16
● 确定和建立必要的测试环境。 ● 设计和生成测试用例,按照所写的测试用例,编写 测试脚本。 ● 根据测试对象和目的,构造测试用例集合。 ● 运行测试脚本或手工按测试用例进行。 ● 记录测试结果。 ● 结果比较分析,找出软件Bug。 ● 跟踪和管理软件Bug。 ● 将软件Bug记录到Bug数据库,清楚描述该Bug。 ● 验证被处理的软件Bug,并进行回归测试。
7
(3) 边缘数据:介于正常数据和错误数据之间的一种数 据。它可以针对某一种编程语言、编程环境或特定的数据 库而专门设定。如若使用SQL Server数据库,则可把SQL Server关键字(如:'; AS;Join等)设为边缘数据。其他边缘数 据如:HTML的HTML ; <>等关键字以及空格、@、负数、 超长字符等。边缘数据要靠测试人员的丰富经验来制订。
10
图4.2 测试信息流
11
4.测试阶段划分
按照测试流程,将测试工作划分为计划(指进行测试计 划)、设计(指进行测试设计)和执行(含评价、执行测试并判 别结果、评价测试效果和被测试软件)等几个阶段。
可以从三个不同的角度将测试划分为多个阶段: (1) 面向测试操作类型的划分:调试、集成、确认、验 证、组装、验收、操作等。 (2) 面向测试对象粒度的划分:语句、结构、单元、部 件、配置项、子系统、系统、大系统等。 (3) 面向测试实施者的划分:开发者、测试者、验收者、 使用者等。
17
● 对测试过程进行管理,保证测试工作执行的准确性, 实现资源调拨和相关合作方的协调,对测试中的问题进行 全程跟踪。
● 生成测试报告。
18
7.软件测试的主要过程
一般软件测试的主要过程为计划→配置→开发→测试 执行。其中,
● 配置:指软、硬件资源的设置。 ● 开发:指构造或配置测试工具、创建测试套件和测 试方案库、准备适当的报告工具并记录测试系统如何运行。 ● 测试执行:指进行测试、记录测试条件和Bug以及 报告结果。
12
每个测试阶段一般都要经历以下步骤:测试需求分析、 测试过程设计、测试实现和实施、测试评价、测试维护。 详细叙述如下:
① 测试需求分析:测试需求是整个测试过程的基础, 主要确定测试对象以及测试工作的范围和作用。
② 测试过程设计:包括测试计划、测试策略制定、测 试时间安排、测试用例编写等。
③ 测试实现:包括配置环境、制作新的版本、培训测 试人员等。
13
④ 测试实施:已经按照测试计划进行展开,如手工测 试、自动化测试等。
⑤ 测试评价:对版本测试覆盖率、测试质量、人员测 试工作以及前期的一些工作制定情况进行评价、评估。
⑥ 测试维护:对测试用例库、测试脚本、Bug库等进 行维护、保证延续性等。
⑦ 测试工作的组织与管理:制定测试策略、测试计划, 确认所采用的测试方法与规范、控制测试进度、管理测试 资源。
19
8.动态测试的一般过程
软件动态测试的一般过程如图4.3。其中,测试过程有 两类输入:软件配置和测试配置。
1
第四章 软件测试过程
4.1 软件测试阶段 4.2 软件测试生命周期和软件测试的流程 4.3 软件测试步骤 4.4 单元测试(模块测试、逻辑测试、结构测试) 4.5 集成测试(组装测试、联合测试) 4.6 系统测试本章小结
2
软件测试贯穿于整个软件生命周期,是对软件产品(包 括阶段性产品)进行验证和确认的全过程。测试工作渗透到 从分析、设计、编程、使用等生命周期的各个阶段中。本 章简单介绍软件测试的过程和步骤。
8
3.测试过程中的信息流
图4.2为测试过程中的信息流。其中, 软件配置:软件需求规格说明、软件设计规格说明、 源代码等。 测试配置:测试计划、测试用例、测试程序等。 测试工具:测试数据自动生成程序、静态分析程序、 动态分析程序、测试结果分析程序以及驱动测试的测试数 据库等。 测试结果分析:比较实测结果与预期结果,评价Bug 是否发生。
9
排错(调试):对已经发现的Bug进行Bug定位和确定出 错性质,并改正这些Bug,同时修改相关的文档。
回归测试:修正Bug后再测试,直到通过测试Leabharlann Baidu止。 可靠性:通过收集和分析测试结果数据,对软件建立 可靠性模型。利用可靠性分析评价软件质量,即软件的质 量和可靠性达到可以接受的程度。 如果测试发现不了Bug,就可以肯定测试配置考虑得 不够细致充分,Bug仍然潜伏在软件中,则所做的测试不 足以发现严重的Bug。
3
4.1 软件测试阶段
软件开发经过制定计划、需求分析、设计阶段之后, 就进入编程阶段。程序中的Bug,并不一定由编码所引起, 很可能是由详细设计、概要设计阶段,甚至是由需求分析 阶段的问题引起,即使针对源程序进行测试,所发现Bug 的根源也可能在软件开发前期的各个阶段。定位、解决、 排除Bug也可能需要追溯到前期的工作。因此,测试应贯 穿于软件定义和开发的整个生命周期中。
4
1.软件测试的工作流程
测试的工作流程与公司的整体工作流程、项目的测试 要求等因素相关。图4.1为软件测试的一般工作流程。从图 4.1可以看出软件测试经历了5个过程。
5
图4.1 软件测试的工作流程
6
2.测试过程中的数据
测试过程中所用的数据可分为正常数据、错误数据和 边缘数据:
(1) 正常数据:在测试中所用的正常数据的量是最大的, 而且也是最关键的。人们要从中提取出一些具有高度代表 性的数据作为测试数据,以减少测试时间。
⑧ 测试工作的实施:编制符合标准的测试文档,搭建 测试环境,开发测试脚本,与开发组织协作实现各阶段的 测试活动。
14
5.角色和职责
1) 测试设计员 ● 制定和维护测试计划。 ● 设计测试用例及测试过程。 ● 评估测试,生成测试分析报告。 2) 测试员 ● 执行集成测试和系统测试。 ● 记录测试结果。
15
3) 设计员:设计测试需要的驱动程序和稳定桩。 4) 编码员 ● 编写测试驱动程序和稳定桩。 ● 执行单元测试。
6.软件测试的基本活动
软件测试是一个极为复杂的工作,通常包括以下基本 测试活动:
● 拟定测试计划和编制测试大纲。
16
● 确定和建立必要的测试环境。 ● 设计和生成测试用例,按照所写的测试用例,编写 测试脚本。 ● 根据测试对象和目的,构造测试用例集合。 ● 运行测试脚本或手工按测试用例进行。 ● 记录测试结果。 ● 结果比较分析,找出软件Bug。 ● 跟踪和管理软件Bug。 ● 将软件Bug记录到Bug数据库,清楚描述该Bug。 ● 验证被处理的软件Bug,并进行回归测试。