“介绍一下你们公司软件测试的流程吧”。这往往是每个面试测试工程师的人第一个面临的问题,回答的好与差,直接影响面试官对你的整体印象。
最近项目开始多起来,我准备招两个测试工程师,目前正在面试中。
我的要求是需要有4年以上的测试经验,接口测试经验是必选项。自动化脚本开发、渗透性测试、带团队经历是加分项。
当候选人介绍测试流程时,我会仔细听有没有我感兴趣的内容。如果提到了,我会继续往下问;如果没有,也就不浪费人家的时间了。
所以你看,介绍好测试流程多么重要。下面,给大家介绍一下我厂的测试流程(这是在准备述职PPT时制作的,篇符限制,缺失"灰度测试"环节。凑和着看哈)
软件测试流程
- 需求评审
产品迁头,召集UI设计\前端\后端\测试讲解需求
往往会讲两轮,首轮让大家知道个大概,小伙伴们想想有啥疑问;第二轮产品答疑
- 用例评审
测试迁头,一般在需求评审第二轮结束后的3天左右,形成测试点思维导图并发至群里,约产品、研发进行用例评审。评审时,首先,确定预期结果不明确的项;其次,讲重点业务逻辑及测试思路。确保三方对需求理解一致。
- 用例设计
用例设计环节是对思维导图进行了一个扩充,写清楚测试步骤和每一步的预期结果。
- 接口测试
介入时间:接口开发完并且已经发布到测试环境。我们团队后端和前端开发是自己提测自己的,所以会优先收到后端同学的提测(接口)。测试重点:1) 接口是否跑通 2)接口是否有业务上的Bug 3)校验是否严谨
- 冒烟测试
介入时间:联调结束,前端提测后。此时是在界面上进行测试了,看P1、P2级用例是否可以测试通过。当天下班前需要在项目群里通报测试结果:是否通过?如果未通过,未通过的原因是什么?
- 功能/UI测试
这是测试同学们最熟悉的环节了,我说一下最重要的一点--测试进度汇报。每天下班前要往项目群里发测试进度、阻塞Bug、尚未提测项、待产品确认项、Bug情况统计。非常重要!!因为一旦测试进度进展缓慢时一定是有原因的,而每天日清可以尽早引起各部门负责人的注意,避免延期。
- 回归测试
回归测试与接口测试、功能/UI测试往往是交叉进行的。一边改Bug一边回归。
- 兼容性测试
PC Web:
Edge / Chrome / Safari for Mac / 360极速模式/ Firefox / Opera;
移动端:
不同品牌的测试机都测到(android); 不同尺寸、系统版本(iOS)
- 产品验收测试
非常关键的一个环节。并不是测试人员测完就可以上线了,一定要通知产品经理验收。验收通过由产品经理通知研发上线。
- 发测试报告
- 灰度测试
有些公司是有灰度测试环境的。即和线上一样的环境,灰度测试通过后方可上线。(我厂目前无,我正在考虑是否要加)
- 线上测试
上线后。产品、业务方、测试都要进行线上验证。
- 开发接口自动化脚本
项目后期还要迭代,那么如何保证老的逻辑不受影响呢?我司是会开发接口自动化脚本,每次新的迭代上线前跑一遍。如果报错:1)原因是新的业务变动,旧脚本需要维护。 2)新业务引出的Bug。 如果是第二种情况,要跟产品、研发讨论,是否延期上线。
- 代码覆盖度测试
既然有接口自动化。那么跑完一轮,能覆盖多少代码呢?你肯定会有这个疑问。于是代码覆盖度测试应运而生。项目部署时进行插桩,然后跑脚本,跑完后导出代码覆盖度报告。报告上可以查看覆盖率及未被覆盖到的代码,从而补充用例。
(2 )
关于性能测试
我司不是所有项目都有性能需求。少量有性能需求的会通过Jmeter进行接口压测,配合架构师、研发寻找性能瓶颈。