• 12
  • 12
分享
  • 开发平台的接口测试流程及案例演示——软件测试圈
  • 曼倩诙谐 2021-05-08 09:36:45 字数 1563 阅读 1831 收藏 12

  测试人员日常接触的测试多为针对应用系统的测试,如果测试对象是开发平台呢?这里的开发平台指的是开发人员使用的开发框架,与有运行时的应用系统相比,它提供的服务是基础框架和插件,天然的不具有可运行系统的特征。开发平台的测试该怎么测呢?下文从接口测试方面介绍开发平台的测试思路。

  首先来分析一下开发平台的接口测试与应用系统接口测试的区别。

  开发平台与应用系统接口测试的区别

  1.接口及其使用场景的区别

  应用系统的接口包括用户与系统间的接口以及系统与系统间的接口,因有业务规则在内使其使用场景固定,功能明确。

  而开发平台接口的使用场景则复杂的多,开发平台的接口是指其将某类功能封装后的jar包,插件提供给用户的API接口面向开发者的代码编写深度更深,提供的输入输出是一个java对象,或者是一个接口。

  用户(开发者)需要根据自己的应用场景和目的去写代码实现接口里面的内容,并根据自己的目的将插件应用到不同的场景上,对平台提供的接口使用存在各种综合的复杂的情况。

  2.接口测试流程的区别

  应用系统接口测试流程一般是:获取接口文档-根据接口文档设计测试用例-通过接口测试工具进行测试。

  而开发平台无运行时,不能直接发送报文进行测试,需要进行样例交易开发,在样例交易的方法中调用插件提供的接口进行测试,因此开发平台接口测试流程为:通过代码review进行测试设计-开发样例交易-获取样例交易接口文档-设计测试用例-通过接口测试工具进行测试。

  在此有必要补充说明,样例交易的开发依托于插件接口的使用场景,由于插件提供给用户的开放接口数量不等,应用使用时用到的接口数量不等,因此每一个接口的用法和场景是无法穷举的。

  样例交易设计思路以覆盖插件中的一个或多个接口方法为主,设计最基础的功能流程,以验证插件对外提供的接口服务可正常使用。

  下面举例说明针对开发平台接口测试的流程。

  举例说明开发平台的接口测试

  1.测试分析:生成插件API说明

  以线程池插件为例,该插件提供了线程池相关核心功能API,应用可根据需要将线程放入指定线程池中运行。

  在测试分析阶段,通过代码review来对插件提供的功能和内部细节有整体了解,因为该插件在编码过程中是引用开源的线程池框架代码,因此异常场景不仅要考虑本线程池提供的异常,还应将源代码提供的异常处理也纳入进来。

  整理后的插件API说明如图所示。

1-1.png

  2.测试设计:生成测试场景

  下一步是根据插件API清单进行测试设计,该插件的使用场景是用户在开发时调用该方法来添加自定义线程池,测试设计时通过场景法,等价类法,边界值法进行。注重对于方法、参数和异常的覆盖,具体场景分析及设计如下。

1-2.png

  3.测试样例交易开发:生成接口文档

  测试设计完成后,根据具体的使用场景及测试点,由开发人员编写接口方法使用的样例工程并进行部署。样例交易开发完成后,测试人员需要获取针对样例工程的接口文档,还是接上文的线程池插件,举例如下。

1-3.png

  4.设计测试用例

  针对线程池插件API测试交易的接口文档,设计如下测试用例。

1-4.png

  5.通过工具进行接口测试

  根据以上设计,结合接口文档,编写接口测试脚本,通过报文发送工具(JMeter)与样例交易工程进行交互,以验证返回值是否有效。以线程池插件API测试交易-001为例,过程如下:

  step1:打开JMeter,默认创建一个测试计划,在测试计划上右键点击添加,创建一个线程组。

1-5.png

  step2:创建一个Http Request,根据接口文档配置Http请求和报文头信息。

1-6.png

1-7.png

  step3:设置检查点:添加断言。

1-8.png

  step4:配置监听器:添加结果树。

1-9.png

  step5:点击执行,执行完成后通过结果树查看结果。

