您的当前位置:首页正文

软件测试基本流程与要求规范

2020-09-16 来源:易榕旅网
实用文档

软件测试基本流程与规范

1 目标

制定完整且具体的测试路线和流程, 为快速、 高效和高质量的软件测试提供基础流程框

架。

最终目标是实现软件测试规范化,标准化。

2 测试流程说明

需求分析

评审、沟通

编写测试计划

评审、完善

提取测试需求

设计测试用例

评审、完善

搭建测试环境

冒烟测试

执行测试用例 完善测试用例

Bug 跟踪处理

测试报告输出

文案大全

实用文档

3 测试需求分析

测试需求是整个测试过程的基础;确定测试对象以及测试工作的范围和作 用。用来确定整个测试工作(如安排时间表、测试设计等)并作为测试覆盖的基 础。而且被确定的测试需求项必须是可核实的。即,它们必须有一个可观察、可 评测的结果。 无法核实的需求不是测试需求。 所以我现在的理解是测试需求是一 个比较大的概念, 它是在整个测试计划文档中体现出来的, 不是类似的一个用例 或者其他 .

· 测试需求是制订测试计划的基本依据, 确定了测试需求能够为测试计划提供客 观依据;

· 测试需求是设计测试用例的指导, 确定了要测什么、 测哪些方面后才能有针对 性的设计测试用例;

· 测试需求是计算测试覆盖的分母,没有测试需求就无法有效地进行测试覆盖;

3.1 测试方法与规范

3.1.1

测试方法

随着软件技术发展, 项目类型越来越多样化。 根据项目类型应选用针对性强 的测试方法, 合适的测试方法可以让我们事半功倍。 以下是针对目前项目工程可 以参考的测试方法:

? β 测试 (beta 测试)-- 非程序员、测试人员

β 测试,英文是 Beta testing 。又称 Beta 测试,用户验收测试( UAT)。 β 测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测 试。开发者通常不在测试现场, Beta 测试不能由程序员或测试员完成。

当开发和测试根本完成时所做的测试, 而最终的错误和问题需要在最终发行 前找到。这种测试一般由最终用户或其他人员完成, 不能由程序员或测试员完成。 ? α 测试(Alpha 测试)-- 非程序员、测试人员

α 测试,英文是 Alpha testing 。又称 Alpha 测试.

Alpha 测试是由一个用户在开发环境下进行的测试, 也可以是公司内部的用 户在模拟实际操作环境下进行的受控测试, Alpha 测试不能由该系统的程序员或 测试员完成。

在系统开发接近完成时对应用系统的测试 ; 测试后,仍然会有少量的设计变 更。这种测试一般由最终用户或其他人员来完成,不能由程序员或测试员完成。 ? 兼容性测试 -- 测试人员

兼容性测试是指测试软件是否可以成功移植到指定的硬件或者软件环境中, 例如在 B/S 项目中各个不同浏览器之间的测试。 ? 用户界面测试 -UI 测试 -- 测试人员

用户界面测试,英文是 User interface testing 。又称 UI 测试。

用户界面,英文是 User interface 。是指软件中的可见外观及其底层与用 户交互的部分(菜单、对话框、窗口和其它控件)。

文案大全

实用文档

用户界面测试是指测试用户界面的风格是否满足客户要求,文字是否正确, 页面是否美观,文字,图 片组合是否完美,操作是否友好等等。 UI 测试的目标 是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。 确 保用户界面符合公司或行业的标准。 包括用户友好性、 人性化、 易操作性 测试。

用户界面测试用户分析软件用户界面的设计是否合乎用户期望或要求。

它常常包括菜单,对话框及对 话框上所有按钮, 文字,出错提示,帮助信息 (Menu 和 Help content) 等方面的测试。比如,测试 Microsoft Excel 中插入符号功能 所用的对话框的大小, 所有按钮是否对齐, 字符串字体大小, 出错信息内容和字 体大小,工具栏位置 / 图标等等。 ? 冒烟测试 -- 版本编译者

冒烟测试,英文是 Smoke testing 。

冒烟测试的名称可以理解为该种测试耗时短, 仅用一袋烟功夫足够了。 也有 人认为是形象地类比新电路板功基本功能检查。 任何新电路板焊好后, 先通电检 查,如果存在设计缺陷,电路板可能会短路,板子冒烟了。

