如何规范小开发公司的测试流程?

PS:本文转载自黑马测试高赞知乎文章
链接:https://www.zhihu.com/question/33406353/answer/2491291115

小公司如何规范测试流程,咱们可以“以大见小”。先了解下理想状态下的测试流程,然后抽离出可减少的环节。这个剩下的,不可减少的环节,就是小开发公司测试流程了。
所以本文分为两部分:
1、理想情况下完整的测试流程应该是怎样的
2、给题主的建议,如何设计小开发公司的测试流程
3、如果还不知道怎么落地,推荐具体学习资源分享
现在开始阐述。

一、理想情况下完整的测试流程应该是怎样的
在理想情况下,完整的项目流程如下图所示:

此图清新展现了产品、开发、测试等主要角色,在项目不同阶段对应的工作内容。
1、需求阶段
在这个阶段中,由产品经理主导需求评审,测试跟开发积极参与。
在需求评审的过程中,开发和测试需要了解需求的细节和设计逻辑,同时对于有疑问的地方要向产品提出疑问,以达成对需求理解的一致。
需求评审结束后,开发先评估工时。测试则要根据需求文档,并结合开发的工作量,来完成测试工时的评估。
排期表规范:
包含角色:产品、设计、前后端、测试等(根据具体的项目来定)
关键时间节点:
产品:需求串讲时间,项目上线时间
开发:开发起止时间,前后端联调时间
测试:提测时间,测试起止时间

2、开发阶段
排期定好之后,就进入开发阶段了。
首先,开发同学会先出一个整体的技术设计方案,包含本次需求的设计思路和实现逻辑等。
这时一般会有技术评审的环节,该环节由开发主导,产品和测试参与。在技术评审的时候,测试人员可以对开发的技术设计提出疑问,从而获得更加全面的了解,了解越多,测试用例设计才会更全面。
技术评审结束之后,测试人员就要立即开始制定测试方案(测试范围、测试手段、测试时间等)。
接下来就进入到对于测试人员,非常重要的环节:编写测试用例。
编写测试用例可以用Excel,也可以用Xmind,在此,建议测试团队统一标准。


测试用例完成后,测试人员需要跟开发和产品拉会,进行用例评审。
用例评审的目的是找出遗漏点和逻辑理解不一致的地方,最终统一对预期效果的理解。
3、测试阶段
开发完成后,接下来就是提测。
在提测环节,建议制定测试准入(也称为提测规范)。
为什么要制定提测规范:为了规范开发的提测质量,加强前期质量控制,降低提测后因提测质量问题造成的风险。
测试准入标准(根据实际业务增减):
1)开发人员按需求及原型图完成软件的业务流程及功能的开发
2)开发人员编码结束,并已完成单元测试,并提供自测功能报告
3)软件的基本业务流程可以运行通过(冒烟测试),功能操作正确,且符合需求
4)开发人员需提供软件的最新版本,并安装测试通过
5)开发人员需提供接口文档、部署文档、提测申请、提测功能列表
开发人员的提测质量,达标之后,测试人员就要正式上场了。
测试一般分为后端测试(接口测试)和前端测试,一般是后端测试通过之后再进行前端测试。
怎样才算合格的测试,同样也需要制定测试准出标准(测试完成标准)。
测试准出标准:
1)所有功能和业务流程都按需求实现
2)测试用例都已经执行完成,测试执行覆盖率为100%
3)测试发现的所有 BUG 问题中,致命、严重、都已被修复且被验证通过
4)允许遗留不影响业务流程的轻微bug,但是需要有解决方案及时间点
5)完成测试后,出具测试报告
4、发布阶段
测试完成后,就进入发布阶段。
发布规范包含以下几点:
发布时间:为了避免上线后有问题及时修复,发布日期建议避开周五及节假日前两天,上线时间避开用户活跃高峰期
发布流量控制:为了避免线上问题影响到线上用户,建议小流量灰度发布,在线上回归没有问题后再逐步放量
项目上线后,建议做一次项目复盘,看看那些地方做得不好,要分析原因并找到解决方案;那些地方做得好,以后继续保持。
通过复盘这个环节,可以总结经验并更好地规范项目流程。
更多测试流程,也可以参考下面这篇文章:
《推荐:想了解一个项目完整测试流程,看这篇文章就OK了-黑马程序员技术交流社区》bbs.itheima.com/thread-419740-1-1.html
更多测试流程中的技术细节,可以点击下面这篇文章进行了解
《软件测试常见问题系列39-软件的测试流程是怎样的?-黑马程序员技术交流社区》bbs.itheima.com/thread-505909-1-1.html

