2.2 软件测试的工作流程
在我们深入了解软件测试工作流程之前,要先认清楚工作中,我们会接触到的各类岗位角色。
产品经理:负责策划产品、设计产品以及整理各类需求文档,在某些大型公司,产品经理会负责所有项目的进展以及工作调控,类似于其他公司项目经理这一个岗位。
项目经理:负责处理所有事务性质的工作,也可称为“执行制作人”。项目经理是为项目的成功策划和执行负总责的人。项目经理是项目团队的领导者,项目经理的首要职责是在预算范围内按时优质地领导项目小组完成全部项目工作内容,并使客户满意。为此项目经理必须在一系列的项目计划、组织和控制活动中做好领导工作,从而实现项目目标。任何项目内的事情都可以找项目经理进行调解。
测试经理:测试经理的职责是有效地领导一个测试团队。为了更好地履行这个职责,测试经理必须理解测试的基本原则,在担任一个传统的领导角色的同时还应懂得如何有效地实现一个测试流程。也就是说,测试经理应该管理、贯彻和维护一个有效的测试流程。这包括搭建一个能够支持良好沟通和有效成本控制的测试环境,创建一个有效的测试团队。所有的测试人员都归测试经理管理,他会根据团队的任务和工作时间去进行有效的安排,我们编写的测试计划以及报告都必须是测试经理审批过后才能往外发。
程序员:专门负责编写代码,所有产品的最后成果都出自他们之手。
软件测试员:软件测试员是指根据测试计划和测试方案进行软件测试;能够针对软件需求开发测试模型,制订测试方案,安排测试计划,并对测试项目进行管理的专业人员。这个岗位角色就是去发现产品中的各类Bug,并提交到Bug管理系统,让开发去进行修复,然后再进行反复测试,直至产品顺利上线,我们的测试工作才能暂时告一段落。
那么软件测试员的工作流程具体分几个阶段呢?每个公司的测试工作的流程可能会不相同,但是大体都是一致的,主要有下面几个阶段。
测试需求分析阶段:阅读需求,理解需求,主要就是对业务的学习,分析需求点。参与需求评审会议。
计划阶段:主要任务是编写测试计划,参考软件需求规格说明书、项目总体计划,内容包括测试范围、进度的安排,人力物力的分配,整体测试策略的制定,风险评估与规避措施的制定,一般由测试主管编写,当然测试员也会参与相关的评审工作。
设计阶段:主要任务是编写测试用例,会参考需求文档、概要设计、详细设计等文档,有不明确的也会及时和开发、产品经理沟通。用例编写完成后会进行评审。
执行阶段:首先搭建测试环境,执行预测,以判定当前版本可测与否,如果预测通过,正式进入系统测试,遇到问题提交Bug到缺陷管理平台,并对Bug进行跟踪,直到被测软件达到测试需求要求,没有重大Bug,测试结束。
评估阶段:出测试报告,对整个测试的过程和版本质量做一个详细的评估。确认是否可以上线。
把我们的软件测试工作跟上述几个角色合并起来,软件测试的工作流程图大致如下。