冒烟测试的对象是每一个新编译的需要正式测试的软件版本, 目的是确认软 件基本功能正常, 可以进行后续的正式测试工作。 冒烟测试的执行者是版本编译 人员。

? 随机测试 -- 测试人员

随机测试,英文是 Ad hoc testing 。

随机测试没有书面测试用例、 记录期望结果、 检查列表、脚本或指令的测试。 主要是根据测试者的经验对软件进行功能和性能抽查。 随机测试是根据测试说明 书执行用例测试的重要补充手段,是保证测试覆盖完整性的有效方式和过程。

随机测试主要是对被测软件的一些重要功能进行复测, 也包括测试那些当前 的测试样例 (TestCase) 没有覆盖到的部分。另外,对于软件更新和新增加的功 能要重点测试。 重点对一些特殊点情况点、 特殊的使用环境、 并发性、进行检查。 尤其 对以前测试发现的重大 Bug,进行再次测试,可以结合回归测试 (Regressive testing) 一起进行。

? 黑盒测试(功能测试) -- 测试人员

黑盒测试,英文是 Black Box Testing 。又称功能测试或者数据驱动测试。 黑盒测试是根据软件的规格对软件进行的测试, 这类测试不考虑软件内部的 运作原理,因此软件对用户来说就像一个黑盒子。

软件测试人员以用户的角度, 通过各种输入和观察软件的各种输出结果来发 现软件存在的缺陷,而不关心程序具体如何实现的一种软件测试方法。 ? 性能测试

性能测试,英文是 Performance Testing 。

性能测试是在交替进行负荷和强迫测试时常用的术语。理想的“性能测

试”( 和其他类型的测试 ) 应在需求文档或质量保证、 测试计划中定义。 性能测试 一般包括负载测试和压力测试。

通常验证软件的性能在正常环境和系统条件下重复使用是否还能满足

性能指标。 或者执行同样任务时新版本不比旧版本慢。 一般还检查系统记忆容量 在运行程序时会不会流失 (memory leak) 。比如,验证程序保存一个巨大的文件 新版本不比旧版本慢。

3.1.2

文案大全

测试规范

实用文档

测试规范是根据开发规范而制定的测试标准, 测试规范也是后期测试用例编 写的重要依据。 因为开发规范因公司而异, 因产品而异, 所以测试规范的标准程 度每个公司都不一样。

从理论到方法到各类流程到各类报告模版, 都属于测试规范的范畴, 当一整 套规范形成之后,可使得测试工作进行更加稳健,所有问题有据可查。

3.2 软件需求规格说明书

软件需求规格说明书是软件达到的各项功能的目标。 需求就无法判断测试结果是正确的。

是测试人员各项工作的依据, 没有

3.3 软件设计说明(概要与详细设计)

设计说明书包含软件的一些框架、 计说明来制定的。

字段、 数据库设计等。 软件设计说明对测试工作开展

测试准备的前期工作也是根据软件设

有很大影响, 没有软件设计说明很多问题将无法溯源,

3.4 页面原型( demo )

页面原型是项目人员快速熟悉项目的最佳路径。

在需求不够明确, 设计说明书不够全面

的情况下,页面原型也是后期测试用例编写思想的重要根据。

4 测试过程设计

明确测试目的,最终达成目的并验证结果是测试要做的事情。包括:

1. 2. 3. 4. 5.

测试范围:描述本次测试中的测试范围,如:测试软件功能范围、测试种类等。 简单的描述如何搭建测试平台以及测试的潜在的风险。

项目信息:说明要测试的项目的相关资料,如:输入输出文档,产品描述,软件主 要功能。 人力资源的分配。

测试需求:笼统说,就是测试中的所有设计和需求文档。作为本次测试的依据

4.1 测试策略制定

这一阶段在于需求、详细设计、测试计划完成之后,主要是本次测试的策略阶段。 很多公司少这个一个阶段, 需要有计划性的分出产品的功能扣出测试的功能点, 阶段大多公司都是直接拿着文档就开始做用例设计。 对需求进行分析,列出具体的功能列表。

