我理解的接口测试(一)

接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

接口



应用(模块)提供对外信息交互的功能。其实可以把被测模块想象成一个黑盒,那么接口就是用来从盒子里拿东西(data)和放东西(data)。

接口测试验证点



网上很多资料说验证返回字段、验证数据持久化内容等,那我的理解是:验证接口的意图!

接口不会平白无故的设计,接口的设计是为具体的业务功能服务,而我们对该接口的测试就是验证该接口设计是否符合需求,能否正常为业务功能服务。

验证方向:

  • 接口设计文档的参数和返回是否满足前端GUI完成登录操作(判断登录成功参数是否足够、返回值是否满足登录操作后的展示页面、参数和返回值的类型是否符合需要、返回值是否冗余等)
  • 传入参数后并接口处理完后,是否按需求正确的返回值(正确的传参是否会返回相关返回值、返回的返回值类型和值是否符合接口设计文档、可选参数传入影响返回值、必传参数和可选参数传入符合文档设计、返回内容是否过大等)
  • 传入参数后,接口处理符合需求(接口对应持久化的数据,是否持久化)
  • 传入参数后,接口处理过程中的性能指标符合需求[性能测试]
  • 传入参数后,接口处理恶意数据符合需求[安全测试]

    大致就这么多,其实后两者更多属于接口性能和接口安全,但秉着测试左移和测试更高效化,应该在项目前期做更多类型的测试,确保大部分问题在项目前期就能得到解决(性能测试和安全测试建议在接口功能趋于稳定后再做)

接口测试原理


  1. 通过工具模拟调用方往被测应用发送请求报文
  2. 被测应用接受请求报文后,会对该报文处理然后再将响应报文发送给调用方(工具)
  3. 调用方(工具)接受响应报文、断言响应报文和验证处理结果

接口测试流程



跟功能测试一样,需求讨论=>评审需求=>确定需求=>产出接口协议文档=>根据需求静态测试接口文档=>根据需求文档和接口协议文档设计测试用例(测试用例主要从业务场景、上述验证点来考虑)=>评审用例=>冒烟测试接口=>接口测试=>输出测试报告

接口测试价值



测试左移、降低成本、提高效率、提高集成测试版本质量、降低版本发布风险、加深测试人员对被测应用技术架构理解,更加全面测试被测应用

接口测试用例设计



接口测试用例设计除了日常的业务场景以外,还需考虑文中提到的接口测试验证点。

  • 输入参数测试:针对输入参数进行的测试,也可以说是假定接口参数的不正确性进行的测试,确保接口对任意类型的输入都做了相应的处理:输入参数合法(不合法)、输入参数为空、为null、输入参数超长、部分参数不传等。
  • 功能测试:接口是否满足了所提供的功能,相当于正常情况测试,如果一个接口功能复杂时推荐对接口用例进行结构划分,这样子用例觉有更好的可读性和可维护性
  • 逻辑测试:逻辑测试严格讲应为单元测试,单元测试应保持内部逻辑的正确性,可单元测试和接口测试的界限并不是那么清楚,所以我们也可以从给出的设计文档中考虑内部逻辑错误的分支情况和异常(利用传入参数尽可能覆盖代码的各个分支和异常)
  • 异常情况测试:接口实现是否对各种情况都进行了处理,接口输入参数虽然合法,但是在接口实现中,也会出现异常,因为内部的异常不一定是输入的数据造成的,而有可能是其他逻辑造成的,程序需要对任何异常都进行处理

当然接口测试用例也应该和普通的功能测试用例一样具有:有效性、可理解性、清晰性、可维护性、可重现性

接下来,会讲讲如何开始做接口测试,敬请期待……

时间: 2024-10-06 12:09:23

我理解的接口测试(一)的相关文章

我理解的接口测试(二)

上文中,谈了一些接口测试的概念和原理.接口测试的原理很简单:模拟调用方往接口放数据后再校验拿出来的数据.原理说起来的确很简单,但如何模拟.如何调用.如何校验?这些问题你必须在接口测试开始之前都得找到答案. 如何模拟? 目前,有很多的接口测试工具,例如:postman.jmeter.SoapUI.robotframework+协议lib.firefox插件RESTClient等,是的,可以用来做接口测试工具很多,不同的工具能够模拟协议也不尽相同.所以,需要先知道被测应用的接口是什么协议?HTTP.

ui自动化测试的意义与理解

分层测试的思想 分层测试(有的也叫测试金字塔)是最近几年慢慢流行.火热起来的,也逐渐得到了大家的认可,大家应该已经比较熟悉分层测试的思想了,不太了解的可以自行找一些相应的渠道去补充一下上下文的知识. 总的来说测试需要有层次感,不同层面的测试需要不同形态的测试方法来保证其质量. 分层测试的思想把测试分为3层: * unit test层:可以简单的理解为白盒测试层.测试的对象是代码,测试工具一般为相应语言对应的单元测试框架,通过各种断言来判断代码的逻辑是否符合预期. 单元测试用例一般是从代码中演化出

