前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【干货分享】研效优化实践:WeTest提效测试

【干货分享】研效优化实践:WeTest提效测试

作者头像
WeTest质量开放平台团队
发布2022-01-14 11:10:21
7460
发布2022-01-14 11:10:21
举报
文章被收录于专栏:WeTest质量开放平台团队的专栏

导语

腾讯WeTest平台在项目测试过程中,为企业及开发者提供了很多便利,帮助研发团队快速发现产品潜在问题。接下来,本文将分享一些使用WeTest进行测试提效的小经验,希望能帮到大家。本文作者是腾讯IEG增长协同部测试开发工程师连凌淦,拥有多年系统测试经验,在自动化、全链路压测等专项测试领域都有一定的经验。

01

自动化兼容测试

UI自动化是提高测试效率的一个重要手段,像poco、appium都是常用自动化框架,相关资料都很多,这里就先不展开讲,主要分享一些实操过程可能会遇到的问题。

1.1真通过与假通过

每次自动化兼容测试结束后,WeTest平台会返回一份对应的测试报告,涵盖测试过程中的详细信息,如设备日志、截图、性能数据等,用户可以做进一步的结果分析。概览数据涵盖本次设备维度的测试结果,包括通过的设备数量、未通过的设备数量等。

设备维度未通过的定义为发生兼容性问题,如Crash、ANR等。有时在测试过程中,脚本可能未执行完毕,最终也会判定为通过,属于假通过的情况,影响最终的统计结果。

每次提交兼容性测试的机型都是几十上百台,对所有通过的机型再一个个打开校验,时间成本太高,那么有什么方案能帮助我们快速找出来未真正执行脚本的设备呢?

基于一个不太严谨的前提假设,同一个UI自动化脚本执行,理论上全流程时间在不同机型上相近的(如果有wait_until_something_appear这样的操作,操作时长就会因机型产生差别),而WeTest截屏的时间间隔基本固定,大致可以认为每个机型完整执行过程产生的截图数量波动较小,我们只需要对偏离较大的测试通过用例进行检查。

1.2airtest可以访问到节点,脚本执行报poco未检测ui控件节点

使用poco进行自动化测试过程中,有时候会发现airtest可以定位到的节点,执行过程却报了node not found的错误,这是由于poco的ui树未及时刷新导致的,建议适当增加sleep间隔,等待ui节点树刷新。

1.3部分机型有权限弹窗问题

部分机型弹窗也可能会导致一部分假通过问题,所以提交特定机型测试,并且测试app有权限申请的,要关注下是否会有权限弹窗。由于弹窗没有id可以快速定位,这里采用了轮询节点的方式,在启动测试用例之前,通过轮询ui节点以及关键字匹配“允许”或者“拒绝”,找到对应的元素并点击。

02

日志测试自动化

日志上报是产品数据分析的基石,产品运行过程会在非常多的节点上报信息,每次逐条检查确认是个费时费力的过程,无论是从上报链路检查还是从落库数据检查,手工操作、查验结果都是一个繁复的工作,且容易产生遗漏。因此,我们将UI自动化功能测试与日志测试相结合,基于蓝盾流水线和WeTest,搭建了一个日志自动化测试模块。

因为打点日志上报的量较大,我们需要精准地抓取本次操作产生的日志,并作为关键字到db进行搜索。这里我们采用打本地文件的方式,保存执行过程的状态以及用于定位本次搜索的关键字,用于后续的操作校验以及搜索。

如何把自动化执行过程的数据传递给校验模块,考虑过以下几种方案:

1,通过mq(redis、kafka等),实现数据传输到查询校验模块;

2,另起服务接收数据,通过接口调用传递数据;

3,将校验模块耦合到日志测试脚本;

4,本地日志记录,通过log文件传递信息。

基于不同功能模块解耦维护,以及开发成本上的考虑,最终我们选择了最原始的文件存储形式,这种方式也便于问题查证的时候,能从WeTest找到关键信息。WeTest兼容性测试支持把文件复制到开发机,在endTest.sh 文件中加上:

代码语言:javascript
复制
cp XXX.log $UPLOADDIR/

即可配合流水线操作。

03

数据驱动提高覆盖率

全量提交测试会导致任务周期久,并且公有云设备不可避免会存在等待时间,每次全量提交也可能给产品带来额外的测试成本。

我们需要思考,每增加一个测试机型,能给我们的流量带来多大的覆盖?哪些机型的占比更高,更加重要?现有的WeTest测试机型库,是否满足我们自己产品的机型覆盖呢?

那么,我们能否通过现网的用户分布,叠加一些机型、系统分布条件,来进行更加精准的兼容性测试呢?

首先,腾讯WeTest平台上的兼容性机型覆盖了市场的主流top机型,但Android系统的机型长尾效应特别大,产品面对的用户收入,决定了其所使用的机型,为此,通过打点上报数据,获得了我们产品的用户机型流量分布图,与现有的外网top500的benchmark 机型进行了比较。

利用上述数据,我们跟WeTest的机型按照产品流量top50、100、300、500做了一个交集,得到下面的占比图。

有了上述的机型数据,测试过程中可以进行更加精细的测试验证:

1,兼容性测试补齐产品流量中WeTest现有机型,提高兼容性测试覆盖率。

2,不同的测试场景,选用不同测试机型组,缩小测试范围,更快获得结果。

3,可针对性购买机型,补齐少数WeTest平台所没有的机型,提高测试过程的用户机型覆盖。

以上,是在产品测试中使用WeTest提高测试效率、覆盖率的小小实践,欢迎大家在评论区留言探讨。

如果您有业务需求,欢迎前来咨询

客服电话:0755-86013388-22126

客服QQ:2746728701

工作时间(周一至周五9:30-18:30)

关于腾讯WeTest

腾讯WeTest是由腾讯官方推出的一站式品质开放平台。十余年品质管理经验,致力于质量标准建设、产品质量提升。腾讯WeTest为移动开发者提供兼容性测试、云真机、性能测试、安全防护等优秀研发工具,为百余行业提供解决方案,覆盖产品在研发、运营各阶段的测试需求,历经千款产品磨砺。金牌专家团队,通过5大维度,41项指标,360度保障您的产品质量。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯WeTest 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.1真通过与假通过
  • 1.2airtest可以访问到节点,脚本执行报poco未检测ui控件节点
  • 1.3部分机型有权限弹窗问题
相关产品与服务
测试服务
测试服务 WeTest 包括标准兼容测试、专家兼容测试、手游安全测试、远程调试等多款产品,服务于海量腾讯精品游戏,涵盖兼容测试、压力测试、性能测试、安全测试、远程调试等多个方向,立体化安全防护体系,保卫您的信息安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档