(一般根据功能交互文档就能明确出此功

能的大体功能, 一层层的分下去, 一直到没个功能表单。 然后考虑到使用那些测试

文案大全

实用文档

方法?工作一旦做到执行阶段,我们可以更好的根据这些功能表一点一点的覆盖。 也能让我们在用例评审时, 充分的证实我们的工作是有效的能够保证产品的质量。 一般在此之前, 一些业务培训和需求评审是有必要是听一下的。 练的理解需求,也能保证产品设计中出现的一些误区。 对于一个个测试该如何进行测试?如下: a)

功能测试

功能范围(划分出各自负责的功能模块) 使用测试方法(等价类、边界值等测试方法方法) 测试标准(符合设计、需求和规范文档对该功能的描述)

b) c)

界面测试 兼容性测试

这样能够更早更熟

4.2 测试计划

1)

要充分考虑测试计划的实用性,

即测试计划与实际之间的接近程度和可操作性。

的各种资源,包括测试内容、测试标

写测试计划的目的在于充分考虑执行测试时 及受各种条件限制,可能受到的各种影响。

准、时间资源、 人力资源等等, 准确地说是要分析执行时所能够调用的一切资源以

a)

测试内容:对一个软件来说测试计划中会明确本次测试做哪些测试?

如:系统测试:在整个系统测试中会有(界面测试、功能测试、性能测试、兼 容性测试、安装卸载测试、可靠性测试等测试)

b)

测试目的: 一般多为保证产品质量是否达到预期的指标。 试中定义的结束标准。

这个指标也就是在测

c)

测试标准: 需要考虑本次测试需要输入那些文档, 该项目结束标准定义、 测试 结束标准的定义? bug 级别定义、优先级定义、 bug 管理流程定义。这个都需 要在执行测试事明确。计划中应该包含这些内容。

d)

资源分配: 这里分为人力资源、 软硬件资源等划分。 一般会把人力资源的利用 写入一个测试人员任务分配表里, 按照不同的阶段, 每个阶段提交相应的成果 (难度很大) 。软硬件资源中主要是在做计划时考虑到需要多少电脑或别的工 具,列出清单。

e) 测试风险: 大多考虑到的就是项目开发延期、 测试点、时间不足用例无法全部执行、 人员技能不足导致测试进度拉长。

测试人员不足用例无法全面覆盖

bug 无法及时修改导致无法验证、测试

f) 软件测试策略一般都是分开来做相关测试方案。

文案大全

实用文档

4.2.1

4.3 测试附件

用例模板、缺陷报告模板 测试环境的搭建

缺陷管理流程和缺陷级别定义

缺陷状态一般分为:新建、打开、已分配、已修复、关闭、重新打开 中间会有:延期、重复、拒绝等状态 缺陷管理流程:

1. 测试人员或开发人员发现 bug 后,判断输入哪个模块的问题,填写 bug 报告后,系统会自动通过 Email 通知开发组长和该模块开发者。 2. 开发组长根据具体情况,重新

reassigned 分配给 bug 所属的开发者。

3. 开发者收到 email 信息后,判断是否为自己的修改范围。

若不是,重新 reassigned 分配给开发组长或应该分配的开发者。

若是,进行处理, resolved 并给出解决方法。 (可创建补丁附件及补充说明)

文案大全

实用文档

4. 测试人员查询开发者已修改的

经验证无误后,修改状态为

bug,进行回归测试。

verified 。待整个产品发布后,修改为

closed。

还有问题, reopened ,状态重新变为“ new”,并发送邮件通知。

5. 如果这个 bug 一周内一致没被处理过。 Bugzilla 就会一直用 email 骚扰它的属主, 直

接采取行动。管理员可以设定最迟采取行动的期限,比如 3 天,系统默认 7 天。 缺陷等级划分:

分级 Bug等级 Bug等级说明

导致整个产品无法进行

○ 模块无法启动或异常退出

分类说明

Blocker

测试。修改优先级为最

高,该级别需要程序员

○ 其它导致无法测试的错误

立即修改

致命问题

死机,数据丢失,主要

○ 运行过程中系统崩溃 / 死机/重启

○ 功能设计与需求严重不符 ○ 严重花屏 ○ 内存泄漏

