论app性能专项测试和监控 演讲者 金阳光(王劲松) 蔡植楷 职位 QA负责人 科长 来自 百度 努比亚.

Slides:



Advertisements
Similar presentations
嘉義縣中埔國民小學 補救教學實施方案 精神內涵說明 科技化評量系統實務操作 及基本學習內容認知. 為什麼要安排這樣的課程呢? 攜手計畫與補救教學實施方案的 差異 不是補救目前教學進度,也不再 是一堆表冊,而是補救學生的基 本學力 ( 基本學習內容 )
Advertisements

教师成绩录入步骤 1. 登录教务系统 2. 进入教师成绩管理界面 3. 选择相应的教学班,点击 “ 课程成绩录 入 ” 进入成绩录入界面 4. 点击 “ 设置 ” 按钮设置 “ 成绩分项 ” 5. 录入成绩, “ 保存成绩 ” 按钮可以保存成 绩但不提交(提交后不能再修改成绩) 6. “ 提交成绩 ”
7.2 图示化记忆 记忆的概述 图示化记忆 联想记忆法 奇特联想记忆法 用手记忆.
跨平台移动开发框架比较 How many mobile platforms android 拥有最多的 developer. 开发语言-大众脸- java 开发成本最低,不用单独买一台电脑. 开发者账号-免费 发布应用很快-当天提交,当天就能发布 iOS 贵族平台-至少把自己包装的很高大上.
環境游離輻射 ( 六 ) 輻射與核能發電. 媽!這是我上班的 地方-核電廠。 地方好寬闊喔! 聽說日本原子彈爆炸死好幾 萬人,阿榮啊!你在這裡上 班,安全嗎?
第一章 餐饮服务程序 学习目的: 掌握餐饮服务四个基本环节的内容 正确表述和运用各种餐饮形式的服务程序 熟悉并利用所学知识灵活机动地为不同需求的 客人提供服务.
《小狗包弟 》之 从阅读到写作 学校:和风中学 年级:高一 参赛者:彭龙英. 预习检测一 思考:同学们读完作者与包弟 的故事后,说一说作者所表达的情 感是什么?
虹膜识别健康养老服务智能系统项目.
探究活动课:互联网+历史素材阅读与研讨 古代中国的选官制度 黄天庆  探究活动课:互联网+历史素材阅读与研讨 古代中国的选官制度 黄天庆 
課程地圖 (104年入學-日間部) 校通識核心 專業課程 必修與選修 與管理模組 網路技術 App設計與應用模組 學院通識核心 學院專業核心
公会之家游戏圈社交软件 游戏联通世界.
Bennett Hong For 2012华东架构师大会 Nov 18,2012
南一中教學雲操作說明.
浅谈我与Android相处的点滴 一、个人自动化经验分享 二、Android基本架构了解 三、MonkeyTest指令学习
AR互动平台产品 2014/05.
云智慧助力在线医疗服务性能优化 —让IT运营更简单 2015年4月 云智慧科技(北京)有限公司.
石家庄迅步网络科技有限公司 联系人:张会耀 电话:
皖新数字书屋.
尔雅慕课学生操作手册说明.
尔雅慕课学生操作手册说明.
上海宏弈源软件科技有限公司 — 12年专注益智软件研发 和配套产品服务 上海宏弈源软件科技有限公司.
基于图像识别测试手机浏览器首屏加载时间的测试方法
第8章 机床操作 主讲:臧红彬 博士.
如何打造高质量的APP 服务系统开发部技术分享第四期 徐斌.
小欧操作说明.
让快件更自由! 福州拓牛信息科技有限公司.
网络信息安全培训 网络中心 朱焕勇
九族文化村 6年2班 2號 林璟翔.
最灵动的快递系统 般若快递系统V5 步步亿佰科技有限公司.
苏州大汇信息科技有限公司 招聘简介.
尔雅慕课学生操作手册说明 尔雅客服中心.
班級:四資工3B 指導老師:林建良 組員: 姚維杰、 林育誠、許耿銘
一种营销模式的转型,一种全新的金融房贷模式
Selenium 一个用于Web应用程序测试的工具 Robin Ren
我把投影機變無線了 WIPG1000產品簡報 報告人 吳衍龍 (Alvin Wu) Free Powerpoint Templates.
尔雅慕课学生操作手册说明 尔雅客服中心.
尔雅慕课学生操作手册说明.
绿豆芽科技 让科技融入生活. 绿豆芽科技 让科技融入生活 让天下没有非互联网的公司 传统行业公司 新型科技公司 绿豆芽科技 产品研发 供应链 渠道 物联网硬件 云计算平台 APP应用 传统优势 竞争力 用户体验 团队由数十名硕士生及博士生组成,有着在德州仪器、中兴等知名企业的工作经历,项目经验丰富。团队成员获得过:电子设计竞赛国家一等奖、“Intel杯”嵌入式邀请赛冠军、“微软创新杯”
Lesson 2 十分钟完成照片雕刻 建议您用大屏幕观看教学,并同时用手机进行操作 官方网站 : cubiio.muherz.com
尔雅慕课学生操作手册说明 尔雅客服中心.
【VA虚拟应用管理平台】专题培训 资源管理及个性化 陕西益和信息技术开发有限责任公司 2011年2月.
教務行政資訊系統 簡介 資訊科技中心 資訊系統組 徐振琦
移动知网 同方知网(北京)技术有限公司.
Android手动测试实践 ——绮珠.
UI设计标准、移动开发规范、移动管理规范、集成标准规范
作品基本信息 作品名称: 广告主名称: 活动起始时间: 广告主服务年限:.
福智 學員平台 2018/6/9 幹部月會 羅東教室.
前终端一体化开发解决方案 腾讯 lucaspei(裴伟).
尔雅慕课学生操作手册说明 尔雅客服中心.
Android 开发入门.
第三次全国农作物种质资源普查与收集行动 普查数据采集与整理 陈彦清 中国农业科学院作物科学研究所.
第三次全国农作物种质资源普查与收集行动 调查数据采集与管理 陈彦清 中国农业科学院作物科学研究所.
人工智慧應用蟲體辨識 亞洲大學 資訊工程學系 學生:殷聖展、廖哲毅、吳京育 指導教授:蔡志仁 教授
致 理 科 技 大 學 「106年大專校院弱勢學生助學計畫」 說 明 會 中 華 民 國 106 年 9 月 13日.
【VA虚拟应用管理平台】专题培训 资源管理及个性化 陕西益和信息技术开发有限责任公司 2011年2月.
项目一 了解计算机 项目二 选配计算机硬件 项目三 组装计算机 项目四 设置BIOS和硬盘分区 项目五 安装操作系统和常用软件
金中移动抄表系统培训手册 广西金中软件有限公司 2015年8月7日.
人因設計 阿倫online分析 第四組 組員 : 劉雅欣 黃莉媛 林威志 王畯銨 林倢伃.
【VA虚拟应用管理平台】专题培训 用户管理 陕西益和信息技术开发有限责任公司 2011年2月.
尔雅慕课学生操作手册说明 尔雅客服中心.
【VA虚拟应用管理平台】专题培训 服务器安全策略 陕西益和信息技术开发有限责任公司 2011年2月.
【VA虚拟应用管理平台】专题培训 接入防火墙 陕西益和信息技术开发有限责任公司 2011年2月.
【VA虚拟应用管理平台】专题培训 智能打印 陕西益和信息技术开发有限责任公司 2011年2月.
Review&Refactor 张 戈 在短拍这边主要工作的总结
AI-IPB201 產品特色 2 百萬畫素定焦槍型網路攝影機 (STARVIS) 高畫質兩百萬畫素SONY Starvis 感光元件
第6章 Android客户端模块实现 QQ群(App开发案例教程--清华) :
第三次全国农作物种质资源普查与收集行动 调查数据采集与管理 陈彦清 中国农业科学院作物科学研究所.
美和科技大學資訊科技系 助理教授 美和科技大學資訊科技系 學生士
104學年度 進修學校期初工作報告.
第三次全国农作物种质资源普查与收集行动 普查数据采集与整理 陈彦清 中国农业科学院作物科学研究所.
Presentation transcript:

