本文内容节选自第六届全球软件案例研究峰会,时任腾讯专项测试组组长李昶博老师分享的《腾讯专项测试之道》实录,重点分享:全研发流程的介入,系统化的专项指标,分析定位工具和解决思路。(PPT+文稿)。
李昶博老师是腾讯专项技术测试组长,专注9年性能测试,人称“性能哥”,腾讯公司级优秀讲师。经历PC QQ、手机QQ、Q+桌面、QQ空间、QQ音乐等客户端项目,多个项目获得了百倍的性能提升。QQ性能优化项目团队曾获腾讯公司级重大技术突破奖。在性能领域,共取得6件国家专利。
编者按:2017年11月9-12日,第六届全球软件案例研究峰会在北京国家会议中心盛大开幕,现场解读2017年「壹佰案例榜单」。时任腾讯专项测试组组长李昶博老师分享《腾讯专项测试之道》的案例分享。
【内容简介】本文将从「指标+流程」和「平台工具+技术」两个角度,解析腾讯测试团队如何在需求、开发、编译、测试&合流、用户五个方面践行测试实践,从性能UI评审到技术评审、从安装包大小到Crash,包括用户最关注的卡顿、流量等问题,解析如何解决这些具体问题,并使用户投诉量下降70%以上,达到12倍优化效果。
1
腾讯专项测试方法论
1.分层测试理念——专项质量体系
在研发的各个阶段:需求、开发、编译、测试&合流、用户,每个环节都是可以介入操作的。
2.专项测试人员能力模型
在腾讯内部,按照能力的不同划分为T1到T3。下图中的斜线是能力分割线。
3.速度体验评测模型
有了操作标准之后,外包的执行就会变得轻松。只需要比对标准来找BUG即可。
4.技术评审模型
在C/S,代码结构,B/S,磁盘IO,界面效果,关键路径等多个分类的细项中,从技术需求,产品需求两个方面,来分析它的性能测试点。
2
团队自研平台工具
1.研发支撑平台:CI/合流/分布
在这个平台上,可以看到每个部门产生的BUG,有哪些需要解决的问题,需要达到什么样的水准等相关性能的问题。
只有通过全部测试工具之后,开发才能拿到合流的代码权限。
2.安装包质量监控:体积,方法数
对于腾讯的产品而言,产品安装包不能太大。对于安装包有多少体积和方法数在各个部门都是有配额管理的,若超过配额,必须进行优化,去除不必要功能来置换安装包体积。
3.Code Dog:静态代码扫描
在此平台内部实现了2000多条扫描规则,其中有201条是自研发的,支持各种语言。在这个系统内部,可以看到BUG的趋势、布局、结构、特点等。
4.Perflib&QTA:性能自动化测试
5.New Monkey:稳定性测试
6.Magnifier:卡顿监控
在测试环境后台对目标程序进行监控,运行卡顿超过一秒的程序便会立即报警,并且可以通过日志定位到卡顿出现在哪一行。
3
专项团队检测指标
专项质量体系
下图是李昶博老师曾在腾讯内部使用过的性能测试工具。
它分为三大类,Windows,安卓和ios,在内又分为三个维度:采集,分析和外网。在每个维度内又有关于此项的具体性能分析。
具有分析能力的性能自动化
在此之前,一个问题的提出会经过层层“推脱”,导致时间和精力的双重浪费。
为解决这个问题,团队为每一个指标打造了全面的分析工具。大致流程分为5步,编码、度量、分析、解决、验证。
开发负责编码、解决、分析;测试负责度量、验证。
当打造了全套的具有分析能力的性能自动化测试工具后,任何一个指标出现超标的情况都可以定位到是哪行代码所致。
下面是我们的几个测试分析指标。
1.CPU测试
由于安卓内核会存在BUG,在使用CPU占用率做测试,会出现CPU占用为负值的情况。
在改用CPU时间做测试后,可以大大规避这些问题。
2.IO测试
在没有IO分析工具的时候,存在一个BUG会使得程序启动慢至12秒,但由于启动耦合了几百个模块难以找到是哪行代码的问题。
但在IO测试内,两个小时即可找到问题所在。
3.内存测试
4.GC测试
看过Android源码可知,GC时将调用dvmSuspendAllThreads(),哪个函数被休眠,它的耗时就变长。所以,CPU分析工具行不通,李昶博老师团队自研了AllocTrace工具,帮助开发找到内存复用的优化点,减少GC。
5.流畅度测试
提到流畅度,第一直觉是FPS指标。现在团队使用自研的掉帧率指标。
因为掉帧率更加的敏感,例如,FPS保持相同时,将每帧均匀拉长,用户体验是截然不同的。
此外,要避免平均化。求平均值测量很有可能会造成卡顿遗漏。所以腾讯选择的方法是每天运行一次,若掉帧率上升可以去后台查看原因。
6.流量测试
4
发布后的全网监控
1.用户投诉跟进
在产品发布后,腾讯会做全网的监控。任何一个用户出现的问题都可以被得知。
2.Crash全网上报
在腾讯内部有系统可以观测到每天的Crash率,超过一定值就需要马上解决。
通过观察Crash率可以得到几个有趣的小经验:对于客户端APP,Crash率在1%以上必然存在许多低级问题;1%-0.5%要在系统底层找原因;低于0.5%就要在操作系统上找原因。
3.卡顿全网上报
在全网运营时不适合用均值,要用概率。
因为存在一些用户体验不好的人,由于人数比较少,如果用均值很容易忽略了他们的存在。
Q&A
Q: hook只能定位到系统io函数么?
A:我们内部实现的hook技术可以hook到操作系统的底层,java、系统api等等,我们都可以hook到底层。
Q:腾讯这样的大公司面对上亿的用户,突然某一个时间段访问量、点击量爆增是如何应对的,如果系统崩溃,危机的应对方式是?
A:我们做的是客户端的APP测试,这个问题跟后台压力相关。首先要有大规模可动态分配的集群,比如说腾讯云,先要有这个能力,可以进行随时扩展,这是第一个基本策略。
第二是架构设计遵从冷热分离的原则。举个秒杀抢购的例子吧,秒杀页的流量极大,那么它承载的最基本的用户需求是什么?告知用户当下能否购买。所以查询购买权属于热查询,要与其他功能接口设计分离,确保热查询有最高的性能。
以上内容来自李昶博老师的分享。
扩展阅读:
你还在过度测试吗?一个模型和两张checklist教你用测试策略做刚刚好的测试!
2018最新案例征集中
TOP100summit是科技界一年一度的案例研究峰会,每年甄选有学习价值的100个技术创新/研发管理实践,分享他们在本年度最值得的总结、盘点的实践启示;TOP100summit于2018年12月1-3日在北京国家会议中心举办,与其在别处仰望,不如来这里并肩。
入选标准
1. 您带领的产品或项目案例(再或从事的工程实践)具有借鉴价值,能够帮助他人的项目或团队获得启示、成长的长尾效应;
2. 您是一位热爱创新、敏于思考、善于总结经验的“教练”;
3. 谢绝广告、市场化公关演讲,壹佰案例遵循100%案例研究学习为宗旨;
您将获得
1. 候选案例入选《案例研究智库》平台,其中优秀案例文稿入选《全球软件案例研究年鉴》图书,部分杰出文章还有机会获得业界权威杂志刊登、媒体报道、副刊专辑;
2. 入选壹佰案例的分享者或所在团队荣获《TOP 100 Case Studies Of The Year》奖章,并受邀以“理事单位”的身份出席峰会解读案例;
3. 分享者获得VIP通行证,参加全程会议,以及三天闭门交流午宴和晚宴;
4. 分享者所在团队购买大会门票享有“理事单位”六折门票价格;
入选范围
1. 来自科技领域一线研发管理实践及技术创新案例;
2. 截止日期2018年9月30日;
关注“壹佰案例”,查看更多精选内容
相关推荐
这些问题解决起来都是非常麻烦的,腾讯移动品质中心(TMQ)成立了专项测试团队来解决这些问题,这些程师们长期负责腾讯公司部分重要的手机应用的性能评测与优化工作,在App的内存、电量、流量、流畅度、网络、安装包...
腾讯专项技术测试员工能力模型还强调了探索性测试、自动化测试、性能分析定位以及操作系统源码层面的探究。这些能力模型不仅指导测试用例的编写,还确保了性能测试的执行可以交给更专业的外包团队完成。 除了专项...
【IT产品高效运维学习】DevOps-腾讯的专项测试及全网监控之道.pdf
【腾讯产品之道PPT】是腾讯首席执行官马化腾在全球移动互联网大会上分享的重要演讲资料,这份PPT深入探讨了腾讯在产品研发与运营中的核心理念和策略。通过这份PPT,我们可以了解到腾讯如何构建和引领互联网产品的...
腾讯游戏案例分析.ppt
腾讯,作为中国领先的互联网科技公司,利用其强大的SNS平台,如QQ空间、微信朋友圈等,成功地为多个品牌打造了富有创意且效果显著的营销案例。下面我们将深入探讨这些案例,分析其策略、执行方式以及取得的效果。 ...
腾讯DNS测试,PING测,定时刷新,更新,网络稳定性测试
《腾讯产品通道标准》《腾讯产品通道标准》《腾讯产品通道标准》《腾讯产品通道标准》《腾讯产品通道标准》《腾讯产品通道标准》《腾讯产品通道标准》《腾讯产品通道标准》《腾讯产品通道标准》《腾讯产品通道标准》...
《2018腾讯移动游戏技术评审标准与实践案例》是腾讯公司针对移动游戏开发的一份重要参考资料,它深入探讨了在2018年腾讯如何制定并实施移动游戏的技术评审标准,以及这些标准在实际项目中的应用。这份文档不仅体现了...
【腾讯内部测试辅助工具详解】 在IT行业中,测试是软件开发流程中不可或缺的一环,它确保产品的质量和稳定性。尤其对于大型互联网公司如腾讯而言,测试的重要性更是不言而喻。"腾讯内部测试辅助"工具正是腾讯为了...
案例分析大赛腾讯案例.doc
【腾讯软件测试笔试题(2008-2010)】是针对有意加入腾讯公司,从事软件测试工程师职位的求职者所准备的一系列笔试题目。这些试题旨在考察候选人在软件测试领域的专业知识、问题解决能力和逻辑思维能力。通过分析...
【腾讯QQ的电子商务案例分析】 腾讯QQ,作为中国最大的互联网综合服务提供商之一,自1998年成立以来,以其用户为中心的价值观和稳健快速的发展策略,成功构建了中国最大的网络社区,提供了包括即时通讯、网络媒体、...
腾讯信息流广告地产类案例涉及的IT知识点包括以下几个方面: 首先,针对标题中的“腾讯信息流广告”需了解什么是信息流广告。信息流广告是一种出现在社交媒体、新闻应用或网页内容中的广告形式,它以信息列表的形式...