本文 从 阿里测试工程师亲身经历的角度,和大家聊聊测试一行学习成长的经历。
对自动化测试个人看法
自动化是一个老生常谈的话题,也是一个软件领域非常有技术广度和技术深度的活动,特别是在大型软件的生命 周期上。
个人觉得开展自动化测试的难度不亚于传统意义上的软件开发。
从产品角度来看: 质量领域本身要求从业人员要全面了解产品、有全局风险意识,例如:产品需求/设计阶段能否发现设计缺陷、产品测试阶段能否发现深层次的bug、产品运维阶段能否制定良好的灰度策略、快速发现、定位线上问题,甚至如何做好新/老系统线上过渡切换等等,这里面都有自动化测试可发挥的空间。
从技术的广度和深度来看:
从技术广度来说, 不同的技术领域的质量保障需要使用不同的技术(这些技术领域都有一些代表性的工具,但不一定能完全满足实际的项目自动化测试需求),例如有做JUnit接口测试的、有做Web/App/桌面客户端 UI测试的、有做性能测试的、有做用户体验测试的、有做AI算法测试的、有做IoT的、有做压测的、有做各种专项(如兼容性、安全、多媒体、网络)测试的等等,实在太多了…。
如果考虑到测试工具本身的可用性、系统性,除知道使用工具以外,可能还需要掌握一些基础开发技能,例如:Java/Node/Python后台、React/H5前端、或者Android/iOS客户端;
从技术深度来说, 想通过开发软件去测试另一个软件是否正常,本身就是一个很具挑战的事情,特别是在黑盒的状态下,举个例子,试想你能否开发一款自动化测试工具能够模拟人的意识形态,它能够对当前多如牛毛的App开展自动化测试,很多人此时想起了Monkey、Appium、AirTest或者Applitools,其实这远远不够,因为目前并不具备解决场景构建甚至自我发现缺陷的能力,简单来说,还不具备“认知”App的能力。这个想法不是天方夜谭,事实上很多人正在往这个方向努力ing。自动化测试远远不只是在一个已有的工具上开发自己的脚本,达到所谓的一个