转眼经历了这么多大大小小的项目,除了对业务越来越熟悉,对测试工作也有了更深的认识。下面是我发现的对测试同学来说非常重要的几个习惯。
总结和整理
很多同学会觉得,我平时也就跟业务需求啊,做完一个接着一个,哪有什么好总结的。或者是,需求分析、测试设计、性能测试就是这样做的啊,大家都清楚,哪有什么好分享的。
对测试工程师来说,总结和整理很重要。不论是大项目还是小需求,项目中踩坑的点、某个公共的测试方法、业务流程、甚至是一个棘手问题的解决过程等都可以记录下来。
对自己而言,通过总结大家能发现自己做的好和做的不好的点,加深印象,了解自己的知识体系,对不足之处制定改进计划并定期跟进,才能不断进步;对他人而言,学习他人的经验也是一种成长的方式,同时避免下次有同学踩同样的坑;对公司而言,有详细的业务和技术文档可以降低大家的学习成本和犯错成本(如果大家都不记录,每个同学会遇到的问题和困难其他人都要再踩一次坑,这是很可怕的)。
我认为一个规范的测试团队至少需要的文档有:新人指引、业务文档、测试方法、项目文档、知识共享、组内工作这几部分,而且这些文档都需要团队成员一起持续完善。我们平时的实践是,新功能上线后,负责的同学及时更新业务文档;中大型的项目记录该项目的测试计划、踩坑点、经验总结;不定期针对业务中一些共性的或者特别的点进行整理。新人、轮岗同学通过文档可以快速熟悉业务和掌握团队的测试方法。
效率提升
想造某个状态的数据非常痛苦?每次测试执行到这步需要手动去改数据以及跑定时任务很麻烦?每次想找一个测试用的身份证号银行卡号很费时间?如果你也遇到过这些重复性的、耗时的问题,不妨通过脚本或者小工具解决。
第一步可以先简单用脚本实现,后面需要平台化了再考虑放进平台里。你觉得测试工作枯燥、没啥进步很可能是因为你在遇到这些问题的时候没有思考怎么去提高效率,而花时间在不必要的执行工作上面。提升效率还有一个好处是你可以去接触更多框架和工具,提高编程能力的同时拓展知识面。
比如现在越来越被重视的造数据小站和测试平台,就是为了解决管理和使用的效率和质量问题。这不仅对测试同学来说非常便利,对产品、开发同学的工作也是十分友好的:前后端开发同学可以在想要的环境跑出想要的数据进行调试,产品同学也可以自主验收了。
测试分析
你可以不是非常熟悉业务,但是你需要有测试分析的能力,多思考为什么是这样这不是那样,有没有什么特殊情况,这样会导致什么意外结果等。从各种角度思考被测对象,并且在测试中保持探索精神,而不只是机械般的执行测试,你将会有不一样的收获。业务能力可以通过项目经历不断提升,但是分析能力让你在新业务也能正确评估风险和进行测试。
还是举登录模块的例子还说,如果你上来想到的就是正确的用户名错误的密码之类的,这是远远不够的。从需求上考虑,这是什么系统的登录模块,只能用用户名密码登录吗?是否可以用微信QQ邮箱账号登录,是否有绑定手机号用手机验证码登录;如果可以用微信和QQ登录,只能用账号登录吗,是否可以扫一扫登录;产品设计中没有主动退出和注销账号的功能,需要找产品确认一下吗。从设计上考虑,web端和移动端都是用同一套代码吗,账号密码在数据库中是明文存储的吗,如果系统接口不加密那注册/登录接口是否有对账号密码特殊处理。同时不仅需要关注功能,新模块的性能安全兼容性都需要考虑。
全流程质量把控
测试同学不仅需要做测试工作,还要主动推进和规范研发流程,从需求质量、开发提测,到代码版本规范,上线流程、上线后的监控等,都需要关注。因为质量不是测试出来的,如果只是在测试阶段介入,那么发现问题和修改问题的成本已经比较高了(遗留到线上的更高) 。
很多线上问题都是可以从需求、设计、测试阶段溯源的,比如某次上线前开发误删/夹带代码导致出现严重问题,而且上线后没有同学留下来观察线上情况,也没有相应的监控可以发现问题,还是业务同学通过成交量下降才发现的。那我们需要考虑,为什么开发同学在上线前可以改代码并且没有告知测试同学,为什么测试同学在发布时没有再次审核代码,为什么上线后没有安排同学跟进,为什么线上监控没有覆盖这个严重级别的问题。这个故障的改进项有:
1.开发修改功能需要告知测试同学,并且在封版后不得再提交代码
2.开发经理不能随意将未经测试的代码合上线
3.测试同学需要检查上线的代码是否是测试代码,同时关注是否有夹带/误删的代码
4.今后的上线需要安排同学值班观察线上情况
5.补充本次出现的未覆盖的监控点
有时候不是因为开发代码质量差,测试覆盖率不高导致的线上问题,而是不合理不规范的操作导致。不断跟产品、开发同学强调这些规范,并且发现有问题的地方就主动提出并列出改进计划,定期跟进和反馈,你会发现测试过程越来越爽,产品质量也会得到保障。越资深的测试不是测试用例写的越多、缺陷提的越多的,相反,他们可能是提bug最少的,因为在测试前他们就已经发现和解决了问题并且已经将可能的风险降到了最低。一个全流程都规范的团队,才能在每次交付中不失风度。
总结
如果有同学发现工作这么久,一点进步都没有,除了业务水平,其它能力也没提升,那你要思考你平时工作中是否有培养良好的习惯,一切阻碍质量和效率的点都要主动寻找解决方式,你在帮助团队的同时也是帮助你自己。
链接:https://www.jianshu.com/p/6e92be8994e5