相信大多数测试工程师在日常的工作中都或多或少接触到了自动化测试。为了保证我们产品可用性以及目标可持续,现在项目团队都在采用敏捷迭代的方式。敏捷相比传统迭代方式需要测试人员可以更快、更准确的响应项目过程中遇到的风险、问题。对于测试工程师来说,产品功能核心流程多,横向业务域扩展,细节零散,在敏捷迭代中短时间内识别出问题、风险并上报并非易事。例如移动端APP产品考虑核心功能时还要测试不同品牌、系统的核心功能的差异以及型号、分辨率的兼容性;WEB端产品迭代上线时还需要在测试环境、预发环境、线上环境等多环境验证核心流程,重复繁琐的工作太多。因此,在敏捷迭代中对自动化测试把控产品质量的需求变得日益迫切。
JDTC是平台生态部-商家研发部-测试部推出的APP、WEB自动化测试中心,可快速集成至现有自动化测试Android/iOS、WEB自动化脚本工程,快速对接平台实现远程分布执行。同时该平台也提供了一套跨平台的脚本开发框架,开放了丰富的底层API,提高脚本编写速度。满足一套脚本在多端(Android/iOS/iPad)执行,从而降低脚本的维护成本。现在平台已服务于京东内部数十个敏捷测试团队。
京麦APP—一款服务于京东商家移动办公的一站式管理平台。
当前自动化测试的背景行业的现状大多是本地编写自动化测试脚本或借助平台录制一些简单流程的脚本,脚本编写与维护成本较高,自动化测试效果不明显。
几个需求和自动化测试痛点:
测试中心整体分为三部分:
三者整体的调用大致如下:
平台核心优势
平台核心功能:
本地控制器是agent端,部署在每台节点机器上。
开启服务后:
本地控制器界面:
控制器支持windows,mac,linux多环境。
测试系统框架
元素节点文件是具体UI元素的信息,框架底层api支持的UI页面元素查找方式。
业务模块接口是根据不同业务场景定义的接口,可根据端区分具体实现也可以公用一套实现方法。
在用例层通过业务模块接口组合成具体的用例维护到JDTC平台。
框架API封装了多种快速执行方式,例如点击,滑动,查找元素(指定元素/父元素/兄弟元素等),长按,长按并拖动等方法。
平台自动化测试执行最终的测试报告分为多维度统计,用例及步骤详情:
支持自动化测试用力失败重试机制保证用例由于网络等原因导致的中断或失败。
执行日志聚合:
通过日志可以快速的定位失败用例的原因,提高测试效率。
私有节点部署:
遍历测试/稳定性测试:
原生Monkey稳定性测试无效操作占比较多,不容易发现crash,anr等问题。针对这种问题我们在monkey基础上针对各种混合开发的APP应用提供多种遍历稳定性测试方案。
接口自动化测试:
针对http,rpc等接口提供一站式管理和数据分析功能
我们会一直关注业界最新自动化测试解决技术及质量保证方案并结合到平台中。欢迎大家与我们共同探讨并开展合作,共同促进测试效率的提升,为产品质量提供更好的保障。
徐征磊,京东零售高级测试开发工程师。有多年的对自动化测试框架搭建及平台设计,开发经验。专注于自动化测试,测试提效等领域。
欢迎对文章或自动化测试感兴趣的小伙伴邮件联系xuzhenglei@jd.com