SDK介绍及相关功能测试

本文首发于:行者AI

对于游戏测试来说,SDK是打开游戏后弹出的登录窗口、是游戏设置中的切换帐号、是进行充值时调起的支付窗口、是后台查看打点数据时的传入接口,本文将结合游戏对SDK及相关功能测试进行介绍。

1. 什么叫SDK?

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

2. 游戏测试与渠道SDK

2.1 游戏内的SDK

那么游戏测试该如何理解SDK,以及在测试过程中该如何对渠道SDK进行测试呢?下面我会进行一个详细的说明。

首先在点击图标进入游戏后,在登录帐号阶段,我们就会应用到SDK,游戏在上架时根据下载商城不同会有不同的渠道,例如小米、B站、华为等,对于各个不同的渠道,他们的SDK也是不同的,八仙过海,各显神通,最终在登录、支付、显示等各个方面都会有所区别。


帐号登录,在不同的游戏上有不同的显示,例如腾讯游戏的QQ登录方式、微信登录方式;网易游戏的邮箱登录方式、帐号登录方式;海外游戏的Google登录方式、Facebook登录方式等等,都是通过点击界面上的登录方式,然后调起SDK的登录窗口,才可以进行帐号密码的输入,最终进入游戏,下面是一些不同渠道的SDK登录显示。


那么既然不同渠道的SDK大不相同,不同渠道的SDK在测试时也要分别进行测试,以保证游戏功能内容的完整性,不过各渠道间也是基于同一个母包接入的不同SDK,按理来说除SDK外,其他功能应该没什么差别,所以在进行测试时只进行功能上的冒烟测试,减少无谓的工作,不用浪费宝贵的时间~

2.2 SDK测试点

SDK的测试,其实对于每家公司来说都是不相同的,基于自己公司的SDK当然要放在测试的首位,需要将SDK内整合的所有功能进行全量测试,包括登录、登出、切换帐号、忘记密码、游客登录、防沉迷相关、实名相关、未成年相关、注册相关等全部进行测试;对于其他渠道包的渠道SDK而言呢,在首次接入时也需要将上述全部功能进行测试,而在后续的版本升级维护中,渠道SDK的功能变更在渠道方会有对应的人员来进行测试,我方则需要着重对付费及各种登录方式进行关注,其他一些防沉迷、实名等在有需求变更时也需要进行测试来达到二次保障。

2.3 SDK支付

付费对于一款游戏来说是重中之重,所以在此我单独将这一块分开来说,一款游戏是否成功、能否盈利从游戏付费上面就可以体现,那么付费和SDK之间又有什么联系呢?在游戏中进行支付时,点击购买游戏中的商品,根据SDK的不同,调起的支付页面也是不同的。


根据这些不同的页面和支付方式,我们需要一一进行测试,例如:支付宝支付、微信支付、银联支付、QQ钱包支付、渠道币支付等,付款后查看物品是否到账、扣钱是否正确、商品价格是否正确、商品名称显示是否正确、购买获得的物品能否使用等。

2.4 SDK接口测试

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

兼容性测试:保证SDK兼容特定的设备平台,并与其他软件兼容。包括横屏游戏、竖屏游戏、各种异形屏的手机及各种安卓、IOS版本号能否正常使用。SDK兼容性测试需要考虑下对模拟器的支持,因为很多开发者可能就是先在模拟器上开发。客户端SDK覆盖多平台设备的,还要考虑多端消息数据包的互通。

网络相关测试:保证在各种不同的网络环境下,SDK可以正常的接发消息,也可以叫做弱网测试,类似在2G、3G、4G、wifi、无网环境下进行SDK的相关功能,保证功能可以正常使用,可以与市面上的竞品游戏进行对比,查看效果。

2.5 数据埋点

对于一款游戏来说,有成千上万甚至数百万的玩家,那么怎么来计算他们的充值方式及充值金额呢?这里就需要用到SDK的接口,本来支付就是集成于SDK内的一个功能,那么通过他的接口来进行统计肯定是最方便不过的啦~

在测试上,需要注意的点就是要保证数据的准确性,例如充值的平台、金额、时间、订单数、是否使用了优惠卷等等,要保证这些数据可以准确的被后台接收,如果在这方面出现了问题,那可是很严重的哦,所以一定要保证仔细,不能马虎!

3. 总结

总之,手游与SDK的关系是密不可分的,在测试中也是一样,SDK的测试属于重中之重,如果这方面出了问题会影响到用户的登录及付费,所造成的影响是无法承受的,而且在每次版本更新时,SDK几乎都会进行升级迭代,更可能导致出现各种各样的问题,这个时候最需要测试同学仔细检查,以防出现问题影响到线上玩家。


PS:更多技术干货,快关注【公众号 | xingzhe_ai】,与行者一起讨论吧!

原文地址:https://www.cnblogs.com/xingzheai/p/14569230.html