○ 影响手机语音或数据通讯等 ○ 严重的数值计算错误

Critical

功能完全丧失,系统悬 挂等错误。修改优先级 为最高,该级别需要程 序员立即修改 主要功能丧失,导致严 重的问题,或致命的错

○ 功能未实现或者存在错误 ○ 轻微的数值计算错误

严重问题 Major

误声明。修改优先级为

○ 系统所提供的功能或服务受明显的影响

高,该级别需要程序员

尽快修改

○ 用户数据丢失或破坏

○ 操作界面错误(包括数据窗口内列名定义、 含义是否一致)

次要功能丧失, 不太严

重,如提示信息不太准

确。修改优先级为中,

该级别需要程序员修改

○ 边界条件下错误 ○ 功能存在错误,但出现概率很低

○ 提示信息错误(包括未给出信息、信息提示错误等) ○ 长时间操作无进度提示 ○ 系统未优化(性能问题)

微小的问题,对功能几 乎没有影响,产品及属

Minor

性仍可使用。修改优先

○ 文字排列不整齐等一些小问题

级为低,该级别需要程 序员修改或不修改 提示信息格式不符合要

○ 光标跳转设置不好,鼠标(光标)定位错误 ○ 辅助说明描述不清楚 ○ 个别不影响产品理解的错别字

○ 可输入区域和只读区域没有明显的区分标志 ○ 界面格式等不规范 ○ 操作时未给用户提示

Normal

一般问题

轻微问题

Trivial

求, 违背正常习俗习惯

的,界面不美观,控件 排列、格式不统一 功能性建议,功能使用

Enhancement

性、方便性、易用性不

○建议

文案大全

实用文档

5 测试实施

5.1 执行

开发就会转版本给我们测试部门进行系统测试了。

拿到版本我们首先搭建测试环境

如果预测试不通过, 打回 做好测试结果的记录, 发

做一个预测试, 目的是来评断这个版本是不是可测试的。 开发部返工,如果通过了,就开始我们第一轮的系统测试。 第一轮系统测试我们会执行我们所编写的所有测试用例, 员,由他们进行修改。

现缺陷了提交缺陷报告。 当第一轮测试结束后, 我们把所有的 bug 单提交给开发人 在他们修复 bug 期间,我们会对第一轮系统测试做一个测试评估, 还要根据实际情况, 对我们写的测试用例进行修改和增加。

一个新的版本给我们, 我们重新搭建测试环境开始第二轮系统测试。

出一个测试报告。

首先是回归我

开发改 bug 结束, 提交

们提交的缺陷报告,然后会在用例中挑选一些优先级别比较高的用例来进行测试, 发现问 题了继续提交缺陷报告,只到缺陷率低于用户要求了,我们就进行最后一 轮的回归测试, 结束系统测试。 具体测试轮次是根据版本质量和项目复杂度而决定 的。

6 测试评估

?

执行阶段结束了进入测试评估阶段, 和版本的质量做一个详细的评估 1) 2) 3) 4) 5)

需求需要评审那些? 用例需要评审那些? 计划应该评审那些? 缺陷评审那些? bug 评估?

我们会出一个总的测试报告对我们测试的这个过程

测试总结报告文档的输出:

1、可以让具体的任务负责人对该本次测试中个人负责的模快进行评价,提出相关建议。给

出总体的评估

2、整体上的 bug 按照不同等级统计出来、用例数量、用例执行数量 3、对项目中测试人力资源的统计。 (单位:人 / 天) 4、项目中软硬件资源统计。 5、提出软件总体的评价。

文案大全

实用文档

6.1 测试报告

测试报告包括对软件功能的结论, 说明为满足此项功能而设计的软件能力以及经过一项 或多项测试已证实的能力。

说明该项目软件的开发是否达到预定目标,是否可以交付使用。

总结测试工作的资源消耗数据,如工作人员的水平级别数量、机时消耗等。

记录测试结果与发现及本项目测试工作所得到的各项输出的承载体,根据输入与计划、 要求的对比来总结此次项目所或得的经验。

7 测试维护

7.1 7.2

文案大全

因篇幅问题不能全部显示,请点此查看更多更全内容