什么是移动广告SDK

移动广告SDK是嵌入到宿主APP中的一个jar或aar包,其提供了一系列API供开发者调用。这些API可以进行广告请求、广告打点等行为,可以对广告进行渲染。开发者只需要关注自身App的开发,广告逻辑全部交给广告SDK实现。广告SDK和应用之间关系是什么呢?以公司内部广告SDK为例,如下图所示,应用APP通过调用广告SDK接口,进行广告的展示等操作。

广告SDK测试对象有哪些?

广告SDK是为第三方开发者提供的软件开发工具包,包括接入文档、SDK接口、以及Sample等。因此测试的主要内容有:

01

接入文档

SDK面向的是开发者,正确引导开发者接入SDK是必要的。

02

SDK接口

SDK的核心内容,也是主要测试对象。

03

SDK日志

对开发者来说,SDK接口里面的具体实现是透明的,当上层调用时遇到问题,只能依赖SDK打印的日志来定位分析。所以SDK日志是否完备,是否有助于解决问题,对应用开发者、测试人员和SDK提供方来说都很重要。

04

Sample

Sample是SDK提供方用来示例如何调用接口实现具体的功能,也可以作为开发者直观感受SDK接入效果。

广告SDK接口测试类型有哪些?

广告SDK根据需求和开发平台不同,可能需要选择不同的测试类型对SDK接口进行测试,常用的测试类型有:

  1. 功能测试

需保证SDK接口功能正确性和完备性,包括场景覆盖和接口参数覆盖等。主要测试在不同场景下功能逻辑是否按照预期实现,返回开发者是否有回调且顺序是否正确。

  1. 兼容性测试

确保SDK兼容特定的设备平台,并与其他软件兼容,没有内存泄漏和闪退崩溃现象。

兼容测试的工作量通常是比较大的,可根据产品需求和市场现状对需要适配的设备机型做分析,覆盖的机型、系统版本、分辨率等进行优先覆盖排序。

  1. 网络相关测试

在不同网络环境和类型下,SDK接口都能较好的处理。在涉及到下载和视频广告时,弱网通常通过Fiddler/Charles工具模拟;网络切换、sim卡欠费等情况也是关注重点。

  1. 安全性测试

随着国家对隐私数据保护,访问权限的控制,用户服务鉴权等越来越严格,安全测试也是重要部分,例如移除imsi和android ID等字段,增加下载类广告隐私信息协议等。SDK接口的安全性也如此,发版前需提交到安全部门进行安全审核。

  1. 稳定性测试

确保场景在一定压力下,持续运行一定时间,有无异常。广告SDK在信息流场景中,保证广告展示和点击时设备资源有无异常,正在通过Maxim进行测试。

  1. 性能测试

保证SDK接口满足特定的性能需求,比如资源占用、移动设备耗电量等。在广告SDK开屏广告请求时长过长时会导致应用启动慢或者卡顿,所以测试时需要考虑这个场景性能。

SDK功能测试

上述诸多测试类型中,功能测试先行。在进行广告SDK测试前,需要全面的了解测试对象的细节:

  1. 了解业务流程,结合API接口文档和开发指南,理顺接口的使用场景和调用关系;

  2. 了解SDK协议,理解协议中字段的意义;

  3. 了解各接口或协议返回码,分析对应的场景;

  4. 了解开发实现细节,可以绘制成图,便于测试分析和分层验证;

对广告SDK进行测试,可以采用的分层测试方式由上至下依次有:基于Demo ->基于SDK接口调用 ->基于代码

1.基于Demo

广告SDK提测时,通过Demo模拟开发者接入,并覆盖对应的接口和业务场景。测试同学根据Demo界面上广告类型很容易mock出自己想要的测试广告,这种方案优点是上手快且较常用;缺点是对业务场景类型覆盖有限,发现问题时需首先判断是否是Demo问题,为满足上述需要,需投入较大精力开发维护Demo。此方案适用于手工或者UI层自动化测试。

2. 基于Demo的UI打点自动化测试

根据广告SDK的特性,有大量重复工作在于打点数据校验,并且SDK与服务端交互的协议稳定。同时有多个SDK业务,从自身业务出发,形成SDK自动化测试解决方案,结构图如下:

827×468 27.4 KB

基于以上方案,大大节省了打点数据校验工作的人力和时间。

3. 基于SDK接口调用

随着第三方SDK迭代频繁,面临着回归工作量大,不同媒体的定制需求,根据以上问题探索出SDK接口自动化测试方法。

①. 首先将待测SDK集成到demo中,其内置一个HttpServer

②. demo启动时反射扫描待测SDK的类

③. 发送HTTP请求到demo的server中,server反射调用SDK对应的接口

④. 然后通过自动化方式测试在各种参数组合覆盖下接口的返回值做断言以判断健壮性。以下是结构图:

850×614 43.7 KB

基于接口调用自动化测试,在测试效率和人力的收益很大。

4. 基于代码

业务压力增加导致已没有充足的人力对每次的大小提测都进行全量回归;其次应对不同的接入媒体而分为好多渠道包,各个渠道包间的代码相似度很大,如果选择性测试,就需要测试人员对测试代码进行准确性的把握。基于上述原因,我们在业务中边摸索边实践边丰富,便有了精准测试平台。平台分为以下几个端:

**①. server端:**核心功能是实时计算以及数据整理

