如何进行SDK的测试

一、sdk是什么

SDK,全称:software development kit。客户端SDK是为第三方开发者提供的软件开发工具包,包括SDK接口、接入文档、以及demo等。

可以在任何第三方应用中集成,使用方便。

二、开发需要提供给测试人员什么

1.提供如下内容:
   1). SDK包
   2). 相关文档,如:使用文档,接口说明
   3). 示例程序(demo)

2.一般来说,SDK包分为两种类型:
   1). *.jar:不带UI界面的SDK,只包含class文件和清单文件,不包含资源文件。如图片等所有res中的文件。
   2). *.aar:带UI界面的SDK,包含所有资源,class以及res资源文件全部包含,比如一些用于APP开发者方便开发分享界面的组件,会提供一些默认的UI界面(一般也会提供让用户自定义UI的功能)。

三、sdk测什么

1、客户端SDK测试的对象

客户端SDK测试,就是对提供给开发者工具包里面的内容进行测试,因此测试的主要内容有:

1) SDK接口和文档

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

2)SDK日志打印

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

3) 程序示例:demo

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

2、客户端SDK接口测试的类型

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

1) 功能测试

  需要保证SDK接口功能的正确性和完整性。客户端SDK接口测试和服务端接口测试类似,包括路径覆盖、场景覆盖、以及接口参数(入参/出参)覆盖。主要测试各种参数组合下的返回响应值,考虑数据是否缓存(一键登录的双卡双待手机出现过)与存储,是否有回调(电信一键登录出现的一个bug就是:网络请求中的系统方法没有给出回调导致的),对于请求成功或失败是否都能按预期进行处理。具体测试用例可根据需求设计,例如初始化接口

2) 兼容性测试

确保SDK兼容特定的设备平台,并与其他软件兼容,没有闪退崩溃现象。兼容测试的工作量通常是比较大的,可根据产品需求和市场现状对需要适配的设备机型做分析,覆盖的机型、系统版本、分辨率等进行优先覆盖排序。如果有客户端SDK覆盖多平台设备的,还要考虑多端消息数据包的互通。

3) 性能测试

保证SDK接口满足特定的性能需要,比如CPU占用、内存使用率、移动设备耗电量等。例如客户端登录的场景,登录时后台可能收到大量同步数据包的请求,那么对这些数据包的解析验证以及本地储存的性能就要进行保证,否则可能出现登录响应很慢甚至卡住的问题,所以测试时就需要考虑这个场景的性能。

4) 稳定性测试

确保业务场景在一定压力下,持续运行一定时间,接口功能和设备资源占用有无异常。可用monkey来进行测试。

5) 单元测试

单元测试,是为了测试某一个类的某一个方法是否能正常工作,而写的测试代码。以我们登录模块为例,使用的单测框架有:Mockito、powermock等。使用jacoco进行代码覆盖率统计。

6) 有关网络的测试(例如网络切换、sim卡)

保证在不同网络类型,不同网络环境下,SDK接口都能较好的处理。sim卡的切换,sim卡欠费,sim卡损坏等。

7) 接口测试

接口要验证输入参数各种输入情况是否能正确处理,返回响应值的正确性。见上面功能测试。

8) 安全性测试

有的sdk还需要进行安全性测试,对隐私数据的保护,访问权限的控制,SDK接口的安全性问题也是如此。