接口测试自动化生成框架

接口测试这个词语,相信大家都不陌生了吧.目前我个人的理解,接口测试应该属于白盒测试的范畴,也是很多测试工程师很想从事和向往的一个测试手段.大家都觉得白盒测试深不可测,但实际上是怎么样的呢. 接口测试的实施优先级 对于Web应用来说,接口测试就是对某一个接口进行测试代码的编写和执行.一般情况下,实施接口测试的优先级是:对暴露在外面的接口(该接口会给第三方调用)进行接口测试:内部的核心功能接口也会做接口测试:内部非核心功能接口的接口测试(很多时候就是单元测试).当然这个实施的具体细节,还需要根据项目

python接口测试入门1-什么是接口测试

为什么要做接口测试 在日常开发过程中,有人做前端开发,有人负责后端开发.接口就是连接前后台,由于前端开发和后端开发的速度可能不一样,例如后端开发好了,但是前端没有开发.那么我们是不是就不需要测试呢?一般我们大部分人都是做功能测试,很多是界面的功能测试.如果你理解了接口测试,那么你就可以针对接口进行测试看看测试金字塔,接口测试是在中间部分,底层是单元测试,最顶端是界面测试.从三者的面积大小来看,单元测试和接口测试,才是重点,而界面测试真的是太少.这个面积,你可以理解为代码覆盖,也可以理解为测试的工

接口测试怎么才能做好?

首先,做好接口测试需要两个前提:一.接口文档一定要系统化.规范化接口规范化,要从接口命名.接口协议.接口路径.请求参数.返回数据.返回参数.版本控制进行系统化的规范.接口文档是我们进行接口测试设计的依据.规范化的接口文档有助于我们澄清接口测试的需求,从而提升接口测试的效率.二.充分深刻理解接口测试的原理接口测试的原理,尤其是HTTP接口测试的原理,一般是通过测试程序或者测试工具,模拟客户端向服务器发送请求报文,服务器接收请求报文并且做出响应的处理,之后再把响应报文发送给客户端,也就是我们模拟客户

itnesse实现api接口自动化测试学习

上午在园子里乱逛,看了不少小伙伴们分享的接口测试方面的知识,大家所叙述到的一些经验或多或少,我也曾遇到过,突然意识到知识的点滴积累是多么的重要,我记得我最早接触接口测试的时候,就是只在浏览器里人工测试单个接口的返回结果,后来用python的unittest自己写测试框架,和现在大多数小伙伴们的方法差不多,测试用例也是存放在excle表中,这对于单人测试来说都还ok,但是如果是多人协同测试时,问题就出来了,因为按目录存放在不同的excle表中的测试用例,维护起来比较麻烦,而且不便于多人查询或共同维

利用fitnesse实现api接口自动化测试

上午在园子里乱逛,看了不少小伙伴们分享的接口测试方面的知识,仔细想想,我做接口测试也有几个年头了,大家所叙述到的一些经验或多或少,我也曾遇到过,突然意识到知识的点滴积累是多么的重要,我记得我最早接触接口测试的时候,就是只在浏览器里人工测试单个接口的返回结果,后来用python的unittest自己写测试框架,和现在大多数小伙伴们的方法差不多,测试用例也是存放在excle表中,这对于单人测试来说都还ok,但是如果是多人协同测试时,问题就出来了,因为按目录存放在不同的excle表中的测试用例,维护起

关于接口自动化的那些事 - 基于 Python

网络请求模拟小技巧 在学习了一段时间的Python语言后,咱也大概对Python的语法和逻辑有了一定的积累,接下来,可以为接口自动化测试开始尝试做一些比较简单的准备工作啦~跟着我一起来来来~ 扩展库requests 一般来说接口测试都是基于HTTP和HTTPS的网络请求,Python中有很多自带原生库和扩展库均可以实现.Python模拟HTTP请求有两种方式,一种是使用httplib模块,一种是使用requests模块,我个人比较倾向于使用requests库,该库把请求的框架都搭建好了,使用简洁

接口测试的新理解

最近一直关注接口测试的方方面面. 慢慢的对接口测试的一些更细节的方面有着一些理解. 简单的说,接口测试的过程中需要关注的一些是: 1. 接口的有效性. 2. 接口数据的冗余性. 先说有效性: 有效性的意思在于接口数据的重用,因为在测试的过程中遇到了一种情况,大概的情况是: App上有一个页面,做成了两个Activity,在app上展示为一个页面,上方是个人信息的图片,头像和评论数等一系列的信息.下方是详细信息的一些内容. 不可以理解的是前端做成了两个Activity,A和B ,两个Xml布局,