论app性能专项测试和监控 演讲者 金阳光(王劲松) 蔡植楷 职位 QA负责人 科长 来自 百度 努比亚

2、曾中兴努比亚测试开发、腾讯TEG过亿日活负责人 金阳光(王劲松)介绍 1、重庆邮电大学计算机硕士 2、曾中兴努比亚测试开发、腾讯TEG过亿日活负责人 3、现就职于北京百度质量部 4、录制Android & IOS自动化测试视频 自我介绍

摘要 一 案例背景 二 性能测试挑战 三 性能测试在项目流程中重要性 四 性能测试技术难点分析 五 性能测试建构图 六 性能测试落地部署 七 性能测试数据分析 八 曾经尝试 九 案例ROI分析 十 案例启示

优秀APP 一 案例背景 ? 优秀的性能对app很重要 a)提升用户体验 b) 符合产品设计 性能测试是通过测试工具模拟多种正常、峰值,以及异常负载条件来对系统的各项性能指标进行测试

二 性能测试挑战 不连接 USB 指标 自动采集 测试用例 自动Run 不ROOT 不越狱 建立评测 说清楚性能测试难点和要点

线上阶段 Coding 线下阶段 系统提测 灰度发布 三 性能测试在项目流程中重要性 开发阶段 编 译 开发阶段 小范围体验 单元测试 专 项 众 测 监 控 线上阶段 三 性能测试在项目流程中重要性 Coding 开发阶段 线下阶段 编 译 代码扫描 Code review 单元测试 冒 烟 系统提测 开发阶段 灰度发布 小范围体验 详细讲黄色工具