如何进行SDK的测试相关推荐

  1. android系统源码7.1.2_r8下载,编译,运行到nexus5X上,修改源码并编译SDK进行测试

    一,学习android系统源码下载,编译的作用 1,可以自己 DIY 自己的rom系统,从系统层面,宏观的加深理解 android系统 2,编译自己的 userdebug(原生root权限) rom, ...

  2. 1.8安装大华相机SDK及测试

    不同工业相机的sdk不同,可以到相应的官网下载,我使用的是大华相机 下载SDK: 官方下载地址:http://download.huaraytech.com/pub/sdk/ 我使用的是2.2.5的L ...

  3. 如何做Android第三方SDK准入测试

    最近在做客户端测试的过程中,自己负责的功能模块涉及到了第三方SDK的接入.准入测试,期间自己也踩了不少坑,所以特此写一篇文章总结一下. 先说一下SDK的概念吧,sdk就是软件工具开发包(外语全称:So ...

  4. xSense MTI C++ SDK编译测试

    测试环境 操作系统:ubuntu 18.04.5 LTS 64位.RK3399PRO-Linux 传感器型号:MTi-3.MTi-630 下载 在MTi知识库中下载MT软件套装,根据系统版本为下载的是 ...

  5. 中科院开源协会镜像站 Android SDK镜像测试发布

    Android SDK 镜像站 Android SDK镜像的介绍使用  http://www.androiddevtools.cn 镜像站地址   由于一些原因,Google相关很多服务都无法访问,所 ...

  6. 网易技术干货 | 云信Web SDK测试实践

    一.项目介绍 网易云信于2015年成立,为网易集团下属的内资公司,总部位于杭州.除资深老杭研外,团队核心90%来自硅谷.百度.腾讯.阿里.华为等大型企业/独角兽公司,平均行业经验10年以上,掌握业内领 ...

  7. 客户端SDK测试思路

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

  8. 移动广告SDK测试思路

    什么是移动广告SDK 移动广告SDK是嵌入到宿主APP中的一个jar或aar包,其提供了一系列API供开发者调用.这些API可以进行广告请求.广告打点等行为,可以对广告进行渲染.开发者只需要关注自身A ...

  9. API和SDK是什么?有什么区别?如何测试SDK?一篇文章统统告诉你!

    一.API: 概念:API是指一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节. 二.SDK: 概念:软件开发工具包( ...

最新文章

  1. 技术大咖齐聚爱数智慧人机交互技术论坛 | CNCC2021
  2. 图像处理与计算机视觉:基础,经典以及最近发展(5)计算机视觉
  3. 「Python-Bug」错误requests.exceptions.proxyerror: httpsconnectionpool解决方法
  4. 学习c++的优秀博客(转)
  5. 《OpenGL ES应用开发实践指南:Android卷》—— 3.7 练习
  6. day 5 名片管理系统-文件版
  7. 20项任务全面碾压BERT,CMU全新XLNet预训练模型屠榜(已开源)
  8. HDU 4336 Card Collector:状压 + 期望dp
  9. loadrunner11中文版破解文档+录制脚本(图/文)
  10. 笔记本电脑显卡性能排行榜
  11. ceph纠删码性能测试
  12. 使用HttpClient和OkHttp实现模拟登录方正教务系统
  13. 当前服务器更新维护公告,【已开服】1月17日全部服务器更新维护公告
  14. html发送邮件通过Mailto简单实现-web前端教程
  15. Web前端面试指导(四十):CSS3有哪些新特性?
  16. MySQL中的级联删除与更新策略on delete restrict on update restrict
  17. 学会NI-DAQmx10个函数,解决80%的数据采集应用问题
  18. VHDL设计——电梯控制器模块
  19. 关系型数据库和非关系型的区别
  20. 一篇读懂,关于30多岁程序员转行的困惑与方向

热门文章

  1. 自制小爱音箱控制氛围灯(小爱音箱+Arduino+RGB灯条+点灯科技)
  2. 付费才能玩 微软为Win 10确立全新商业模式
  3. 关于远程服务器如果连接断开的话,服务器上运行的程序会被杀死的问题
  4. 《刘慈欣的思想实验室》笔记
  5. IPX-互联网分组交换协议简介
  6. Android studio实验体会,Android Studio 使用心得体会
  7. 文献计量三大定律之一---洛特卡定律及普赖斯定律
  8. android更新后出现的错误,[android]dgt gtd更新之后同步出现错误,警惕! | 古意人...
  9. 深圳计算机维修工考试,深圳职业技能鉴定计算机维修工.doc
  10. 本校扎堆报考,但高分并不是本校生!武汉大学网络空间安全学院