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

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

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

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

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

3、操作事件自动确认 支持View IDViewID提升用例维护性界面界面Accessbility 控件树控件树ViewID 控件树控件树QT4A 两个方案PCQTA 用例AndroidQT4A ServiceUIAutomatorAUTPCQTA 用例AndroidQT4A ServiceAUTQT4A Stub优点:Android原生支持 缺点: 1、只支持Android4.1及以上 2、不能使用ViewID 3、不能扩展支持产品特殊特性优点: 1、支持2.1及以上 2、可以使用ViewID 3、必要时容易扩展支持 缺点:需要注入被测进程方案1:使用UIAutomator方案2:使用自研QT4

4、A系统架构control device appDriver ServiceControlInputWIFICapturePictureCameraInjectHookJavaNativeCoredeviceMockPCAHook确认UI事件完成button1.click()sleep(5)button2.click()sleep(10)可读性差可读性差 稳定性差稳定性差发送点击事件发送点击事件系统系统inputManagerinputManagerViewView处理点击处理点击HookHook确认已处理确认已处理iOS驱动技术选型Javascript 测试脚本Instrument / xct

5、est 工具OC 测试 脚本编译 安装修改嵌入 被测APPinstrument方案方案 优点:优点: apple原生方案 无需修改被测app 无需编译 缺点:缺点: 脚本编写不方便 依赖Accessiblity 设备证书数量限制 不支持跨终端 无控件查看工具嵌入式方案嵌入式方案 优点:优点: 获取原生控件树 直接调用iOS SDK 缺点:缺点: 需要编译和安装 需要修改被测app 不能处理app的crash 不能跨终端 无控件查看工具自研iOS自动化驱动方案driver_server.pydevice.py icontrol.py app.pyiOSUISpy.app(qta driver a

6、pi)instrumentscmd_fetch.pyios_driver.js1秒限制OSXiOS应用层应用层服务层服务层驱动层驱动层QT4i方案方案 优点:优点: apple原生方案 无需修改被测app 无需编译 UI控件查看工具 便利的脚本编写 支持跨终端 缺点:缺点: 依赖Accessiblity 设备证书数量限制PC自动化驱动测试进程被测进程脚本驱动APIWindowsIE COM APIHTML ElementsTIF COM StubGF ControlsWindows MessageCOM调用COM 调用统一各端驱动API接口API入口统一Device App Control控件

7、标识统一 简单易用 灵活 各端统一 使用一致控件标识 - QP搭建测试用例框架 没有统一的集成型测试框架 xUnit Robot Framework Cucumber 如何搭建跨端的用例框架?跨端用例框架UI用例框架基础 No xUnit 截图 扩展用例Log 用例中间层封装 用例资源管理跨端用例框架 用例多端操作 用例跨端运行QTA框架生成的测试报告测试用例中间层封装class GFWindow(Control):“GF窗口“def _init_(self, root=None, locator=None):locators = 最小化按钮最小化按钮 : type:Button, root:

8、self, locator:minimizebutton,最大化按钮最大化按钮 : type:Button, root:self, locator:maximizebutton,关闭按钮关闭按钮 : type:Button, root:self, locator:closebuttongfwin = GFWindow() gfwin.Controls关闭按钮关闭按钮.click()用例多端操作一个用例实现一个用例实现Android,iOS,PC端互动端互动测试用例PCAndroidiOS用例跨端运行 一份Web用例可以在表现相同的端上执行一份用例 脚本用例云端执行方案 单机用例执行时间长 PC

9、QQ用例单机需要执行一个月一个月 云端执行方案演变 STAF/STAX 简单任务配置 PC 用例 任务XML 跨端 设备管理版本一版本二版本三用例云端执行系统 自研云端执行系统Drun 支持PC、Mac、Android、iOS设备资源的调度和并行测试以及跨多终端测 试的执行QTA跨端自动化体系Test BaseQT4CQT4AQT4iQT4SQT4WServerWebiOSAndroidWindows任务管理Test LibPerformance LibTest Cases资源管理测试报告分布式执行用例管理Mock测试桩无障碍化测试环境虚拟化支撑设备管理测试框架测试平台可测性QTA测试自动化应用 运营数据 18000+ 用例 执行7百万用例次/每月 应用场景 BVT,每日全量,合流验证,渠道包验证 结合性能工具测试内存,IO,FPS,时延指标 服务产品UI自动化的一些启示 自动化不是用来发现bug的 不要直接使用record脚本 不要直接使用驱动工具 尽量少sleep 要容易执行 要容易调试 要选择合适的用例框架 测试自动化不仅仅是测试脚本 自动化成本高感谢以下赞助商对TOP100活动的大力支持!

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

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

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