开放平台是提供安卓游戏市场应用分发平台,平台免费提供游戏应用收录,海量资源助您发展,获取无线商机,无论您是个人还是企业都可以获得我们更专业的产品运营指导和帮助。为了用户能够快速的接入搜狗游戏开放平台提供的各项功能,平台将服务已SDK的形式进行提供,包括网游SDK、单机SDK等。由于SDK被应用到上千款游戏中,所以SDK的质量控制尤为重要。
目前在SDK的开发及测试过程中,配合模式较为简单直接:
- 开发:开发将修改之后的SDK在本地完成编译打包工作,并已Demo的方式提供给测试进行验证。
- 测试:测试人员根据Demo中提供的各项功能入口对SDK进行相应的功能测试。
目前的工作配合模式中,存在较多的问题与风险,其中主要包括:
- 开发本地打包且无版本控制,在开发及测试过程中提测的SDK无任何版本区分,进而导致测试无法对Bug进行有效的管理,例如测试发现已关闭的Bug又重新出现、测试代码被达到提测包中等等。
- 由于测试是对开发提供的Demo进行验证,故仅能通过黑盒测试的方式来保证表层功能的正确性及兼容性,因此在测试质量控制方面做得非常有限。例如程序的性能、耗电量、稳定性等问题的发现是没有有效的手段。
- 这样的配合模式长期以往,测试工程师的能力无法得到大幅提升,团队也无法获得长远的发展。
新测试策略的思考:
- 我们对整个Demo+SDK进行深入的分析,将其分为4层,如下图:
- 第1层,外围Demo提供的具有图形化界面的各个功能;
- 第2层,SDK对外提供各种功能的接口;
- 第3层,SDK内部各功能之间互相通讯所使用的接口;
- 第4层,底层基础的公共函数。
- 针对以上4层,我们制定了一套全新的测试策略:
- 针对第1层,我们引入基于UI的自动化测试解决方案,通过模拟用户的实际操作,对功能及UI进行验证,进而提高测试执行的效率。
- 建立SDK的评测体系,增加包括性能、稳定性、耗电量、流量、流畅度等的评测。
- 针对SDK的第2、3、4层,我们抛弃了Demo,直接对接口进行验证,编写基于单个接口或接口与接口之间相互调用的测试用例,通过在代码工程内搭建测试框架并执行测试用例,从而进一步的提高了测试的质量和效率。
- 引入持续集成,通过对开发的代码进行监控,在Jenkins中完成自动构建及测试用例执行工作,并且产出相应的报告。
- 引入覆盖度检测工具,通过对测试执行情况进行度量,产出一份代码覆盖情况的分析报告,从而协助测试提高测试的覆盖度。
- 对经过测试完毕后发现的bug进行收集、总结、分析,通过反向输出,对测试策略进行相应的调整。
预计的收益:
- 横向,扩大了SDK的产品质量保证范围,调整为自动化的黑盒功能正确性测试+完全的评测体系。
- 纵向,通过引入接口及单元测试,很多问题都可以在源头即被发现并解决,有效的缩短了项目发版周期。
- 人员及团队,测试工程师的能力得到有效的提升,在执行该测试策略阶段会遇到并解决各种各样的问题,通过实战提高了测试工程师的能力,团队也得到了很好的发展。