CODING DevOps 线下沙龙回顾二:SDK 测试最佳实践

讲师:潘志刚
声网质量效能部门负责人,超过 14 年服务器、移动终端、音视频编解码以及汽车电子等跨行业从业经历,负责建立测试基础架构和自动化测试方案,主持搭建持续集成测试生态体系。现任声网质量效能部门负责人,负责推进质量和效能持续优化,专注技术创新赋能团队软件保证,通过软件和硬件的高效结合,探索产品交付的最优解决方案。

前言

SDK 测试不同于 APP 测试,不仅要站在终端用户角度考虑问题,还需要站在 APP 开发者的角度考虑问题。面对不同的行业需求,如何保证质量固若金汤,这是一条探索未知的赛道。本期推送将为大家带来声网研发效能负责人潘志刚的《SDK 测试最佳实践——打造质量保证的一体化应用平台》,分享一体化应用平台的演变以及如何整合基础能力,保证测试和交付的高效执行,提升质量效能。

1.0 GUI Driven Test

SDK(软件开发工具包)是声网对外主要的产品交付,是用于为特定软件包、软件框架、硬件平台以及操作系统等创建应用软件的开发应用的集合,跟传统意义上的 APP、外围应用或者最终客户感知到的产物是不一样的,对于最终端用户来说是无形的。

早期为了保障 SDK 测试的质量,测试人员需要根据 SDK 交付的 API 设置 GUI demo。比如在一个实时的互联网通讯界面,需要用户加入到对应频道进行相应的音频和视频通讯,在这样的界面里会设计对应 Button、下拉列表,或者小的图标,每一个对应的元素体现对应接口实现能力。如下图所示,最下面 4 个 Button 分别是麦克风、摄像头、挂机按纽,对应 API 接口 enableLocalAudio、enableLocalVide、startScreenCapture 和 leaveChannel,右上角看到信号条图标是获取 onNetworkQuality 接口。通过这样简单的 Demo,测试人员设计相应的 test case,确保每一个接口可以正常调用,基于此来保证初期迭代里交付的质量标准。

CODING DevOps 线下沙龙回顾二:SDK 测试最佳实践

然而随着交付平台越来越多,交付需要基于桌面端、移动端、web 端,桌面端包括 Windows,macOS 和 Linux,移动端包括安卓和 ios,越来越多平台设计相应的 demo 势必需要测试人员投入更多资源,同时 API 在不断增长。因此自动化是必然趋势。

2.0 GUI Demo Test Automation

2.0 阶段是 GUI Demo Test Automation,开发人员将平台进行了分层。

CODING DevOps 线下沙龙回顾二:SDK 测试最佳实践

如上图,上面的 iOS、OSX、Android 等是对外交付的平台,下面是对应平台用到的第三方开源工具,如 Appium 和 Selenium,中间这一层做相应分装,其目的在于提高测试效能,用一套 case 覆盖到所有交付的平台。实现 70% 的自动化程度已经能够让团队节约一半的时间,极大地提高了测试效率。

3.0 API Demo Test

3.0 阶段进入到 API Demo Test。声网的测试主体是 SDK,SDK 关注点在于 API 功能实现、平台适配、面向开发者、性能功耗包体积,集成构建打包;而 APP 关注业务功能、用户交互、终端用户、界面操作和程序安装。针对 SDK、APP 两种完全不同的测试重点,声网重新设计了一套针对 SDK 的自动化测试框架——Wayang Testframework。

CODING DevOps 线下沙龙回顾二:SDK 测试最佳实践

Wayang 的原理来自印度尼西亚的一种木偶戏,前端是一个木偶,后台表演者通过线和灵巧的手控制前端木偶去做相应的动作。在这样的一个体系里有三个不同的对象,左边的对象是 test client,中间是 test server,右边是对应的 test demo。Test client 相当于木偶戏幕后的表演者,需要明确自己的测试需求是什么,设计相应的 test case;test demo 相当于前端的木偶,会根据测试端发出持续请求做相应行为调用。所有的主动调用以及被动调用都是基于代码输出。在整个体系里面所有的接口调用和相应回调都是基于代码终端的输出,无需关心界面的实现。和自动化 2.0 与手工 1.0 相比,目前每天可以完成一百个以上 API 测试,自动化测试覆盖率能够超过 80%。

4.0 AIO

在完成 Wayang 实践后,声网仍在思考是否能够有进一步的优化实践。随着产品交付迭代周期越来越紧,以及更多的需求介入,从测试角度来说,光考虑测试环节是不够的,需要把整个产品交付纳入思考范围之内——包括前期构建、打包、测试、交付。因此,这里引入了 AIO 的理念。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zypyys.html