性能测试配合使用平台和工具 性 能 专 项 评 测 监 控 编 译 代码扫描 工具APP类 腾讯APT 百度慕斯 腾讯bita 阿里TMTS 性 能 腾讯APT 百度慕斯 腾讯bita 阿里TMTS 百度mvp 专 项 百度crab 腾讯melt GT随时调 百度坚果 评 测 舆情平台 百度UFO VA平台 百度开放云 监 控 随身调GT Miss监控 扫雷平台 腾讯bugly 编 译 Jenkins 代码扫描 findBugs 腾讯卡帕莱sonar Coverity 百度godeyes PCLint 工具APP类 微信NewMonkey 百度SmartMonkey 百度SmallApple 坚果: 内存泄漏插件:一款基于开源的Leakcanary改造的坚果插件,支持Activity和Fragment的内存泄漏监控,正常操作过程中发生泄漏会弹Toast消息报警并Dump Hprof,通过坚果App能自动分析出每个泄漏结果的最短GC路径 App监控体验插件:集成了移动端线上监控平台 SDK,可以进行App端监控体验,或直接联系监控平台负责人进行接入 网络监控插件:能监控App的Http网络请求,目前只支持DefaultHttpClient类型的请求 UI性能插件:目前支持StrictMode开启,能监控UI主线程读写磁盘数据、发起网络请求等异常点,并显示完整堆栈信息 崩溃ANR插件

a、 通用指标Get b、 FPS、log不开Root c、 功耗和电量 d、 特殊app a、记ViewID,智能消除弹窗 四 性能测试技术难点分析 a、 通用指标Get b、 FPS、log不开Root c、 功耗和电量 d、 特殊app a、记ViewID,智能消除弹窗 b、算关键路径,智能回溯 c、跳出app智能回退 d、脚本自启动 e、弹出广告处理 f、 支付类加密SDK 标准:参照MTBF 稳定性测试万能脚本,关键技术 a、记录没个ViewID,智能消除弹窗 b、关键路径概率、停留时间,不重复 c、跳出app智能回退(调用UIautomator) d、脚本手机自启动(am start -instrumentation) 指标关键获取: a、 通用指标:cpu、内存、启动时长 (DumpSys命令或者 ActivityManager类) b、 FPS不需要开Root权限(游戏类app关注) b、 功耗和电量获取Cpu轮询jiffies c、 特殊app(、视频娱乐类)获取网络流量和下载、播放,get播放内 核 数据写入上报:json解析写存储卡,然后上报 json解析写存储卡,然后上报

