活动介绍
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