文字内容
1. 安卓绿色联盟·第21期技术沙龙 DevEco云测试技术分享 北京场 主办方: 日期:2018年9月15日
2. 目录 01、 02、 03、 04、 05、 06、 07、 DevEco云测试能力简介 兼容性测试技术分享 性能测试技术分享 功耗测试技术分享 稳定性测试技术分享 安全测试技术分享 绿标评测发布计划
3. 01 DevEco云测试能力简介
4. 华为终端开放实验室介绍 中国·北京 2016.10 德国·杜塞尔多夫 2017.8  峰值能力:15万APP验证量/天  终端数量:2300+  终端型号:近2年华为全机型+Android原生手机
5. DevEco平台整体解决方案介绍 DevEco平台开放服务APIs( Restful ) 开放实验室管理 测 试 能 力 服 务 层 区域注册 云测试服务 区域管理 设备注册 设备管理 证书管理 兼容性测试 稳定性测试 设备认证 实验室监控 游戏测试 性能功耗测试 安全测试 功能测试 测试资源管理 第三方应用 专项测试 缺陷管理 众测 测试用例 管理 Top应用更新 测试脚本 管理 应用版本管理 测试结果 管理 下载策略 管理 定制测试 设备监控 应用下载 数据报表服务 远程真机调测 测试报告生成 真机申请 应用大数据分析平台 真机管理 分布式数据存储 远程控制 数据库集群 远程调测 Redis集群 DevEco平台服务总线 xDevice& Ares 执 行 器 Game Hybrid Native 设 备 层 测 执 试 执 行 行 执 器 器 行 框 架 执行器框架 启 动 器 启 动 引 擎 Native启动器 Hybrid启动器 Game启动器 监 控 器 数 据 采 集 日志 录制 Monitor 调 试 器 驱动数据注入 硬件仿真 ADB调试 FDFS 分布式 存储
6. DevEco平台云测试能力一览 兼容性测试 01 功耗测试 05 华为终端开 放实验室 04 性能测试 02 安全测试 03 稳定性测试
7. 02 兼容性测试技术分享
8. 兼容性测试:快速评估应用适配情况 十一大问题检测项 提供安装、启动、崩溃、无响应、闪退、黑白 屏、UI异常、运行错误、账号异常、卸载等十一 大问题检测项。 提供操作截图、异常堆栈和日志  测试截屏:时间轴维度呈现异常流水,问题 有源可溯;  堆栈信息:问题发生时的性能数据、堆栈信 息一目了然。  日志下载:提供全局logcat,结合上下文分 析
9. 兼容性测试:深度遍历框架
10. Crash Anr异常堆栈捕获 app_process绕过ART限制 集成framework.jar 继承IActivityController.Stub 反射IActivityManager 等待系统回调
11. 报告案例:基于时间轴的联动报告 操作步骤及截图 异常对应截图 异常对应堆栈 Logcat日志
12. 03 性能测试技术分享
13. 性能测试:实时监测应用内存、CPU消耗 部分性能指标及定义 指标描述 性能指标 应用首次启动时间 测量系统从开始处理activity到完成运行进入主界面的时间,即冷启动响应时间。 界面帧率 FPS指应用每秒渲染帧数,是用户对应用界面所呈现的画面流畅度的体验,FPS过低用户可 感知的流畅度差。 应用前台运行内存占用 应用在前台且运行稳定时的内存占用情况。 应用后台运行CPU占用 应用在后台且亮屏时的CPU占用情况。
14. 性能测试框架 数据采集(app_process) start schedular android monitor stop endTest startTest RPC UI遍历(uiautomator 2.0) agent (driver) adb sceneChecker traverser 1.UI自动化与数据采集模块之间使用轻量级RPC中间件实现数据交互 2.驱动与UI测试工具之间基于adb构建的TCP通讯 3.测试过程主要在手机侧完成,减少调用次数 tester (statistics)
15. 启动时长 ①AMS创建ActivityRecord记录块和选择合理的Task、 将当前Resume的Activity进行pause; ②启动进程、调用无界面Activity的onCreate()等、 pause/finish无界面的Activity; ③调用有界面Activity的onCreate、onResume; 冷启动场景 暖启动场景 1.梳理Static Block,Application,阻塞,View层级,耗时方法 2.利用TraceView && Systrace && Method Tracer工具排查
16. CPU使用率 /proc/pid/stat 总的CPU时间:totalCpuTime = user + nice + system + idle + iowait + irq + softirq CPU占用率 = (进程T2-进程T1)/(系统T2-系统T1) 的时间片比值 进程的总CPU时间:processCpuTime = utime + stime + cutime + cstime dumpsys cpuinfo 直观反映pid及对应cpu使用率,延迟高 top命令 根据uid来筛选同一个App的进程并加总
17. 内存 反射android.app.ActivityManagerNative dumpsys meminfo <package> Use more memory-efficient code constructs • Use services sparingly • Use optimized data containers • Be careful with code abstractions • Use nano protobufs for serialized data • Avoid memory churn Remove memory-intensive resources and libraries • Reduce overall APK size • Use Dagger 2 for dependency injection • Use nano protobufs for serialized data • Be careful about using external libraries
18. 流畅度 硬件屏幕Screen 系统层 SurfaceFlinger 高速摄像机+节拍器 service call SurfaceFlinger 1013 dumpsys gfxinfo <package> framestats 应用层Surface 起始帧数值 终止帧数值 实际帧数 理论帧数 帧率 285 473 44 47 56.17 FPS = (v2 - v1) / (t2 - t1)
19. 内存泄漏 对象D被GC Roots强引用 对象D没有被强引用 从GC root还有强引用链可达,但逻辑上应该要释放的对象 长寿命周期对象(static object,global object) 短生命周期对象(activity,fragment) Static Inner Field Leak Singleton Leak Static Inner Class Leak
20. 04 功耗测试技术分享
21. 功耗测试:创新性应用后台行为测试 应用功耗测试方法:通过应用后台对设备的占用频次和时长,来衡量和判断该应用的功耗。 处理器(应用处理器、图像处理器) 屏幕 无线网络(WI-FI、数据连接、蓝牙、红外等) 音频设备(扬声器、麦克风) 摄像头 位置传感器(GPS、北斗、格洛纳斯、气压传感器等) 动作传感器(加速度传感器、磁场传感器、方向传感器、陀螺仪传感器等) DevEco功耗测试结果示例:
22. 功耗测试:Battery Historian解读 • The app’s estimated power use on the device • Network information • Wakelocks • Services • Process info • • • • • • SyncManager Foreground process Userspace Wakelock Top app JobScheduler Activity Manager Proc • • • • • Firing wakeup alarms overly frequently Continuously holding a GPS lock Scheduling jobs every 30 seconds or less Scheduling syncs every 30 seconds or less Using the cellular radio more frequently than you expect
23. 05 稳定性测试技术分享
24. 稳定性测试:基于控件识别技术的随机遍历测试 传统的稳定性测试方法 基于Monkey的随机测试 Monkey测试缺点: •效率低下 •遍历覆盖低 •消耗时间长 •问题难复现 改进后的稳定性测试方法: 基于控件识别技术的随机 随机遍历优点: •效率高 •遍历覆盖高 •问题易复现
25. 06 安全测试技术分享
26. 安全测试 基于华为杀毒云对海量病毒库进行无死角扫描,测试内容包括病毒扫描、恶意广告拦截、安全漏洞分析、 隐私泄露分析等。 DevEco安全测试结果示例:检测病毒木马、安全漏洞、恶意广告、隐私泄露、高危权限等。
27. 07 绿标评测发布计划
28. 持续发布评测报告,帮助开发者提升应用质量 兼容性测试报告 功耗测试报告 性能测试报告
29. 华为终端开放实验室评测发布计划 应用APR 指数排名 06 分类绿色 应用排名 07 08 游戏体验 评测 应用耗电量排名 09 10 应用隐私权限申 请评测 11 应用性能 排名 12 应用易用性评测
30. OPENLAB累计服务次数破2000万 2624625 1322696 1317427 1330950 13398173 兼容性测试 稳定性测试 功耗测试 性能测试 安全测试
31. 面向开发者提供免费测试服务
32. 联系我们 华为终端开放实验室 DevEco平台:http://deveco.Huawei.com 邮箱地址: deveco@huawei.com 联系电话: 17338132856
33. THANKS