测试的分阶 (人门阶)

263 阅读8分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第8天,点击查看活动详情

测试的分阶

人门阶

套用一句俗话“人人都是产品经理”,其实人人也都是测试工程师。

入门阶的测试人员不需要掌握过多的计算机基础技术,只需要像用户一样对系统做各种操作, 如果出现不符合预期的结果,则它们被认为是系统存在的bug。这种测试被称为功能测试。

功能测试是通过测试来检测每个功能是否都能正常使用,只关注外部结构,不考虑内部逻辑 结构,主要针对软件界面和软件功能进行的测试。这个阶层实现测试的方法是手工测试,也就是 俗称的点点点测试。测试人员手动实现各种测试行为。

在这个阶层,测试人员除了需要理解功能测试的基本概念以外,还需要掌握两个要点。

1.及早介入测试的重要性

从项目成本的角度考虑修复bug的代价,如图所示。

image.png

从图中可以看出随着项目一个阶段一个阶段的延伸,越到后期修复bug的代价越大,所以测 试工程师在工作中需要尽早启动测试活动,从需求分析阶段进入就是最好的时间点。在理解需求 的基础上,提取测试需求,为编写测试用例做准备。

2.测试活动贯穿整个软件生命周期

测试并不是软件生命中的一部分,而是贯穿整个周期,如图所示。

image.png

每一个阶段中,测试工程师需要和需求人员、开发人员、设计人员以及运维人员积极配合, 参与需求设计调研及评审等会议,务求让测试渗透各方面,为后续测试执行做好充足的准备工作。

以下以故事的形式详细描述一下测试人员贯穿整个软件生命周期的行为。

有一个刚毕业的女孩叫作开心,她的志向是成为一名优秀的测试工程师。经过严格的面试 考核制度,她被一家名叫哎呦喂的公司录取了。经过公司的新人培训等内容后,测试部的经理 比目鱼先生准备给她委派第一个测试任务。作为没有工作经验的新人,她是否能够顺利地完成 任务呢?

“只要勤奋努力一定可以!”开心心中暗暗下定了决心。

测试员开心接到她的上级领导比目鱼先生委派的任务,需要她跟进项目A的整体测试流程, 为项目A的质量做好把控。

“测试流程是什么?”开心问比目鱼先生。比目鱼先生给开心画了一张测试项目的流程图

测试项目流程图中包括测试人员需参与的每一个阶段及该阶段中参与的角色、开展的会议以 及测试文档的输出。

“我本来以为测试项目只要根据需求验证系统功能就可以了。居然这么复杂!”开心对测试工 作多了一份憧憬之情。

“可是这些测试文档我都不知道怎么写,怎么办?”比目鱼先生看着开心苦恼的样子,发了一份测试部门的文档模板给她。

开心带着满满的好奇心打开这些模板。噢,原来测试文档是长这个样子的。以下提供测试文档模板的目录,根据目录可以了解文档的重要组成部分。通常情况下,我们会把测试计划与测试方案合为一个文档。

测试计划方案文档如图所示。

image.png

1)文档说明:包含文档目的和读者对象

·文档目的:描述编写本文档的目的、编写文档时用到的约定和文档的编排方式。

·读者对象:读者包括部门经理/高级经理、项目经理、项目组、测试人员、配置管理员及其他相关人员。

(2)术语与参考:包含参考资料与术语解释

·参考资料:填写本文档时使用的参考资料,如详细设计文档、开发文档等。

image.png

术语解释:解释测试人员使用的专业术语,如集成测试、冒烟测试是什么意思等。

image.png

3)测试计划概述:包含测试系统概述、测试目标、测试方法、测试里程碑、测试系统发布 及沟通策略

·测试系统概述:介绍测试的系统体系结构、组件、集成测试相关的系统分解或者组装情况。

·测试目标、方法及策略:说明测试目标、方法(手工、自动)、分阶段测试的策略等。 测试系统发布及沟通策略:根据项目的开发情况,说明测试工作和开发工作的协调关系、 系统发布的策略等。例如,开发人员和测试人员如何协同工作,是否计划定期定时发布 测试版本,发布的周期频度、发布时间等,何种情况下进行紧急发布。

(4)测试范围:描述系统测试的范围

从系统的功能模块及测试类型进行阐述。对需要测试的、不测试的内容分别进行说明。(5)分阶段测试:包含测试阶段定义、准入与准出标准、测试内容

测试阶段定义如以下表格所示。

image.png

·轮:填写计划测试循环策略,对于连续的测试发布,发现所有重要错误,并修复错误所需要执行多少次测试。

测试负责人:各阶段测试人员组成,通常可能有项目设计/开发工程师、测试小组leader、客户、最终用户等。

测试内容如以下表格所示

image.png

表中的测试物或对象说明填写被测系统模块的说明,并在用例/包中填写测试用例文档或测试包的获取路径。

(6)环境与工具:包括测试环境与测试工具

·测试环境:根据不同测试类型的测试要求,可能要搭建不同的测试环境进行测试。如果有几种不同测试环境,应分别说明并指出其用途,如下表所示。

image.png

·测试工具:说明采用的测试工具及其用途、来源和版本,如下表所示。

image.png

(7)测试开发:包括测试需求、测试系统设计、测试用例库、测试包及其说明、分析模型[可选]

·测试需求:由需求说明书提取出来的测试需求,详情如图1.5所示。

·测试系统设计包括测试用例库、测试包及其说明。

·测试用例库:按不同的测试类型分类,列举本项目开发的所有测试用例,如下表所示。

image.png

·分析模型[可选]:根据业务流程画出测试设计的分析模型。(8)[阶段测试详细计划][可选]

根据项目情况,计划每个阶段中的每一轮的测试计划,包括测试的系统版本和测试物、策略、要求、人员、进度、采用的测试包或测试用例等。

(9)测试执行管理与评价

阐述项目测试的发布、测试记录与缺陷管理等遵循的规范、规则等内容,以及本项目测试的小结和总结的计划。

(10)[风险列表][可选]

阐述项目测试可能遇到的风险,如进度风险、人员风险等内容。

(11)附录

附录可包含:附件A测试用例、附件B测试脚本等,链接到相应的测试用例和测试脚本文件。测试需求分析说明书分为项目测试整体需求和项目测试细化需求。

项目测试整体需求如图1.5所示。

(1)测试需求概述

描述本文档的目的、项目达成的标准等。

(2)被测对象

简要描述测试项目的背景、重要模块、需达到的质量目标等。

(3)测试模型需求

测试模型需求包括:测试原理/策略需求和操作流程需求。

·测试原理/策略需求:描述所需测试类型的内容及是否使用辅助工具等。

·操作流程需求:描述不同类型测试间的先后顺序,以及测试流程的先后顺序。

(4)整体测试需求

整体测试需求包括:测试环境需求、被测对象需求、测试工具需求、测试代码需求、测试数据需求。