TBS三方SDK自动化探索

【导读】

对于非宿主的合作伙伴来说,在TBS接入环节,“共享和下载内核”的能力是最重要的,它从根本上决定着APP是否能够使用预期的X5内核提供服务。一旦出现问题,会导致无法加载X5内核或者优化策略失效,从而降低X5占比。但面临的一个问题是,SDK是跟随TBS版本持续优化的,每次SDK发布,都会有大批小伙伴更新apk来提测。

【测试时机】

SDK发布后,会有合作方陆续接入新SDK提测,比如: 
2.4 SDK发布:某某视频+2.4SDK,某某会+2.4SDK、某某输入法+2.4SDK、某某宝+2.4SDK  
2.5 SDK发布:某某直播+2.5SDK,某二次封装SDK+2.5SDK、某东+2.5SDK、某某音乐+2.5SDK 
3.1 SDK发布:某某新闻+3.1SDK,某某音乐+3.1SDK、某某微信+3.1SDK 等。

测试时机

【测试内容】

上面可以看到,每次更新接入新SDK的小伙伴还是比较多的,而我们主要测试两个功能点: 
1)接入是否成功 
2)接入后的SDK逻辑是否符合预期 
具体表现为,新的SDK在各种场景下是否能正常使用到内核,比如: 
首次安装三方,能共享宿主已有的内核 
共享A宿主内核后,若宿主升级到更高版本,三方能跟随升级; 
已共享A主内核后,若B宿主升级到更高版本,三方能跟随B升级 
下发强制下载后,三方能走强制下载 
强制下载后,若宿主有更高版本,三方能跟随升级,等等。

怎么样?

有没有蒙圈,but这还只是一小部分%>_<%

【人工测试】

合作方的接入时间是不定期的,一般来说。
步骤一:模拟三大宿主场景 
1)后台配置宿主内核版本 
2)宿主下载、安装 
3)确认宿主下载成功 
步骤二:配置三方后台 
第三步:结果检查 
1)读取三方内核版本号; 
2)判断是否符合预期。

【自动化的思考】

1、是否重要? 
是。前面有介绍,一旦SDK逻辑出问题,会导致TBS使用异常,X5占比降低。 
2、是不是重复工作? 
用例可复用。因为对于同个版本的SDK,不同app的接入逻辑是一致的,可复用(有人会问那为什么每个app都要测一遍?因为人家的接入对我们是不可见的,只有个打包的apk给过来,到底SDK的调用对不对,有没有问题,是未知的)。
3、结果是否可判断? 
是的。三方内核版本号保存在合作方目录下,可读取后跟预期结果对比。

【自动化过程分析】

自动化测试过程分析

我们对人工测试的各个步骤进行分析,统计上看,人工测试最大部分耗时集中在: 
宿主环境模拟耗时占比:70%以上 
宿主环境作为三方共享的前提条件,是非常重要的,一旦条件不符合预期,直接影响后面的测试结果。

方法一:模拟测试过程,后台配置—>宿主下载—>宿主安装—>共享检查。

实践结论:失败率高,不可行。
说明:出于用户的流量考虑,TBS宿主在逻辑上有后台流控,异常保护等诸多限制,反复测试情况下,经常出现无法下载、安装失败等问题,导致宿主环境异常,无法成功安装预设内核。

上一页12下一页


留言