代码改变世界

QA质量意识

2018-05-16 15:05  玲小喵  阅读(402)  评论(0编辑  收藏  举报

 

 

 

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才能释放自己去做更多的事情。