去哪儿网自动化测试系统 TARS 的设计迭代方案

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 去哪儿网UI 自动化系统 TARS 的设 计演进方案 去哪儿网机票客户端开发负责人 / 崔宇
2.
3. 01 UI 自动化测试的技术现状
4. UI 自动化基础功能 点击 元素 识别 模拟 操作
5. 各种UI 自动化框架 Espresso UI Automato r appium Seleniu m WDA Selendroi d
6. 元素识别方式 元素标识 图像/AI识别
7. 元素识别技术的发展过程 /html/body/div[1]/div[1] /div[5]/div/div/form /span[1]/input input[@class='s_ipt'] login_page.input_name(user_name)
8. 02 Tars 实现及演进方案
9. 整体演进方案 case 录制 手动编写 任务构建 jenkins 设备调度 单机 自动录制 TARS 云测平台 分布式集群
10. UI 自动化框架选型 WDA Android Web iOS
11. 基于POM(Page Object Model)的 case 设计
12. 如何使用线上数据找到被测场景 成人+儿童票—往返—买保险—生单 请求:场景条件 case 线上数据 场景工具 返回:case参数(北京、上海、8月19日、CA4220)
13. 手动编写 case 流程 com.Qunar:id/atom_fl ight_tv_dep_city 封装 arr_city 页面行为方法 flight_home_page.sel ect_arr_city(“昆明”) 通过数据工具获取参数 拉取线上 数据 选择出发城市 选择到达城市 选择日期 点击搜索 判断页面有航班信息 执行 case
14. 手动编写 case 的问题及分析 手动编写 标签 手动维护 脚本 手动编写 数据 线上 断言 结果 生成报告
15. 自动录制 case 原理 运行时数据 操作行为 程序代码 回放=数据+行为+代码
16. 如何自动添加元素标签 DOM树变化非常频繁 组件树比较稳定
17. 如何自动添加元素标签 flight|OrderFillView|OrderFillPage_NewPassengerCard _ListPassengers_ToAddPassengerListView_ToAddPas sengerItemView|TouchableOpacity_line=110 为避免人为影响,在编译阶段 自动注入元素标签
18. 如何自动维护元素标签 改版前 改版后 组件A 改版前 改版后 组件A_line1 View View View View 组件A 手动添加标签 组件A_line2 自动生成标签 自动生成标签,代码修改会对标签产生影响
19. 如何自动维护元素标签 通过diff的方式自动匹配老标签与新标签的关联
20. 如何自动生成录制脚本 在编译环节,为交互组件添加行为事件埋点 代理组件 记录行为 埋点 交互 事件 交互事件 传递 执行交互 方法 交互组件
21. 如何保留数据现场及回放 JSON MOCK工具 开启录制 开启回放 存储 网络请求、返回数据 导入数据文件 导出数据文件 mock网络返回数据
22. 如何自动生成断言 首页->商品列表->选择商品->商品详情->购买->联系人->进入确认订单页 断言:确 认订单
23. 如何自动生成断言 AI智能识别可以根据模式识别组件内容,返回结构化信息,准确定位断言内容
24. 手动录制与自动录制对比 方案 手动编写 case 自动录制 case 适用场景 端到端测试。 比如一些后端的发布, 需要前端的自动化测试 对一些业务场景进行覆 盖。 前端发布测试。 对于只关注前端 bug 的 测试,自动录制 case 是可以胜任的。 覆盖 case 比较稳定的重要业务 日常迭代业务功能
25. 原设备调度管理 旧调度模型 TARS平台 jenkins jenkins 自动化脚本 自动化脚本 电脑 电脑
26. 分布式设备调度管理
27. TARS 云测平台
28. 03 成果收益
29. 指标介绍 包括设备覆盖度和业务 覆盖度 覆盖度。 发布时跳过自动化拦截的 拦截跳过率 case执行结果中,排除 错误的判定结果后与全部 的比例。 比例。能够体现系统是否 好用。 准确率 指一次自动化任务的运行 运行时长 实际测试出来的bug与真 正存在的bug的比值。 召回率 时间。
30. 迭代效果 指标 改进前 改进后 业务覆盖 只有几个主要业务线接入 各业务线接入成本低,基 本都已接入 节约人力 只在每个月版回归及少数 日常业务发布都会执行, 业务线运行,每月节约近 每月节约近几百pd 百pd 发布质量 保证一两个主要业务前端 各业务线前后端发布都会 发布无故障 执行,大大降低线上故障 情况 运行时长 平均30分钟执行一次自 动化任务 平均10分钟执行一次自 动化任务
31. 04 未来计划
32. UI 自动化未来发展方向 识别 脱离元素标识识别元素 的方式,通过AI以模仿 人眼的方式来识别元素 操作 脱离平台的限制,使用机 器臂等方式来操作交互 跨平台
33. 持续提升 case 编写体验及运行可靠性 NLP AI IDE
34. 基于 UI 自动化技术的更多服务
35.
36.

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-13 18:06
浙ICP备14020137号-1 $Map of visitor$