基于图像识别测试手机浏览器首屏加载时间的测试方法 演讲者:郭振华 职位 :测试开发工程师 来自公司:奇虎360 技术博客: http://blog.csdn.net/gzh0222
常见的性能测试指标 问题 自动化测试
响应时间 流量 CPU MEMORY 耗电量 ….. 浏览器的响应时间----用户一般任务只要首屏加载完,用户处于可用状态就任务加载完成,而不要把所有的资源都加载完,才算是加载完
筛选图片 主观意识 网络 测试机型 手工报告太复杂
第一代性能测试
进度条模式 解决方案:使用robotium根据进度条是否加载完成 实现功能: 1、自动化测试 2、多款手机并发测试 3、测试数据数据库存储 4、测试报告一键生成
截图
录屏 痛点 自动化 结果 多款手机 重复录屏 并发 测试时间由之前2~3天压缩到1~2个小时 不同网络 不同竞品 暂未解决 不同的网站 测试结果 人工筛图 测试报告 手动生成 测试数据 文件保存 数据库
第二代性能测试
图像识别+stf(https://github.com/openstf/stf) 解决方案:sikuli执行测试用例并且识别打开首屏的预期结果图片判断是否打开 实现功能: 1、可以测试首屏时间 2、使用sikuli代替monkeyrunner 3、测试数据数据库存储 4、测试报告一键生成
Stf简介: STF系统是一款开源的可以批量对大量手机设备进行WEB端管理的平台,可以实现手机和web端操作相互同步,而且延迟非常短暂,大概30毫秒,这个平台还有如下功能: 1、最多可以同时管理160台手机 2、可以清楚的看到手机的详细信息,包括我们经常关注的版本号,当前的sim卡信息,已经当前手机的状态 3、方便快捷的设置手机的常用设置,包括解锁操作 4、远程debug 5、远程执行shell
Sikuli简介
优势: 劣势: 平台无关 代码可读性好 设计和实现分离(测试者只需要修改图库就行) 被测对象必须在前台显示 被测对象的运行环境必须一致 Sikuli只能处理预期的UI变化
目前已经应用的项目有: 手机浏览器无核版 手机浏览器内核版 手机浏览器免流 成果:目前配合webdriver工具实现了对手机浏览器性能测试的持续集成 录屏方式1人1周最多完成2个需求,目前1人天能完成2~3个需求的测试
1、js注入 2、图像识别+monkeyrunner 通过js注入获取document.readyState事件触发的时间 使用monkeyrunner执行测试用例,sikuli识别打开首屏的图标判断是否打开
一定要有坚定的信念 主动性 知道自己要学什么 要懂得分享
Q&A