测试人员日常接触的测试多为针对应用系统的测试,如果测试对象是开发平台呢?这里的开发平台指的是开发人员使用的开发框架,与有运行时的应用系统相比,它提供的服务是基础框架和插件,天然的不具有可运行系统的特征。开发平台的测试该怎么测呢?下文从接口测试方面介绍开发平台的测试思路。
首先来分析一下开发平台的接口测试与应用系统接口测试的区别。
开发平台与应用系统接口测试的区别
1.接口及其使用场景的区别
应用系统的接口包括用户与系统间的接口以及系统与系统间的接口,因有业务规则在内使其使用场景固定,功能明确。
而开发平台接口的使用场景则复杂的多,开发平台的接口是指其将某类功能封装后的jar包,插件提供给用户的API接口面向开发者的代码编写深度更深,提供的输入输出是一个java对象,或者是一个接口。
用户(开发者)需要根据自己的应用场景和目的去写代码实现接口里面的内容,并根据自己的目的将插件应用到不同的场景上,对平台提供的接口使用存在各种综合的复杂的情况。
2.接口测试流程的区别
应用系统接口测试流程一般是:获取接口文档-根据接口文档设计测试用例-通过接口测试工具进行测试。
而开发平台无运行时,不能直接发送报文进行测试,需要进行样例交易开发,在样例交易的方法中调用插件提供的接口进行测试,因此开发平台接口测试流程为:通过代码review进行测试设计-开发样例交易-获取样例交易接口文档-设计测试用例-通过接口测试工具进行测试。
在此有必要补充说明,样例交易的开发依托于插件接口的使用场景,由于插件提供给用户的开放接口数量不等,应用使用时用到的接口数量不等,因此每一个接口的用法和场景是无法穷举的。
样例交易设计思路以覆盖插件中的一个或多个接口方法为主,设计最基础的功能流程,以验证插件对外提供的接口服务可正常使用。
下面举例说明针对开发平台接口测试的流程。
举例说明开发平台的接口测试
1.测试分析:生成插件API说明
以线程池插件为例,该插件提供了线程池相关核心功能API,应用可根据需要将线程放入指定线程池中运行。
在测试分析阶段,通过代码review来对插件提供的功能和内部细节有整体了解,因为该插件在编码过程中是引用开源的线程池框架代码,因此异常场景不仅要考虑本线程池提供的异常,还应将源代码提供的异常处理也纳入进来。
整理后的插件API说明如图所示。
2.测试设计:生成测试场景
下一步是根据插件API清单进行测试设计,该插件的使用场景是用户在开发时调用该方法来添加自定义线程池,测试设计时通过场景法,等价类法,边界值法进行。注重对于方法、参数和异常的覆盖,具体场景分析及设计如下。
3.测试样例交易开发:生成接口文档
测试设计完成后,根据具体的使用场景及测试点,由开发人员编写接口方法使用的样例工程并进行部署。样例交易开发完成后,测试人员需要获取针对样例工程的接口文档,还是接上文的线程池插件,举例如下。
4.设计测试用例
针对线程池插件API测试交易的接口文档,设计如下测试用例。
5.通过工具进行接口测试
根据以上设计,结合接口文档,编写接口测试脚本,通过报文发送工具(JMeter)与样例交易工程进行交互,以验证返回值是否有效。以线程池插件API测试交易-001为例,过程如下:
step1:打开JMeter,默认创建一个测试计划,在测试计划上右键点击添加,创建一个线程组。
step2:创建一个Http Request,根据接口文档配置Http请求和报文头信息。
step3:设置检查点:添加断言。
step4:配置监听器:添加结果树。
step5:点击执行,执行完成后通过结果树查看结果。
作者:武博
来源:51Testing软件测试网原创