1-10.png


作者:武博   

来源:51Testing软件测试网原创

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   随着互联网技术的飞速发展,业务的开展方式更加灵活,应用系统更加复杂,也因此面临着更多的安全性挑战。安全测试是在应用系统投产发布之前,验证应用系统的安全性并识别潜在安全缺陷的过程,目的是防范安全风险,满足保密性、完整性、可用性等要求。  日常测试过程中经常遇到开发同事来询问一些常见的配置型漏洞应该如何去修复,为了帮助开发同事快速识别并解决问题,通过总结项目的安全测试工作经验,笔者汇总、分析了应用系统的一些常见配置型漏洞并给出相应的修复建议,在这里给大家进行简单的分享。Cookie缺少HttpOnly属性漏洞描述  Cookie中的HttpOnly属性值规定了Cookie是否可以通过客户端脚本...
            1 1 4250
            分享
          •   我们总说汽车软件不同于互联网软件,要区别对待,也有很多说法,比如:  ·汽车软件的实时性要求更高  · 汽车软件的安全性要求更高  · 汽车软件与硬件耦合度更高  · 汽车软件所用编程语言不同  · 汽车软件操作系统不同  · 汽车软件的开发环境与工具链不同  ......  这些都没错,但又不怎么对。  一来是,在座舱、智驾、后台软件大举进入以及电子电气架构不断演化后,汽车软件的内涵已经有了比较大的扩展。  二来呢,这些都属于技术特性,技术差异点只能说明汽车的“软件”和互联网的“软件”,而非“汽车软件”与“互联网软件”。  我们希望能从整...
            0 0 122
            分享
          •   中国台湾《联合报》称:经多方评比后,台积电最终决定将最先进的 1nm 制程代工厂选址定在嘉义科学园区,总投资额超万亿新台币(IT之家备注:当前约 2290 亿元人民币)。  对于这一传闻,台积电表示,选择设厂地点有诸多考量因素,台积电以中国台湾地区作为主要基地,不排除任何可能性,也持续与管理局合作评估合适的半导体建厂用地。  消息人士透露,台积电 1nm 制程将落脚嘉义科学园区,台积电已向相关管理局提出 100 公顷用地需求,其中 40 公顷将先设立先进封装厂,后续的 60 公顷将作为 1nm 建厂用地。业界估,台积电 1nm 总投资额将逾万亿新台币。  在上个月举行的 IEDM 2023...
            0 0 285
            分享
          • 引言对于产品的手机项目(应用软件),主要是进行系统测试。而针对手机应用软件APP的系统测试,我们通常从如下几个角度开展:功能模块测试、兼容性测试、安装和卸载测试、软件更新测试、性能测试、用户体验性测试、交叉事件测试、用户界面测试等。功能测试要点及常见缺陷常见的功能类缺陷APP崩溃这是测试中的常见问题,这类问题也是非常严重的,会直接影响用户对产品的第一印象,例如我们正在使用某个APP,正在使用突然应用就停止响应,界面上弹出“强制关闭错误”的窗口,需要强制关闭应用,或者正在使用时出现闪退的现象。这些情况都很影响用户的体验,导致用户卸载该APP。通用的触发移动APP崩溃的测试场景,如下:验证在有不同...
            14 14 1435
            分享
          • 一、代码覆盖率 通常我们在做单元测试的时候会接触到代码覆盖率的概念,通过在单元测试的过程中收集代码覆盖率去判断测试用例是否充分,去更精准的定位问题。而对于功能测试或者接口测试比较少的去关注覆盖率数据,功能测试时覆盖率的收集也是比较困难的。然后对于功能测试而言进行代码覆盖率的收集有利于测试工程师去判断哪些分支没有被覆盖,判断是否是设计用例的时候没有做到覆盖,又或者是由于存在bug使得无法覆盖到,从而更精准的去定位bug的位置,去分析问题,节省时间。 二、工具简介 对于java的代码覆盖率的收集,比较常用的工具有emma、jacoco,它们都是免费的代码覆盖率工具。emma目前已经不维护,Ec...
            4 3 2145
            分享
      • 51testing软件测试圈微信