性能自动化建设-线下 分析内存 优化布局分析 FPS采集 智能遍历 追踪Trace堆栈 1、配合Uiautomator+智能Monkey算法 2、层级嵌套分析工具(权重分析) 3、测试UI界面响应和娱乐类app响应 4、函数响应时间追踪Trace堆数据 5、提取内存HPROF,分析内存泄露 分析内存 优化布局分析 FPS采集 智能遍历 追踪Trace堆栈

危机 性能线上建设-E2E 网络的DNS 查询的时间 APP启动时长 页面切换耗时 关键场景路径耗时 数据更新率监控 Push推送监控 网络响应时间 Bug定位 网络异常 Crash上报 性能线上建设-E2E 危机 场景 e2e

网络关注点 响应时长关注点 响应时长 网 络 首字节时间(TTFB) 1. 页面加载时间 开启GZIP压缩 FPS 使用长连接(keep alive) 是否合并CSS和JS文件 是否设置静态内容缓存时间 合理用cookie 网 络 网络关注点 开启严苛 7.webP格式图片 8.大图片 9.大文本 1. 页面加载时间 FPS 静态分析工具 函数响应时间 6. StrictMode GC 响应时长 响应时长关注点 详细 说cookie和大文本图片 断点续传 严苛模式:虚拟机和开发线程 1. 页面加载时间 通过抓取logcat日志或者代码埋点 FPS 通过GPU呈现模式分析(Profile GPU rendering)得到帧数据 静态分析工具 Lint可以静态扫描找出布局可优化的代码 另外可自定义一些规则如:ListView中没有重用convertView, 没有使用固定行高等… 函数响应时间 Total call排序(函数的调用次数 InclusiveCpuTime排序,包含子函数的调用函数耗时 6. StrictMode 找出在UI Main Thread上进行I/O、网络请求 GC 应用运行过程中GC是否频繁,在3.0以下将会阻塞主线程 网络响应度量指标 首字节时间(TTFB) 开启GZIP压缩 使用长连接(keep alive) 是否合并CSS和JS文件 是否设置静态内容缓存时间 合理使用COOKIE webP格式图片 大图片 大文本

电量关注点 稳定性关注点 稳 定 性 电 量 Cpu单进程jiffies 1.特殊场景的内存泄露、 兼容性 必须cpu固定频率下 休眠 wakeLock唤醒锁 电 量 1.特殊场景的内存泄露、 兼容性 2.Low memory 3.弱网络 4.异常场景crash 稳 定 性 电量关注点 稳定性关注点 1. 页面加载时间 通过抓取logcat日志或者代码埋点 FPS 通过GPU呈现模式分析(Profile GPU rendering)得到帧数据 静态分析工具 Lint可以静态扫描找出布局可优化的代码 另外可自定义一些规则如:ListView中没有重用convertView, 没有使用固定行高等… 函数响应时间 Total call排序(函数的调用次数 InclusiveCpuTime排序,包含子函数的调用函数耗时 6. StrictMode 找出在UI Main Thread上进行I/O、网络请求 GC 应用运行过程中GC是否频繁,在3.0以下将会阻塞主线程 网络响应度量指标 首字节时间(TTFB) 开启GZIP压缩 使用长连接(keep alive) 是否合并CSS和JS文件 是否设置静态内容缓存时间 合理使用COOKIE webP格式图片 大图片 大文本

内存关注点 CPU关注点 CPU OOM内存溢出 ANR 压测提取堆空间log Crash 指标:Davlik Pss Unkown Pss Total Pss 内 存 内存关注点 CPU CPU关注点 User(用户使用) SYS(系统等待) IOW(磁盘IO等待) 1. 页面加载时间 通过抓取logcat日志或者代码埋点 FPS 通过GPU呈现模式分析(Profile GPU rendering)得到帧数据 静态分析工具 Lint可以静态扫描找出布局可优化的代码 另外可自定义一些规则如:ListView中没有重用convertView, 没有使用固定行高等… 函数响应时间 Total call排序(函数的调用次数 InclusiveCpuTime排序,包含子函数的调用函数耗时 6. StrictMode 找出在UI Main Thread上进行I/O、网络请求 GC 应用运行过程中GC是否频繁,在3.0以下将会阻塞主线程 网络响应度量指标 首字节时间(TTFB) 开启GZIP压缩 使用长连接(keep alive) 是否合并CSS和JS文件 是否设置静态内容缓存时间 合理使用COOKIE webP格式图片 大图片 大文本

性能监控 Server Driver 被测APP GetViewID TestCase RemoteServer BackApp 五 性能测试设计架构图 性能监控 Server 进程1-- writeData 进程3-- sendData 进程2-- performance Driver TestCase 被测APP RemoteServer GetViewID BackApp 举个滴滴uber例子

01 02 03 04 本地百台机器跑定制化Case脚本收集指标 App和自动化 嵌入用户反馈 Case平台众包 和数据统计上 下发 六 性能测试落地部署 01 02 03 04 本地百台机器跑定制化Case脚本收集指标 异地靠用户众测 App和自动化 Case平台众包 下发 嵌入用户反馈 和数据统计上 报SDK 阿里tmts、itesin、易测云等等

七 性能测试数据分析 做到这步完成了? Kaopu-app(iphone5s) Ionic-demo(note4) Weixin(iphone5s) 点击时间 加载时间 帧数 25.05 25.19 17 17.03 17.21 8 0.11 0.14 3 26.24 27.08 14 18.01 10 1.10 1.14 4 28.14 29.14 20 18.11 18.21 2.29 3.07 30.12 30.26 19.01 19.10 9 3.22 4.00 31.12 31.24 12 19.22 20.01 4.22 4.27 5 32.26 32.22 20.10 20.20 5.13 5.18 32.29 33.10 11 21.00 21.09 6.10 6.17 7 33.20 34.07 21.18 21.26 7.03 7.09 6 34.13 34.25 16.12 16.21 7.29 8.85 35.05 35.20 15 15.24 16.03 8.21 8.28 做到这步完成了?

一拖多 抓取堆日志 Junit 内存泄露抓取 GET-hprof 云端下发 用原生态 开Root 测试任务 读取ANR 无线wifi-USB 八 曾经尝试 开Root 读取ANR 连接数据线 app代码监控 云端下发 测试任务 抓取堆日志 内存泄露抓取 GET-hprof 用原生态 代码插桩 配合EMMA 一拖多 Junit 无线wifi-USB Android Ios 动态

A B C F G E D 2-3个人 Case 自动化 平台智 能分析 用户参与 整合 Jenkins 用户不 用操作 自动收 集指标 九 案例ROI分析 A 2-3个人 B C F G E D Case 自动化 平台智 能分析 用户参与 整合 Jenkins 用户不 用操作 自动收 集指标 推广产品线 项目周期时间短 QA人员不足 在项目周期时间短、QA人员不足的情况下,不但能够提高产品质量,而且能够不断CI、去适应不断变化的产品需求 1、只需要2-3个人维护(Android和IOS) 2、手工操作Case变成自动化 3、让用户参与(二维码或者Push下发app) 4、系统方便整合到Jenkins 不用买机器 不用排场测QA 用户调起app不用操作 性能指标自动收集 数据上报server,一个专门QA分析

统一性能指标 聚焦TOP问题 多纬度评估 性 能 众 测 指 标 智 能 过 滤 线上监控预警分析 监控定位模块 提升召回率 十 案例启示 统一性能指标 聚焦TOP问题 多纬度评估 性 能 众 测 指 标 智 能 过 滤 线上监控预警分析 监控定位模块 提升召回率