测试团队应该怎么建设,前些年讨论的比较多。今天再次拿出来跟大家讨论,我们所做的一切都是为了什么。
我认为,测试团队的职责往大了说,就是一个:质量保障。但是质量保障是有要求的,就是高效和稳定。为了达到高效高质量支持业务,我们需要做的事情就更清楚了,不利于提高效率的及不利于保障质量的,都不需要做,不能为了做自动化而做自动化。不然,最后一定拿不到结果。
质量保障按大的阶段分,分为: 上线前,上线中,上线后三个阶段。
在上线前这个阶段,测试可做的工作最多,需求评审、用例编写、用例评审、测试环境测试。这里面每一个环节,都能体现一个测试工程师是否用心和专业,比如,需求评审,能否理解需求、想到需求应用场景,想到可能的漏洞及风险点。
举个例子,前端要加修改一个需求,从前端的角度讲,就是多调用一个接口A,实际上这个页面的PV非常高,而A接口本身不具备应对大流量的能力,如果没有想法,上线后一定会导致A接口服务异常。理论上开发同学应该想到这个问题,但测试同学不能因为开发想到了就不去想,思维要积极主动,才能在行动中体现出来。
上线中,测试团队应该进行服务的监控,这方面开发团队会监测,测试团队也应该监测。效率上,如果有自动化接入CI/CD,测试有完善的自动化用例,比如,有对应的测试环境用例,预发环境用例,线上用例,针对不同的环境,执行的不同的用例,迅速出结果,是比较理想的。维护一套脚本,需要投入不少的精力,如果精力不足,可以选择重点业务。
上线后,有不少团队,上线后的质量是通过用户反馈获得,其实就是没有线上质量跟踪。对于测试团队,线上质量跟踪也很重要,别忘记了我们的初衷,保障质量,质量最终指的是线上的质量,如果我们都不知道我们线上的业务是不是正常,谈何保障。线上质量返回有多驱动,自动化监测、人工发现、用户反馈,这几渠道都很重要,测试团队能做的并且是最快的就是自动化巡检。另外,其他两个渠道也应该时常关注。
围绕我们的宗旨,做我们应该做的事情,做到事半功倍,加油!