在版本快速迭代抢占市场先机的同时,更需要严苛保证 APP 产品质量,确保客户资金及交易安全。本文介绍了金科公司智能移动应用测试云平台(IMC)自动化测试模块的系统架构、技术实现和实施经验。期望在提高项目组测试效能,优化测试资源配置、完善企业级质控体系等方面起到积极作用。
APP 自动化测试的特点及实施原则
APP 自动化测试,就是按照业务需求编制自动化脚本,通过测试框架在移动终端上批量调度执行,自动完成对 APP 的测试工作。自动化测试具有以下优势:
- 执行效率高。 测试任务可以在任意时间下启动,无人值守执行速度较快。执行过程中可同步采集系统日志及截图,自动生成测试报告。
- 节省测试资源。 一方面减少进行重复性劳动的人力成本,另一方面通过对测试终端的分时复用减少硬件投入。
- 克服手工测试的不足。 可以进行大规模、长时间的测试,并且严格保证每次测试执行的一致性,避免人为松懈与出错。当然,自动化测试也有很多局限性,比如需要持续开发和维护自动化脚本、无法进行探索式测试等,短期内是无法完全代替手工测试的。
根据以上特点,结合项目经验,总结出实施原则如下:
- 选择具备敏捷特性的开发项目。 将自动化测试纳入持续集成流水线,实现自动触发及闭环反馈,才能在足够多轮次的敏捷迭代中获得收益。
- 应用在冒烟及回归测试阶段。 在冒烟测试阶段,自动排查代码误提交、构建错误、测试环境未就绪等问题,避免浪费测试人员的时间和精力。在回归测试阶段,无人值守自动完成完整的大规模功能回归验证。
- 挑选核心且稳定的业务。 以建行手机银行例,挑选功能稳定的核心动账交易纳入自动化的实施范围。如大小额转账、信用卡还款、贷款支用等,称之为重要未变动功能。这些业务功能覆盖了 APP 的主要菜单,确保 APP 核心功能正确。
自动化测试在实施时主要考虑作为手工测试的补充,将测试人员从复杂繁琐的回归测试中解放出来,重点关注新上线功能,其余的质控工作交由自动化系统保障。人机结合使项目的投入产出比达到最优,增强投产信心,实现 APP 测试的整体效果及对质量的持续监控。
测试平台发展历程及系统架构
APP 自动化测试 1.0 时代,基于开源 Robot framework 和 AppiumLibrary 搭建本地化部署的 C/S 架构的移动金融 APP 自动化测试工具。基于关键字模式,实现脚本的模块化封装和积木式编排,提高复用性及易用性。但经过几个项目试点应用,发现推广起来十分不易:
Comments