乐趣区

关于java:研效优化实践WeTest提效测试

导语

腾讯 WeTest 平台在我的项目测试过程中,为企业及开发者提供了很多便当,帮忙发现产品潜在问题。接下来,本文将分享一些应用 WeTest 进行测试提效的小教训,心愿能帮到大家。本文作者是腾讯 IEG 增长协同部测试开发工程师连凌淦,领有多年零碎测试教训,在自动化、全链路压测等专项测试畛域有肯定的教训。

1. 自动化兼容测试

UI 自动化是进步测试效率的一个重要伎俩,像 poco、appium 都是罕用自动化框架,相干材料都很多,这里就先不开展讲,次要分享一些实操过程可能会遇到的问题。
1.1 真通过与假通过
每次自动化兼容测试完结后,WeTest 平台会返回一份对应的测试报告,涵盖测试过程中的详细信息,如设施日志、截图、性能数据等,能够做进一步的后果剖析。概览数据涵盖本次设施维度的测试后果,包含通过的设施数量、未通过的设施数量等。
设施维度未通过的定义为产生兼容性问题,如 Crash、ANR 等。有时在测试过程中,脚本可能未执行结束,最终也会断定为通过,属于假通过的状况,影响最终的统计后果。

每次提交兼容性测试的机型都是几十上百台,对所有通过的机型再一个个关上校验,工夫老本太高,那么有什么计划能帮忙咱们疾速找进去未真正执行脚本的设施呢?
基于一个不太谨严的前提假如,同一个 UI 自动化脚本执行,实践上全流程工夫在不同机型上相近的(如果有 wait_until_something_appear 这样的操作,操作时长就会因机型产生差异),而 WeTest 截屏的工夫距离根本固定,大抵能够认为每个机型残缺执行过程产生的截图数量稳定较小, 咱们只须要对偏离较大的测试通过用例进行查看。

1.2.airtest 能够拜访到节点,脚本执行报 poco 未检测 ui 控件节点
应用 poco 进行自动化测试过程中,有时候会发现 airtest 能够定位到的节点,执行过程却报了 node not found 的谬误,这是因为 poco 的 ui 树未及时刷新导致的,倡议适当减少 sleep 距离,期待 ui 节点树刷新。
1.3. 局部机型有权限弹窗问题
局部机型弹窗也可能会导致一部分假通过问题,所以提交特定机型测试,并且测试 app 有权限申请的,要关注下是否会有权限弹窗。因为弹窗没有 id 能够疾速定位,这里采纳了轮询节点的形式,在启动测试用例之前,通过轮询 ui 节点以及关键字匹配“容许”或者“回绝”,找到对应的元素并点击。

2、日志测试自动化

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

因为打点日志上报的量较大,咱们须要精准地抓取本次操作产生的日志,并作为关键字到 db 进行搜寻。这里咱们采纳打本地文件的形式,保留执行过程的状态以及用于定位本次搜寻的关键字,用于后续的操作校验以及搜寻。
如何把自动化执行过程的数据传递给校验模块,思考过上面几种计划:
1、通过 mq(redis、kafka 等),实现数据传输到查问校验模块;
2、另起服务接收数据,通过接口调用传递数据;
3、将校验模块耦合到日志测试脚本;
4、本地日志记录,通过 log 文件传递信息。
基于不同功能模块解耦保护,以及开发成本上的思考,最终咱们抉择了最原始的文件存储模式,这种形式也便于问题查证的时候,能从 WeTest 找到要害信息。WeTest 兼容性测试反对把文件复制到开发机,在 endTest.sh 文件中加上:
cp XXX.log $UPLOADDIR/
即可配合流水线操作。

3、数据驱动进步覆盖率

全量提交测试会导致工作周期久,并且私有云设施不可避免会存在等待时间,每次全量提交也可能给产品带来额定的测试老本。
咱们须要思考,每减少一个测试机型,能给咱们的流量带来多大的笼罩?哪些机型的占比更高,更加重要?现有的 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 度保障您的产品质量。

关注腾讯 WeTest,理解更多热门测试产品:
WeTest 腾讯品质开放平台 - 您的品质守护专家

退出移动版