每个公司的产品都是独一无二的,怎么进行质量的保证?这里没有统一的答案,但是思路是相似的。质量保证这个话题需要测试管理人对测试理论、测试方法、测试工具、手段、以及最新的行业测试解决方案有一定的深度的认知。通过不同的工具和手段来解决不同的问题。 如:APP软件的兼容性可以通过使用模拟器来测试解决,手机硬件兼容需要通过真机来解决,接口回归可以通过接口自动化回归, APP 前端可以通过UI自动化、遍历测试来覆盖等等, 通过多种手段、多种工具和策略来保证测试的多方覆盖。 没有哪一种方法是万能的,能够一招制胜的。质量的保证需要各种招式,通过不同的招式来解决对应的问题,从而达到整体的完整性。每种方法也都是针对某个特性来覆盖此特效可能产生的问题,做到提前预防和检测以此来保证质量的完整性。不要为了某个领域的问题而耗费全部精力,这样是很不划算的。我们需要的是将集中精力解决主要测试问题,次要问题各个击破,做到以无招胜有招。
为了确保产品上线后的质量,测试人员需要十八般武艺样样精通,但是谁又能做到样样精通,毕竟人的时间和精力有限。这个时候有个一技之长就显得尤为重要,能够通过你的一技之长能解决公司某个领域的测试,也是难能可贵的!
接口自动化测试--- 覆盖接口路径
UI自动化测试-----回归UI功能
自动化遍历---回归功能、路径回归、稳定性测试
单元测试-----提前发现问题,解决BUG
.....
UI自动化、接口、性能、安全、Shell、Java、python、单元测试、专项测试、持续集成、持续交付、devOps等各个领域有所专长,你就可以成为某个方面的专家。但是作为测试人员只懂某一块,其他的什么都不懂也是很难的,毕竟环境要求我们会的远不止一项技能。因此在有一技之长的同时能对其他方面的测试有所掌握也是必备条件。从2015年之前的大测试部到现在互联网模式下的按业务线划分测试人员,在伴随产品模式的多样化下带来了测试组织架构的调整,在此背景下,测试对个人能力的要求也越来越高。以前我自以为学好自动化(现在想来当时脑袋中的自动化其实就是UI自动化)就可以走上专家之路了,于是我努力的奔向了UI自动化,从最开始的QTP 到selenium 到selenium webDriver 再到现在的仍旧很火的Appium。当我深入去学习Appium时,发现然来JAVA、算法、设计模式很重要,等我开始把做好的UI自动化工具放到Jenkins上运行时,发现Shell很重要,当我学习Jenkins时,人家已经会使用Docker以及K8S 了。当我还只会跑Job时,人家已经在搭建自动化测试平台了。说这些,其实只想说测试的深度越来越深,广度也越来越广,保持谦卑心态,做一个持续学习的测试人。
这几天又接触到了敏捷DevOPS,开始有点喜欢敏捷DevOPS了, 从之前的对新事物的排斥,到现在的拥抱新事物,我想我又有了新的开始,站在了新的高度。敏捷是一种文化,需要团队的认同,在一群拥有了共同目标的团体协作起来自然是水到渠成。在项目中没有痛点的人,是体会不到敏捷带来的好处。未来是属于敏捷DevOPS工程师,他们拥有敏捷的文化和思想,具备DevOPS的技术栈,能左移推动开发,右移推动运维来完成整个流水线的制作和运营,达到持续交付和持续部署的目的。
PS: 本人知识浅薄,如有不同意见欢迎讨论。