- 推排期
对于QA介入的需求排期,需求评审后,QA主动沟通且推动排期确认,及时回复PM排期邮件。
- 常通告
对于提测、测前沟通、准入或驳回、测试进度、需求项目质量报告、项目延期(提测,测试,上线),质量风险等事务,QA应当主动做邮件通告或推动接口通告。
- 抛风险
对于所有影响需求质量,测试延期,上线延期,跨端联调及测试延期的风险问题,做及时的邮件通告抛出风险至各接口人,让干系人了解评估。
- 快同步
对于所有需求,需求评审、需求排期、提测、测试进度、质量风险问题,上线等信息,都及时同步至接口同学,跨端项目注意及时同步至下游接口PM、RD、QA。
- 跟问题
对于线上的影响大的事故,严重Bug,接口方向QA做及时的反馈记录,同步至wiki。对于各个Hi群、微信群中抛出的线上Bug,接口方向QA及时回复跟踪,无法解决的问题,推动接口RD去解决,学习如何定位解决问题。
- 稳上线
QA推动RD上线时间尽量前置,提前协调同一个模块做一次上线,避免冲突。
上线回归发现Bug,QA评估Bug影响及严重程度,存在风险高的Bug果断阻止上线,做上线延期通告。
复杂较大的项目,上线回归工作量较大情况,QA协调RD/PM同学做测试回归分配,避免上线回归不充分,提高上线回归测试效率。
所有需求上线,必须保证从App入口完成主流程的回归测试。
上线时间过晚(例:晚于00:00),QA评估风险,建议将上线延期到第二天,10点以后QA有权叫停发布上线。
上线规范,参考如下截图:
- 爱总结
总结每一个项目测试过程中存在的不合理地方、有待优化的细节,如:需求评审、需求排期、准入质量、上线流程、测试覆盖、测试方法、跨端测试效率问题等。
QA意识到底是什么?怎样才算是有QA意识?什么样的QA是好QA,高级QA,可以拿高薪的QA?
QA应该具备3个基本特征:娴熟的测试技能,积极的自我驱动能力,清晰的大局意识。并且,需要抱定一个理念:QA无小事!
娴熟的测试技能,包括对于产品业务逻辑的掌握,任何一个我们业务中的功能,你都能了然于心,理解终端用户的使用场景并能在测试中构造出可能的异常;并且对于RD代码实现做到心中有数,整个工程中有哪些接口,对应着数据库的哪些表结构以及SQL查询,你和RD听PM阐述一个需求时,你是否能大致分析出RD应该在什么地方添加哪些代码去实现PM想要的功能?
积极的自我驱动能力,这不光是优秀的QA需要的,而是做一个优秀的人所需要具备的素质,不满足现状,时时刻刻都在思考如何提升自己的能力,思考怎样才能不浪费你生命中的每一天,每一个小时,每一分钟。只有渴望成功的人才有可能成功。映射到QA这个角色,那你需要经常反思自己的不足,你的项目测试能不能节奏更快一些,效率更高一些?测试工具是不是很恶心很难用?开发测试流程是不是很废柴?你每天是不是在做着你觉得毫无意义又必须要做的事情?思考问题、在解决问题的过程中得到锻炼和成长,这些事情没有人会要求你去做,但是如果你做了并且给团队带来帮助,那么你自然可以获得比别人更多的机会与空间。
清晰的大局意识,从整个QA团队或者从整个事业部的层面来看你工作的意义,事业部的目标是什么?QA团队的目标是什么?你要知道你做的事情对QA,对团队的意义在哪里。
在QA角度上全方位考虑我们能从哪些方面、哪些层次上影响产品的质量?
1.需求阶段 需求是如何产生的,QA要判断需求是否合理,能否预期的目的,需求是否够细致并可实施,不明确的需求会带来开发测试过程中不断的扯皮与内耗。
2.设计阶段 QA需要了解项目的技术方案设计并分析接口、表结构、算法、安全策略有没有问题,能否给出相应建议。
3.研发阶段 提供单元测试工具,帮助RD快速验证代码实现
4.联调阶段 提供接口测试工具,检验接口功能正确性
5.自测阶段 提供checklist与测试环境搭建工具,静态、半静态代码检查
6.测试阶段 手工测试与自动化测试相结合,CodeDiff补充,帮助RD更快定位修复问题
7.发布上线 线上回归与业务监控
QA离不开流程
流程的设立会降低效率,那我们就需要看,效率的牺牲是否可承受,可不可以带来我们想要的收益?效率的降低是否可以带来质量的稳定和提升?
对流程的控制是QA的核心工作之一,强悍的流程控制力与项目推动能力可以帮助你在每一个环节上把握住产品的质量,QA永远都有质量这把尚方宝剑,达不到QA要求的质量标准,那么流程就不能往下走,并且QA不对项目发布时间做任何保证。每一个QA都要在团队中建立自己的权威,培养自己的影响力。靠什么?靠自己对业务的精通,对技术的深耕,对原则的坚持。
QA的目标
1. 线上0Bug,0故障 这个不用多解释,所有QA的终极目标。虽然理论上无法达成,但我们的目的是无限趋近这个目标。提高测试阶段的测试质量,减少线上问题的可能性。如果线上bug不可避免,那可以通过及时发现线上问题,快速解决线上问题的方法将损失降到最低。
2. 缩短测试周期,提高发布效率 保证用户利益,用户体验的前提下,尽快让新产品、新功能完成上线,可以帮助团队早一点完成新产品尝试,更早收集到用户反馈,及时改进我们的产品。通过一切可能的手段,基于系统化、流程化、技术化的思路和方法,缩短测试时间。
3. 提升RD、PM质量意识 让RD、PM认识到测试不光是QA的事情,教会RD&PM测试,提供给RD&PM测试的方法和便捷的测试工具,让他们愿意做测试。让PM产出的PRD更细致更易理解、让PM自测发现更多bug,使PM有意识有能力反思自 己的PRD,胜过若干个QA评审他的PRD。让RD设计的表结构更合理、写的代码更规范更高效,有助于降低产品的交付周期,问题发现得越早,修复问题的代价越低。RD提测的代码bug少了,质量提高了,QA才能释放自己去做更多的事情。