2016年top100summit-跨端测试自动化实践分享

上传人:ji****en 文档编号:107705731 上传时间:2019-10-20 格式:PDF 页数:31 大小:1.24MB
返回 下载 相关 举报
2016年top100summit-跨端测试自动化实践分享_第1页
第1页 / 共31页
2016年top100summit-跨端测试自动化实践分享_第2页
第2页 / 共31页
2016年top100summit-跨端测试自动化实践分享_第3页
第3页 / 共31页
2016年top100summit-跨端测试自动化实践分享_第4页
第4页 / 共31页
2016年top100summit-跨端测试自动化实践分享_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《2016年top100summit-跨端测试自动化实践分享》由会员分享,可在线阅读,更多相关《2016年top100summit-跨端测试自动化实践分享(31页珍藏版)》请在金锄头文库上搜索。

1、 跨端测试自动化实践分享 潘在亮, 腾讯测试开发组长 摘要 社交应用的多端场景 跨多端测试自动化方案 各端自动化驱动 自动化用例框架 用例云执行系统 跨多端应用场景 PC时代移动时代 跨端测试自动化实践 被测应用各端自动化驱动 跨端用例框架 跨端用例执行 Android自动化测试早期版 可选的驱动工具: Instrumentation Native Driver UIAutomator Robotium Appium Robotium遇到的痛 可自动化率低 手Q手工用例可自动化率只有22% 用例编写和维护成本高 用例(分钟)用例(分钟)PCRobotium成本增加成本增加 编写时间:25452

2、倍 维护时间:0.17530倍 Robotium可自动化率只有22% 用例维护成本高的分析 调试步骤多调试步骤多 没有截图没有截图 用例和应用用例和应用Log混杂混杂 难用的难用的UI控件查看工具控件查看工具 产品本身限制产品本身限制 用例管理功能弱用例管理功能弱 难以封装中间层难以封装中间层 没有测试资源管理没有测试资源管理 决解方案 自研自动化框架QT4A 思路:QTA用例框架 + QT4A自动化驱 QTA用例框架:解决解决自动化成本高的问题 QT4A自动化驱动:解决解决不能自动化的问题 QT4A目标: 支持被测应用 支持Android2.1及以上 跨进程,跨应用,跨端 支持Native,

3、Web,自研控件 提升用例维护性 使用Python 支持UI操作事件自动确认 支持View ID ViewID提升用例维护性 界面界面 Accessbility 控件树控件树ViewID 控件树控件树 QT4A 两个方案 PC QTA 用例 Android QT4A Service UIAutomator AUT PC QTA 用例 Android QT4A Service AUT QT4A Stub 优点:Android原生支持 缺点: 1、只支持Android4.1及以上 2、不能使用ViewID 3、不能扩展支持产品特殊特性 优点: 1、支持2.1及以上 2、可以使用ViewID 3、必

4、要时容易扩展支持 缺点:需要注入被测进程 方案1:使用UIAutomator 方案2:使用自研stub QT4A系统架构 control device app Driver Service Control Input WIFI Capture Picture Camera InjectHook Java Native CoredeviceMock PCAndroid Hook确认UI事件完成 button1.click() sleep(5) button2.click() sleep(10) 可读性差可读性差 稳定性差稳定性差 发送点击事件发送点击事件 系统系统inputManagerinpu

5、tManager ViewView处理点击处理点击 HookHook确认已处理确认已处理 iOS驱动技术选型 Javascript 测试脚本 Instrument / xctest 工具 OC 测试 脚本 编译 安装 修改嵌入 被测APP instrument方案方案 优点:优点: apple原生方案 无需修改被测app 无需编译 缺点:缺点: 脚本编写不方便 依赖Accessiblity 设备证书数量限制 不支持跨终端 无控件查看工具 嵌入式方案嵌入式方案 优点:优点: 获取原生控件树 直接调用iOS SDK 缺点:缺点: 需要编译和安装 需要修改被测app 不能处理app的crash 不能

6、跨终端 无控件查看工具 自研iOS自动化驱动方案 driver_server.py device.py icontrol.py app.py iOSUISpy.app (qta driver api) instrumentscmd_fetch.py ios_driver.js 1秒限制 OSX iOS 应用层应用层 服务层服务层 驱动层驱动层 QT4i方案方案 优点:优点: apple原生方案 无需修改被测app 无需编译 UI控件查看工具 便利的脚本编写 支持跨终端 缺点:缺点: 依赖Accessiblity 设备证书数量限制 PC自动化驱动 测试进程被测进程 脚本驱动API Windows

7、 IE COM APIHTML Elements TIF COM Stub GF Controls Windows Message COM 调用 COM 调用 统一各端驱动API接口 API入口统一 Device App Control 控件标识统一 简单易用 灵活 各端统一 使用一致 控件标识 - QPath 搭建测试用例框架 没有统一的集成型测试框架 xUnit Robot Framework Cucumber 如何搭建跨端的用例框架? 跨端用例框架 UI用例框架基础 No xUnit 截图 扩展用例Log 用例中间层封装 用例资源管理 跨端用例框架 用例多端操作 用例跨端运行 QTA框架

8、生成的测试报告 测试用例中间层封装 class GFWindow(Control): “GF窗口“ def _init_(self, root=None, locator=None): locators = 最小化按钮最小化按钮 : type:Button, root:self, locator:minimizebutton, 最大化按钮最大化按钮 : type:Button, root:self, locator:maximizebutton, 关闭按钮关闭按钮 : type:Button, root:self, locator:closebutton gfwin = GFWindow()

9、gfwin.Controls关闭按钮关闭按钮.click() 用例多端操作 一个用例实现一个用例实现Android,iOS,PC端互动端互动 测试用例 PCAndroidiOS 用例跨端运行 一份Web用例可以在表现相同的端上执行 一份用例 脚本 用例云端执行方案 单机用例执行时间长 PCQQ用例单机需要执行一个月一个月 云端执行方案演变 STAF/STAX 简单任务配置 PC 用例 任务XML 跨端 设备管理 版本一版本二版本三 用例云端执行系统 自研云端执行系统Drun 支持PC、Mac、Android、iOS设备资源的调度和并行测试以及跨多终端测 试的执行 QTA跨端自动化体系 Test

10、 Base QT4CQT4AQT4iQT4SQT4W ServerWebiOSAndroidWindows 任务管理 Test LibPerformance Lib Test Cases 资源管理 测试报告 分布式执行 用例管理 Mock 测试桩 无障碍化 测试环境 虚拟化支撑 设备管理 测试框架测试平台可测性 QTA测试自动化应用 运营数据 18000+ 用例 执行7百万用例次/每月 应用场景 BVT,每日全量,合流验证,渠道包验证 结合性能工具测试内存,IO,FPS,时延指标 服务产品 UI自动化的一些启示 自动化不是用来发现bug的 不要直接使用record脚本 不要直接使用驱动工具 尽量少sleep 要容易执行 要容易调试 要选择合适的用例框架 测试自动化不仅仅是测试脚本 自动化成本高 感谢以下赞助商对TOP100活动的大力支持!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 电子/通信 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号