**②. plugin端:**核心功能是原始数据收集以及非实时计算,主要用于流水线中

**③. cli-server端:**核心功能是原始数据采集,主要用于java开发的aspring服务

**④. cli-android端:**核心功能是原始数据采集,主要用于java开发的android应用

方案图如下:

业务中应用50+个版本中,在用例反推和提高开发质量等方面有重要价值。

本文主要介绍了广告SDK测试的一些思路,希望能给大家提供一些参考。如果您有关于SDK的其他测试方法,欢迎留言交流。

移动广告SDK测试思路相关推荐

  1. 客户端SDK测试思路

    本文来自网易云社区 作者:万春艳 是什么 客户端SDK是为第三方开发者提供的软件开发工具包,包括SDK接口.开发文档和Demo示例等.SDK和应用之间是什么关系呢?以云信即时消息服务为例,如下图所示, ...

  2. 渠道广告联盟SDK接入思路总结

    前言 1.国内安卓硬核渠道,例如华为.OPPO.ViVo.小米.4399都有自家的广告联盟SDK,要到对应开放平台下载对应广告SDK. 2.其他渠道例如应用宝.TapTap.好游快爆.爱奇艺.233. ...

  3. 【软件测试工程师】App 应用测试方法以及测试思路

    分析三种主流的移动 App 类型,并给出和普通web测试不同的地方,给出测试的思路,并给出部分场景组合. 移动端测试还是 PC 端测试,业务测试其实都属于 GUI 测试的范畴,所以基本的测试思路,比如 ...

  4. App 应用测试方法以及测试思路……

    分析三种主流的移动 App 类型,并给出和普通web测试不同的地方,给出测试的思路,并给出部分场景组合. 移动端测试还是 PC 端测试,业务测试其实都属于 GUI 测试的范畴,所以基本的测试思路,比如 ...

  5. 穿山甲广告SDK手动初始化解决方案

    1.序言 最近广告小游戏对隐私协议卡的比较严,taptap官方提出整改建议是,在用户同意隐私协议后在加载穿山甲的广告.研究了一下: 2.大概思路是 修改原本的 UnionApplication.jav ...

  6. App 应用测试方法以及测试思路

    分析三种主流的移动 App 类型,并给出和普通web测试不同的地方,给出测试的思路,并给出部分场景组合. 移动端测试还是 PC 端测试,业务测试其实都属于 GUI 测试的范畴,所以基本的测试思路,比如 ...

  7. 移动app应用测试方法与测试思路(德鲁)

    1 三种移动端产品类型的介绍 2 移动端应用的测试其自身特点,和其他传统测试又有一些独特 3 测试方法和思路. 4 5 移动端应用又可以进一步细分为三大类: 6 Web APP 指的是移动端的Web浏 ...

  8. 百度android广告sdk下载,IS_Freedom

    美数广告 SDK 接入流程 1.嵌入广告SDK 将 sdk-android-demo/app/libs 中的 meishu-sdk_xxx_release.aar.open_ad_sdk_xxx.aa ...

  9. 解读广告SDK工作机制,保护App自身安全

    SDK,APP开发者应该都很了解,开发者们或多或少都接触或安装过,而提到SDK安全性这个问题,开发者们的情绪可能都不会平静,这其中的利害关系确实有点儿复杂. 一方面,SDK方便开发者产品设计,帮助开发 ...

最新文章

  1. 【控制】《多智能体系统一致性与复杂网络同步控制》郭凌老师-第4章-具有扰动的混沌系统主-从同步
  2. (HDU4324)判断一个图中是否存在两点的出度相同
  3. 前端学习(1928)vue之电商管理系统电商系统之美化一层循环的UI结构for循环ui美化
  4. odoo 的字段。orm对象
  5. 阿里巴巴开源技术汇总:115个软件(四)
  6. 5-5array统计tcp连接状态数量
  7. 使用Calendar增加日期
  8. 963B:Destruction of a Tree
  9. win7下的的IVF2011+VS2010以及OpenMPI的安装与配置
  10. python3 爬取网页表格例子
  11. win10应用及应用商店闪退有效解决办法
  12. 74cms|骑士cms|开源招聘系统,数据结构
  13. Windows--下载系统镜像
  14. 深度学习实战06-循环神经网络(RNN)实现股票预测
  15. java中SSM环境搭建
  16. OSError: exception: access violation writing,
  17. MCU踩坑记录:SWD复用为GPIO使用,Jflash连不上的问题
  18. 算法基础知识总结(基础算法)
  19. 产品经理做什么事情?
  20. matlab app designer中使用带计时器的对话框

热门文章

  1. 农业大田作物智慧种植科研
  2. python编程15章_python核心编程2 第十五章 练习
  3. 美妆科技:改变美容行业的未来
  4. 番茄钟怎么调_番茄钟的使用方法与使用体会
  5. 转:怎么判断自己在不在一家好公司?
  6. Stable Diffusion 2.0来了,皮卡智能AI早已“抢先”优化升级
  7. 《火焰纹章风花雪月》能力属性和战斗计算公式研究
  8. Devops实现之jenkins (二)
  9. HashMap常见面试题汇总:建议初步了解源码后再细品
  10. 4. 假设一年期定期利率为 3.25%,计算一下需要过多少年,一万元的一年定期存款连本带息能翻番?