接口测试的基础理论

1、接口测试的背景

  应用程序编程接口:Application Programming Interface 简称 API。

    是近年来最为流行的技术之一,强大的web应用程序和领先的移动应用程序都离不开 后端强大的API。API技术否认应用给系统开发带来了便利,但也需要测试人员来进行有效的API测试,来保证API能够按照预期执行。

    现如今,大多数互联网公司和团队都在实施敏捷开发项目,在敏捷开发产品的生命周期中,测试人员需要 用一种简单、快捷的方法来完成API的测试。(自动化测试)

2、接口测试的必要性

  目前软件系统的额复杂度不断上升,传统的功能测试已经不能保证项目的质量深度以及进度。

  而接口测试的应用,恰好能够更快更早的介入项目。这样可以在项目初期就能发现系统深层次的问题,可以降低后期修复项目的成本。

  并且,接口测试的变更率远远小于 用户界面(User Interface - UI)的变更率。因此接口(API)自动化的维护成本比 UI 自动化的维护成本更低。所以API测试 更容易实现自动化 持续集成。

  此处,关于 用户界面 UI test:(详情链接,请稍后...)

     关于 持续集成:(详情链接,请稍后...)

3、接口测试的原理

  API Test :测试人员借助 工具 模拟客户端 向服务器发送 请求报文,服务器 接收 请求报文后,对报文进行处理 并向客户端返回应答。工具模拟客户端接收应答。

       软件测试人员根据相关的 接口测试文档,检查应答是否正确,这就是API test的 原理。

4、接口测试的范围

  关于接口的范围,主要从两个方面去考虑:

    a)、是否所有的接口都需要进行测试?

      随着项目系统的复杂的越老越高,想要完全实现全部接口的测试很困难,况且要均衡测试成本付出和收入的比例。所以,一般我们只测试到最外层的两类接口:

        数据进入系统的接口:调用外部系统的参数为本系统所用 

        数据流出系统的接口:验证本系统处理后的数据输出是否正常

    b)、被测接口需要测试哪些方面?

      测试人员需要关注 被测接口的 :

        功能是否实现:

        性能是否达标:

        安全性是否满足:

        重点关注 数据的交换、传递、处理的次数 以及控制管理过程。

5、什么是接口?

  官方释意:两个不同的系统 或 一个系统中不同的功能,这两者之间 相互连接的部分 就称为 接口。

  个人理解:在java项目中,一个完整的项目 是有很多个代码块组成 多个功能块,这些块 与块 之间连接的桥梁 就可以称为 接口。

  在软件测试中,所说的接口,一般有两种:

    图形用户接口:Graphical User Interface,GUI - 人与程序之间的接口(用户通过界面对程序进行操作 - 人与程序之间的连接桥梁)

    应用程序编程接口:Application Programming Interface,API - 是一组定义、程序以及协议的集合,用来实现计算机软件之间的相互通信。主要功能就是提供 通用功能集。

6、接口的分类

  依据所遵循的协议的不同,常见的接口可以分为3类:

    1)、HTTP 接口:是基于超文本传输协议的接口。超文本传输协议(HyperText Transfer Protocol - HTTP)此处,关于HTTP:(详情链接,请点击这里

    2)、Web Service 接口:是系统对外的接口。一般来说,如果需要从别的网站或服务器获取资源,别人不可能直接把数据库共享给你,那么就会写一个方法来获取数据,然后把这个接

        口提供给你,从而达到数据同步的目的。

    3)、RESTful 接口:简称REST。其描述了一个架构式的网络系统,核心是面向资源。此处,关于REST:(详情链接,请稍后...) 

  在此,目前基于浏览器/ 服务器模式(Browser/Server,B/S)的软件系统接口,大多数为HTTP接口。

7、接口测试流程

  1)、编写测试计划

  2)、编写、评审接口测试用例

  3)、执行接口测试

  4)、接口自动化测试持续集成要点

8、接口文档系统

  ShowDoc

  

原文地址:https://www.cnblogs.com/ygn6666/p/12652601.html