专业的测试服务体系之:测试流程和规范

达芬奇密码2018-06-25 13:21
前言
当下互联网产品以业务为最优先,需求快速变更、版本快速迭代的情形已经成为常态,测试作为一个技术服务部门,需要尽全力支持需求的快速上线,应该尽量灵活而不是拿沉重的流程限制产品;然而,在这种业务迅速变化的混乱情况下,恰当的流程和规范有利于产品研发各个角色的协同,从而提高(而不是阻碍)产品发布的效率。
杭研的质量保障部组建了一个名为“QA专题”的虚拟团队,定期地组织讨论并制定相关流程,目前已经制定的流程有:测试计划、冒烟测试、测试用例、质量报告。
下面就来一一详细解释各个流程的具体规定、背景、目标及意义。
一、测试计划规范
背景:
测试计划是我们第三个制定的规范(在冒烟测试、质量报告规范之后,测试用例规范之前),在测试计划制定之前,其实大多数项目测试团队都有测试计划,有些是用完整的测试计划文档体现的,有些是合并到项目计划的。不过,那些把测试计划合并到项目计划的团队,往往只规定了一个测试进度,对测试策略、测试方案等涉及得比较少。当我们深入地看这些项目的时候,发现确实是存在问题的:因为事先没有讨论测试策略和测试方案,导致整个测试团队的行动和配合存在一些随意性,也容易漏过一些Bug,另外,团队成员虽然都是在力所能及的范围内做好自己的事情,但是因为没有事先讨论,有些风险没有提早暴露出来,反而导致在测试周期快结束的时候出现一些变数。基于这些情况,我们觉得部门内统一的测试计划规范还是很重要的。本着沟通重于文档的原则,我们尽量把测试计划的格式规定得很轻型,最关键的就是能写出测试策略、回归策略等,对于其他项不作强制要求。其意义就是促使测试团队在版本的早期就开始思考回归范围,先在测试团队内达成一致,并尽早向项目组提出测试时间上、范围上可能存在的风险并解决。比如,如果范围太大,时间太短,那测试团队可以把一些简单的测试用例交给其他角色去执行、或者提早准备BugBash,号召项目所有成员都来发现Bug。
关键规定:
  • 2周以上版本必须有测试计划。
  • 测试计划必须经过项目组Review,可以采用线下Review或者线上Review。
  • 测试计划着重写测试策略、回归策略等,并尽早提出可能存在的风险。 
模板:
为了使测试人员能快速制作测试计划,杭研QA的测试开发团队在QMS平台开发了测试计划的功能,模板如下:

二、冒烟测试规范
背景:
在冒烟测试规定之前,很多版本提测质量差,版本到测试人员手中后发现根本无法测试,然后又打回给开发,如此反复,使测试时间节点根本无法控制,测试时间压缩;而且,在版本来回的过程中,等待和沟通占了很多时间,严重影响了版本发布的效率。引入冒烟测试最关键作用就是 把关提测质量、控制时间节点,就相当于在测试和开发之间,对提测版本的质量达成一个共识,大家都知道什么样的版本是测试可以接受的 也有一些测试人员提出疑问,比如,很多产品为了节省时间,版本是分好几次陆续提测的,针对这种情况,我们的建议是:越是这种分次提测、版本紧张的情况,越需要执行冒烟测试来把控节奏,可以根据实际情况,只对比较大的几次提测分别规定冒烟用例,冒烟用例量也可以相对少一些。
关键规定:
  • 提测之前开发必须自己冒烟,通过后给测试
  • 开发冒烟完,测试验证,验证100%通过才进入测试
  • 冒烟测试的通过率计入质量报告,作为评价开发工作质量的一个标准
模板:
目前,杭研的冒烟测试基本上都已经在TC平台上执行了,云阅读的冒烟测试示例如下:

三、测试用例规范和TC平台
背景:
测试用例一直以来都是测试团队的关注重点,由于用例的量很大,并且涉及到跟开发和其他测试人员的协作,为了提高工作效率,测试团队一直在呼吁一套天人合一的测试用例管理工具,无奈业界的测试用例管理工具,除了商业化的死贵的整套工具(如TD),其他开源的工具也总是有各种的问题(比如TestLink的可用性一直被测试人员所诟病)。在这种背景下,杭研QA的测试开发部门从2014年开始进行TC平台的开发,到现在已经投入全面使用,收到了测试人员众多的支持和好评。目前已经解决了测试用例管理和测试执行的问题,基于群众对TC平台呼声强烈,后续我们将努力开发如下功能:Xmind支持、测试用例Review、自动用例管理。
关于测试用例的关键规定:
关于测试用例,我们有如下规定,这些规定都在有计划地固化到TC平台当中:
  • 用例级别:冒烟 小回归 大回归 细节。
  • 回归用例:维护一份完整的回归测试用例,定期维护。
  • 用例评审:用例须经过开发评审,可以线下/线上评审。
  • 结果同步:用例执行的结果必须每天同步。
模板:
测试用例的模版:
测试执行的模版:

四、质量报告规范
背景:
测试人员都知道应该写质量报告,因为作为专业的测试人员,需要对发布前版本的质量状况作专业的判断,并详细归纳发布后可能存在的风险,以便跟项目组一起事先制定应对方式。无奈因为写测试报告需要整理测试过程中的各项数据,在版本时间紧张的情况下根本就来不及,为了提高测试人员写质量报告的效率,QMS平台可以从各系统(比如项目管理平台Jira)自动抓取数据,自动填充质量报告。测试人员只需要着重填写“主要结论和关键风险”等主观判断的部分就行。这就大大节省了测试人员的时间,保证了效率和质量。
关于质量报告的关键规定:
  • 2周以上版本必须有质量报告,在版本发布前发送给项目组成员,并就风险作必要的沟通。
模板:
质量报告的模版:

写在最后
上述的这些是我们正在实施的,确认有效的一些流程,大大提升了测试工作的专业性、效率和质量。当然,在专业化测试团队的道路上,还可以有更多的轻量级的、促进工作效率和质量的流程,目前,我们正在讨论“线上Bug的收集和总结流程”,期望在几个月内能把线上Bug的流程做规范。

本文来自网易实践者社区,经作者钱蓓蕾授权发布。