测试流程

一、互联网公司的结构

  • 项目经理:对整个项目负责,是所有人的直属领导

  • 产品经理:负责对软件要做成什么样子进行负责,画原型图

  • 开发

  • 测试

  • 运维:对项目硬件进行管理

  • UI设计:画设计图

  • 运营

软件的研发过程:公司领导告诉项目经理,需要做一个xxx项目,项目经理接受任务告知产品经理,产品经理开始画原型图,画好图之后给项目经理查看,没问题后项目经理召集开发、产品经理,测试、UI开会,产品经理讲解原型图,everybody提问讨论,讨论好之后后端开始设计数据库之类的,测试开始编写测试用例,等UI把设计图做好之后,前端也开始干活了,最后前后端代码写好之后,项目交付给测试,一轮一轮的测试and开发修改,直到测试找不出问题,测试把项目交付给运维,运维把正式的环境搭建好,交付给运营,运营就开始做宣传

二、测试流程

1、需求分析阶段

①拿到需求(需求指的是原型图——最好、需求文档、口述)

②分析需求:

  • 熟悉需求

  • 理清项目业务流程:通过画流程图可以很好地理清——圆形:开始和结束;菱形:判断、分支;矩形:过程

  • 确定项目中存在的每个功能点:通过画思维导图,注意要找到最小的功能点

前台提取功能点可以根据上一步的业务流程图灵活来理,也可以根据页面从上至下,从左至右提取;后台功能点的提取一般就是根据CRUD的方式提取

  • 确定每个功能点的具体的规则和要求 :就是根据功能点,扩展开来的详细的功能及其规则和要求。

一般在产品原型图上不能体现出来,我们需要去问产品经理或者根据自己的经验,也可以参考同类型的成熟的功能设计来了解规则

整理成需求分析文档

2、测试设计阶段(文档的编写)

①测试计划

②测试策略:

  • 约定需要测试的内容及原因;

  • 不需要测试的内容及原因;

  • 哪些内容先做测试哪些后做;

  • 风险分析——找出有可能会遇到的问题且做好预备方案,例如需求风险(需求变更、新增需求)、人员风险(人手不够、技术风险)、硬件风险(服务器坏了)等

③测试方案:对每部分测试的内容(如兼容性测试、UI测试部分)制定具体的方案

④测试用例

  • 写测试用例的工具:Excel(最好用)、禅道、ALM等
  • 测试用例内容:编号(唯一不重复,不一定只要求数字),用例标题(言简意赅,一个场景就是一条用例),前置条件,优先级(和时间有关),重要级(和功能是否核心业务有关),测试数据(控制变量法),测试步骤,预期结果,实际结果(此处写测试用例时先不写,等之后测试执行的时候再写)

注:测试计划、测试策略、测试方案一般都由测试组长编写,测试策略和测试方案就是对测试计划的补充,有的公司都直接合写成一个测试计划书,测试计划根据5W1H编写

 

 

3、测试执行阶段

①执行测试用例

②bug的跟踪管理

  • bug管理工具:禅道,ALM(老版本交QC),bugfree,testlink,jira,bugzilla等
  • bug生命周期(面试常考题)

  • bug的常见状态:新建,已确定,拒绝,已解决(fixed),关闭(closed),reopen
  • bug的六要素:bug编号,bug名称,优先级,严重级(bug的等级),复现步骤(要写清楚),附件(对bug的佐证,一般可以是截图,视频,错误日志等)
  • bug的等级:致命的(和钱有关的任何bug、导致了软件无法正常使用、导致了核心业务流程无法推进),严重的(核心功能有问题、正向场景有问题),一般的(普通功能以及逆向场景有问题),轻微的(UI,易用性等等)

③对测试的迭代管理

  • 第一轮测试的时候,测试会提出很多bug给开发,开发修改完之后发布新版本并重新指派给测试,测试完成回归测试,这就是一次迭代。
  • 迭代分为版本迭代(开发发布新版本)和测试迭代(拿到新版本,又重新做一次测试),在版本迭代的过程中,有一个很重要的事就是更新测试环境(开发会把新的代码给测试,测试需要删除原来的代码将新的代码部署到环境中,如果是APP的话就是需要安装新的APP),一般又把更新测试环境叫做测试环境的维护。
  • 迭代周期,一周迭代一个版本,实际会迭代多少次?这个就不确定了,如果软件是在开发过程中,开发一边做一边测试,这个就会有很多次,如果是产品出来了才开始测试,一般会有4-5轮测试。
  • 测试迭代会分为两种,一种是全量测试(在完成回归测试之后,再把整个软件再全部整体测试一遍,因为开发都不确定他改的代码会不会对其他的功能产生影响),一种是增量测试(当被测软件达到一定体量的时候,做全量测试就显得不那么合理了,需要做增量测试,即只测试开发新增和修改的功能,但是如何判断开发修改的代码是否会对其他功能模块产生影响呢,这个时候就需要引入自动化测试了——由自动化去帮忙处理测试以前那些已经测试通过的功能)

4、测试总结阶段(职场中,测试报告抢着写)

可以每个版本总结一次,整个软件开发结束总结一次。

  • 做测试报告中,应该包括工作总结,bug的统计与分析(可以以bug等级,各功能模块的bug,不同测试提出的bug,不同开发出现的bug,不同开发解决的bug数,不同版本发现的bug等维度考虑),质量评估(一共有多少需求,已经完成了多少,还有多少没完成;目前还有多少bug是打开的,已经关闭了多少bug;得出结论:下一个版本应该怎么去做,怎么提高工作效率)

软件评估是有一定标准的,这里的质量评估是由测试来决定这个软件是否已经做完,评估标准:所有需求都完成了或者所有的123级bug都关闭了,之后就可以交付了。

三、一个优秀的测试人员的个人修养

1、开发能力

2、文档能力

依据5W1H——六合分析法来编写测试的一系列文档

  • what:测试的对象,测试的项目,测试的内容的介绍

  • where:测试环境,相关的文档资料的管理

  • when:时间安排

  • how:具体的测试方法

  • why:为什么要这么去做

  • who:人员安排

3、测试能力

the end:所有的测试报告都需要图文并茂,各个测试报告如果不会写可以套模板

测试流程各阶段的输入输出管理:

测试阶段 输入 输出
需求分析阶段 原型图/需求文档 业务流程图、功能点的思维导图、需求分析文档
测试设计阶段 业务流程图、功能点的思维导图、需求分析文档 测试计划、测试策略、测试方案、测试用例等文档
测试执行阶段 测试计划、测试策略、测试方案、测试用例等文档 bug
测试总结阶段 bug 测试报告

 

原文地址:https://www.cnblogs.com/bzbz/p/13853518.html