2016 的一个绕不开的词看来是智能了,从硬件设备到软件解决方案,从工具平台外延到体研发工程实践,其概念可以随处套用,而这一年的工作项目又恰好都冠名了智能二字:从鹅厂的智能平台产品到蚂蚁的智能研发,包括近来在深耕的 IntelliJ IDEA ( = Intelligent Java ) 插件开发方向。
一、智能平台业务 ( @Tencent MIG )
业务背景:腾讯自研 Android OS 及搭载该 ROM 的智能手机 / 手表项目
测试角度看,定制 ROM 的几点特性:
- 研发体系复杂,涉及系统定制、上层应用开发及很多外部特性集成
- 质量保证活动覆盖多个维度,从 App 到系统整体的功能验收
- 测试场景,从刷机到第三方应用的兼容性,乃至终端和外设的交互等
- 稳定性、体验友好、省电 / 轻快等都是强于功能的产品痛点
作为自动化测试 PM,三个主要方向:
- 整套持续集成体系建设
- 助手工具研发
- 专项方案预研,如性能测试的脚本化、测试框架定制等
第一点上 CI 的价值很容易看清,将繁杂的测试前置活动自动化完成(软件构建出包 => 刷机并基础功能验证);相关的还有集群管理、测试结果可视化呈现、门户搭建等工作内容。
助手工具主要是提供给一线的测试同事使用的工具,如一些快速 Dump 并解析系统结果的脚本工具。还有一类是场景模拟工具(弱网络、低内存,及 GPS 信号模拟、行车轨迹复现等)。
二、关于软件测试
问题:什么时候测试活动的价值最大?
- 产品特性基本清晰、系统架构初步稳定时,一个建设完备的测试体系可以很好支撑业务的快速演进;这个阶段的测试建设要相对滞后于研发活动。
- 产品已经到达一定体量、处于平台期,用户问题、技术债务、产品体验成为痛点,并开始考虑进行业务 / 研发重构时;这个阶段测试相对是要前置启动。
一个测试领域的负责人要有很好的产品节奏感和工程思维。
问题:怎样解决测试活动中技能蓝领化的发展困局?
对于团队和个体而言,这都是个不得不提的尴尬问题。这次抛一个比较激进的观点:在一些痛点领域深耕并做出口碑(比如无线产品的性能,怎样优化 App 省电、怎样测算启动速度 等等)
三、技术领域总结
可能更多算「技能」而非「技术」,因为很多时候工作内容都是问题导向的:
- Android 应用 / 系统开发
- Web 门户建设,强化了对 Web 前后端开发的理解
- 脚本开发,在 Python 做终端交互、数据处理、报表绘制领域收获颇丰;可视化是一个兴趣方向
PPT 制作和文档撰写上长进不少,也有了一些 Public Speed 的锻炼机会。
四、其他乱七八糟
OS 的入口和渠道优势太过明显了,BAT 都先后都先后搅了这趟浑水。然而现在看清楚了,移动互联网时代真正的生态级入口是微信,细分领域里也有超级分发平台(如应用宝、浏览器)。
很多国内 ROM 团队和开发者被终端厂商收编,也有转型做 App、智能穿戴研发等等;但幸而算是无线体系内,依旧躺在互联网浪潮里。