腾讯TMQ在线沙龙回顾|EP(测试分析+分层自动化测试)实践

活动介绍

TMQ第四十五期在线沙龙分享活动圆满结束啦!

本次分享的主题:EP(测试分析+分层自动化测试)实践

共有247位测试小伙伴报名参加活动。

想知道活动分享了啥吗?

请往下看吧!

嘉宾

杨春喜:腾讯QQ浏览器测试工程师,目前主要负责QQ浏览器视频性能测试。

分享主题

测试分析+分层自动化测试模式的效果

与传统测试模式的差别

测试分析+分层自动化测试具体方案介绍

测试分析+分层自动化测试模式运作的机制

问答环节

1、hook是什么?

答:Hook英文翻译过来就是「钩子」的意思,那我们在什么时候使用这个「钩子」呢?在 Android 操作系统中系统维护着自己的一套事件分发机制。应用程序,包括应用触发事件和后台逻辑处理,也是根据事件流程一步步地向下执行。而「钩子」的意思,就是在事件传送到终点前截获并监控事件的传输,像个钩子钩上事件一样,并且能够在钩上事件时,处理一些自己特定的事件。Hook的这个本领,使它能够将自身的代码「融入」被勾住Hook的程序的进程中,成为目标进程的一个部分。常用的Android hook有:AndFix、Xposed、Dexposed、Epic。

2、只是做手机测试,对于各模块(每个APK)适用这种分层自动化测试吗?

答:我们会对每个模块进行测试分析+分层自动化测试。只有活动类的需求或者纯属UI交互改动类的需求不采用这种模式。

3、请问分层自动化测试的入门书籍和进阶书籍有哪些可以推荐的吗?

答:TMQ介绍精准分析的文章和自动化的文章,书籍方面比如:《腾讯Android自动化测试实战》和《不测的秘密:精准测试之路》。

4、手动BUG能有多少实现分层自动化测试用例?

答:分层自动化测试的bug在终端类型产品中我们目前做的的比例是20%-40%左右,分层自动化率在30%-40%。

5、是如何提高用例稳定性百分比的?

答:(1)建立整体分层稳定性运转机制:建立稳定性监控机制、规范用例上线下流程;指标数据对应到个人;

(2)针对当前用例稳定性问题,进行了11项优化,包括:优化用例本身;优化用例驱动层,对process crashed用例进行重跑,优化测试框架:截图、弹框检测及处理;

(3)实现平台化:实现了在线的稳定性监控、用例上线下管理,失败跟进等。

6、你们要求把所有用例都翻译成自动化测试脚本吗?

答:我们是基于对业务实现架构和具体分层方案理解的基础上,基于测试分析(需求分析+代码分析)进行分层测试策略的验证,ui的交互和动画部分采用手工验证,基于终端逻辑层和终端UI展现逻辑,以及后台的测试写成分层自动化脚本。不存在要把已有的用例翻译成自动化测试脚本的过程。

7、目前贵公司的UI自动化覆盖度和稳定性如何?

答:当前是98%左右,覆盖度在30%-40%。

8、采用的什么框架?native、webview、小程序的安卓和IOS端是否全部覆盖到呢?

答:以Android为例,采用的测试框架都是行业通用的框架。

UI:Robotium+UIAutomator2.0 ,逻辑层:采用AndroidJUnit4+MockitoAndroid方案

native、webview、小程序的安卓和IOS端都会覆盖到,除了活动类以及纯UI交互类的需求不会覆盖。

9、测试 是通过自定义脚本和一些第三方测试工具吗?

答:自动化测试用例是基于分析的基础上,UI层验证的部分使用Robotium+UIAutomator2.0测试框架编写自动化脚本。逻辑层采用AndroidJUnit4+MockitoAndroid测试矿浆编写自动化用例。

10、自定义脚本一般是什么用脚本获取界面元素进行点击吗?

答:跨应用情况下使用UIAutomator2.0,其他情况用Robotium获取到界面元素进行点击。

11、提测之前写自动化用例,是已经和rd约好了id, text等的具体值吗?

答:不需要跟其他角色约定,只需要根据测试分析(需求理解+代码分析)进行分层测试策略制定,找到入口和梳理关系链图进行分层的自动化脚本编写。

12、这里讲的UI层的mock,如何实现的?

答:这里UI层的mock是指 进行逻辑层测试的时候 是模拟UI层对于逻辑层的入口的调用 ,根据处理逻辑在UI层入口灌入不同的数据,验证逻辑层正确性。

13、小程序接口测试,贵公司采用的方案是哪种?是否自己开发还是利用现有工具?

答:小程序我们目前暂时没有对应的产品,一般能用通用的框架就采用通用的框架。

沙龙视频

手机扫码下载PPT

原文发布于微信公众号 - 腾讯移动品质中心TMQ(gh_2052d3e8c27d)

原文发表时间:2018-09-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java学习网

开发人员必备技能之一“性能优化”

软件程序的性能问题在设计价段就应该有充分的考虑,根据实际需求制定对应的技术方案和实现方法,比如软件运行后的并发用户数、数据存储量等要求;通常所说的性能优化无非是...

3375
来自专栏何俊林

一种边播边下的播放策略

本文为smm987独家授权发布本公众号,smm987的blog:http://www.jianshu.com/u/4f00ab501188。 背景 目前视频相...

3645
来自专栏Golang语言社区

如何使用 Go 语言写游戏服务器?

之前先后用Erlang,nodejs做过tcp,http的游戏服务器。接触了golang一两个月(纯新手),想在最近的tcp网游项目中使用,但又担心以下问题: ...

5056
来自专栏互联网技术栈

读《大型网站技术架构》

《大型网站技术架构》是自己接触的第一本架构知识的书籍,还是在14年时买的实体书,前后读了几遍,颇有所得,后来实体书被朋友借走再没归还,也就没再翻过。

1102
来自专栏企鹅号快讯

如何改善遗留的代码库

作者 | Jacques Mattheij 译者 | aiwhj 在每一个程序员、项目管理员、团队领导的一生中,这都会至少发生一次。原来的程序员早已离职去度假了...

1927
来自专栏JAVA高级架构

日处理20亿数据,实时用户行为服务系统架构实践

携程实时用户行为服务作为基础服务,目前普遍应用在多个场景中,比如猜你喜欢(携程的推荐系统)、动态广告、用户画像、浏览历史等等。 以猜你喜欢为例,猜你喜欢为应...

1482
来自专栏IT大咖说

华为资深架构师:Cloud Native架构一致性问题及解决方案

2023
来自专栏王亚昌的专栏

UNIX编程艺术之“模块性”

     本章主要讨论模块划分、接口设计,提出了几个很重要的概念,包括紧凑性、正交性、自顶向下和自底向上的设计、SPOT原则、分层、插件化。下面就这几个概念,谈...

1032
来自专栏PHP在线

高并发量网站解决方案

一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性 能的要求都很简单。随...

4658
来自专栏华章科技

被称为“开发者神器”的GitHub,到底该怎么用?

导读:GitHub是一个拥有数十亿行代码的网站,每天有数百万开发者聚集在一起,研究开源软件中存在的问题。开发人员每天都要在工作中使用GitHub或其他基于Git...

1112

扫码关注云+社区

领取腾讯云代金券