二、给题主的建议,如何设计小开发公司的测试流程
我们结合题主的实际情况来说,之前没有测试流程。作为创业公司,猜测只有题主一个人负责测试。
所以想要在短时间内落实很细致完整的测试流程是很有一定难度的,那么就需要先从一些必要的和容易的环节入手,逐步完善。
1. 必要的环节:对项目的流程和效率影响大
2.容易的环节:产品或开发等角色容易做的,愿意配合的
下面,我们从【 需求→ 开发 →测试 → 发布】这个流程来理一下头绪:
1、需求阶段:
a.需求文档:要落实为文档,而非口头的,方便产品、开发、测试对需求有统一的理解和依据(有必要)。
b.需求评审:开发、测试拿到产品的PRD文档后,需要提前阅读并标出有疑问的地方,在需求评审上提出并沟通达到一致。保证产品、开发、测试对需求的理解一致,确保前期的修改成本是最低(有必要)。
c.定排期:重新评估工作量,方便对整体进度有把控(有必要、落实难度不大)。
2、开发阶段:
a. 开发设计:测试人员有条件的话,应该参与到开发的设计评审和接口评审中。参会交流,可以帮助测试人员理解开发设计的思路和逻辑,对之后的用例设计起到帮助。另外测试人员可以及早的发现开发设计上的错误和遗漏,将维护成本降到最低(建议做)。
b. 接口文档:开发要写接口文档,方便测试过程中查阅(有必要,落实难度一般)。
c. 用例设计:根据需求分解出测试功能点,并标出优先级,根据功能点设计测试用例(必须做)。
d. 用例评审:测试人员针对需求写出测试用例之后,再让产品和开发review一遍,目的还是发现需求的遗漏点(建议做)。
e. 单元测试(开发自测):在开发的过程中要做单元测试,避免小错误造成大的影响(落实难度一般)。
3、测试阶段:
a.提测:开发提测的质量也是至关重要的,如果出现一些流程性的问题,将影响到整个测试进度。接收到提测单后测试人员先将冒烟测试用例过一遍,没有问题方可开始测试,否则打回开发直到直到符合标准(有必要)。
b.部署测试环境:需要跟开发同学沟通协助(有必要,落实难度可能较大)。
c.测试并追踪bug:上线前需要开发修复完所有bug(必要环节)。
d.测试报告:当项目达到上线标准时,应该出具测试报告发送给整个项目组,说明测试结果及存在的风险,并告知产品和运营进行验收测试,保证项目功能是符合预期的(必要环节)。
4、发布时间:
a. 发布时间:选择合适的上线时间,出现问题方便及时修复(容易落实)
b. 上线后跟踪:如果线上有反馈问题,测试应该及时跟进,通知对应开发最快速度修复和总结出问题出现的场景和原因(有必要)
c. 总结复盘:把本次的问题总结归纳,下次项目流程中应该重点关注(建议做)
5、补充说明[重要]:
a. 小公司中的开发流程往往都不太规范(乱改代码、随意部署、随意延期等),进而会很大程度上影响到测试流程。
b. 为了尽量减少开发流程不规范带来的影响,要争取开发团队leader的支持,共同推进开发流程的规范建设,这样才能总体提高项目研发的效率。
c. 建议先从开发提测这个环节开始(开发提测跟测试环节最紧密也最影响测试进度),可以参考第一部分的「测试准入标准」。
最后来一张图总结一下:

如上,小开发公司的测试流程,如图所示,直接拿甩给老板看就可以了。
若题主不愿直接使用,觉得有优化必要,在此建议题主,可根据实际状况,先做容易的和必要的。先把最基础版本的测试流程先搭建起来。然后在后续的迭代中,逐步完善和优化,最终形成适合自己公司的测试流程。
补充建议:流程搭建起来后,可以根据业务需要再招聘1-2个测试人员,协助你共同做好质量保证的工作。

三、如果还不是知道怎么落地,推荐具体学习视频资源

如果看完上述文字后,对于测试流程还是一脸懵,那么就要强烈建议你,看下列视频快速学习下(记得先看视频目录,以便能快速定位到学习目标):
1、功能测试阶段_测试流程



2、自动化测试阶段_测试流程



若你是对测试不太了解的测试小萌新,有太多太多对测试的疑惑(前途、薪资、技术含量、男生是否可以干.....),强烈推荐你观看《测试小白必看:学习软件测试必问的100个问题,从此贴开始》,相信能扫除掉你心目中90%以上的常见问题。
《100个常见问题链接》:http://bbs.itheima.com/thread-507947-1-1.html

最后,为方便大家自学软件测试,特意给大家准备了一份13G的超实用干货学习资源,涉及的内容非常全面。
包括软件学习路线图,黑马50多天的上课视频、16个突击实战项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2020软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助…..
《2022黑马测试学习路线图链接》:http://bbs.itheima.com/thread-405757-1-1.html
