一文带你读懂SDK测试

 🔥 交流讨论:欢迎加入我们一起学习!

🔥 资源分享耗时200+小时精选的「软件测试」资料包

🔥 教程推荐:火遍全网的《软件测试》教程  

📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

一.什么是SDK

SDK,全称:software development kit, 软件开发工具包。

软件开发工具包一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。

软件开发工具广义上指辅助开发某一类软件的相关文档、范例和工具的集合。

软件开发工具包是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合,一般而言SDK即开发Windows平台下的应用程序所使用的SDK。它可以简单的为某个程序设计语言提供应用程序接口API的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。一般的工具包括用于调试和其他用途的实用工具。SDK还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。

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

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

二:SDK和API的区别

sdk和api的区别有以下几点:

1、组成不同:

sdk软件开发工具包括广义上指辅助开发某一类软件的相关文档、范例和工具的集合。API(应用程序接口)是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。

2、用途不同:

api目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。软件开发工具包一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具。

3、内容不同:

为了使用API函数,就要有跟API所对应的 .h和 .lib文件,而SDK正是提供了一整套开发Windows应用程序所需的相关文件、范例和工具的“工具包”。SDK包含了使用API的必需资料,所以也常把仅使用API来编写Windows应用程序的开发方式叫作“SDK编程”。

三、SDK要测什么

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

1) SDK接口和文档

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

2)SDK日志打印

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

3) 程序示例:demo

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

四、SDK测试类型

根据需求和开发平台不同,会有以下常见的测试类型:

1、功能的测试

主要是场景覆盖和接口参数覆盖。主要测试各种参数下组合下的返回值。

考虑数据缓存和存储

考虑是否有回调

考虑对请求成功、或失败的处理结果与预期一致

2、兼容性的测试

根据产品需求是市场排行,确保兼容选取的设备机型、版本、分辨率等,并兼容其他软件

考虑模拟器的支持

覆盖多平台的,还要考虑多端消息数据包互通

3、性能方面的测试

满足特定的性能指标(CPU、内存、耗电量、流量等)

特定场景性能:比如登录需要同步大量的数据包和离线消息,需要考虑对数据包的解析和本地储存的性能

4、稳定性方面的测试

业务场景在一定压力下,持续运行一段时间,接口功能和设备资源占有无异常。

5、弱网环境测试

对弱网,及其他不同类型网络和不同网络环境,SDK接口均应有较好的处理

对比依据是新老版本、竞品效果

6、安全性方面的测试

隐私数据的保护、访问权限控制、用户服务鉴权等

五:如何测试

1、了解业务流程,确定开放给开发者都有哪些接口

2、了解SDK用到的所有协议,每个协议中字段的意义和作用以及server端处理逻辑

3、接口要校验输入参数各种输入情况是否能正确处理,返回值的正确性,是否有数据缓存到本地,检查是否有回调,如果有对于请求成功、请求失败(包括无网络、服务器返回非200错误代码)是否都有调用

4、测试中对每个请求都应该抓包测试,查看请求的字段、参数值、返回值是否正确

5、对于协议中必传字段,SDK中是否校验为空的情况

6、查看是否存在多发、少发请求的情况

7、对于异步请求的结果在其他地方(A类中)会用到的情况,检查是否存在网络较慢情况下,未完成请求数据为空时A类就用到数据

最后我邀请你进入我们的【软件测试学习交流群:785128166】, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路

作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:程序员二黑】自提!

  • 15
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
"Faster"是一个英文单词,它的意思是更快的意思。在不同的背景下,它可以有不同的解释和应用。 在日常生活中,"faster"通常表示一个行动或者动作的速度比以往更快。例如,当我们走路、跑步、开车或者骑自行车时,我们可以尝试跑得更快或者骑得更快。这个词还可以用来形容物体的移动速度,比如火车、飞机或者摩托车的速度。此外,"faster"也可以用来描述人们的反应速度、思维速度或者学习速度等。 此外,在科技和互联网领域,"faster"也具有很重要的含义。随着科技的不断进步,人们追求更快的处理速度和传输速度。例如,我们常常会听到"更快的互联网连接"、"更快的计算机处理速度"、"更快的数据传输速度"等等。这些技术进步使得信息的获取和交流变得更加高效和便捷。 然而,在追求速度的同时,我们也要权衡速度和其他因素之间的平衡。有时候,过于追求速度可能会来其他的负面影响,比如对安全性和质量的妥协。所以在实际应用中,需要综合考虑各种因素来确定速度的优先级。 总之,"faster"是一个多功能的词,可以用来描述日常生活中的行动速度,物体的移动速度,人们的思维或者学习速度,以及科技领域的处理速度和传输速度等等。同时,我们也要在追求速度的过程中,平衡各种因素并合理使用这个词。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值