• 如何进行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接口的安全性问题也是如此。

  • 相关阅读:
    OSGi系列 Apache Felix初体检
    OSGi系列 我理解的OSGi
    OSGi系列 开发服务端Web应用之一:Servlet实现
    10 Productivity Tips
    在DotNetNuke中通过修改ascx文件源码自定义界面
    DNN4.3.3的版本开发的模块.没登陆DNN的情况下,按钮的事件有时候执行,有时候怎么点都不执行
    DotNetNuke(DNN)网站发布、部署、迁移和重建
    使用3dmax 9.0导入Illustrator 文件时提示"Line in file exceeds 255 characters"
    ”A page can have only one serverside Form tag“错误
    DotNetNuke出错:“Runat 属性必须具有值 Server(The Runat attribute must have the value Server Error)"
  • 原文地址:https://www.cnblogs.com/winson-317/p/9896645.html
Copyright © 2020-2023  润新知