• 接口测试的基础理论


    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

      

  • 相关阅读:
    jsp int转String or String转int 方法
    log4j详细使用教程
    SQL 查询当天,本月,本周的记录
    1012Linux流编程的一些知识点
    myeclipse过期以后提示过期以后怎么办?!
    mysql常用命令
    Myeclipse文件没出错,但是项目上显示有错的解决办法
    java的一些命名规范吧
    mysql 按照时间查询
    struts1.x和struts2.x之间的一些区别
  • 原文地址:https://www.cnblogs.com/ygn6666/p/12652601.html
Copyright © 2020-2023  润新知