[PPJ_01] Python接口自动化测试-学习体系归纳

目录结构

一、接口自动化学习简介
    1.学习内容概要
    2.学习目标
二、接口测试学习框架
三、接口测试概述
    1.接口的概念
    2.接口开放平台
    3.接口测试的概念
    4.接口测试的意义
    5.接口测试的实施方法


一、接口自动化学习简介

在测试金字塔模型中分为三层,自底层向顶层依次为:单元测试-->接口测试-->UI测试。接口一般比较稳定,因此接口测试的效益最大,同时接口测试可以跨应用(Web/App)、跨平台(Win/Mac/Linux)。

1.学习内容概要

  • 接口测试基础知识
  • HTTP协议基础原理
  • 接口测试工具使用
  • 接口性能自动化测试
  • Restful接口开发测试
  • Python+Request接口测试
  • 接口Mock Server实践

2.学习目标

  • 掌握接口测试理论方法
  • 掌握接口测试工具使用
  • 掌握HTTP协议
  • 独立编写Python接口测试脚本
  • 独立完成接口性能自动化测试
  • 熟悉Restful接口开发与调试


二、接口测试学习框架

  1. 接口测试理论
  2. HTTP基本原理
  3. 接口测试基础
  4. Python接口测试
  5. 接口自动化性能测试
  6. 接口开发与测试
[PPJ_01] Python接口自动化测试-学习体系归纳_第1张图片
Python接口自动化测试-学习框架


三、接口测试概述

1.接口的概念

接口:API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是在无需访问源码or理解内部工作机制细节的情形下,提供应用程序与开发人员基于某软件or硬件得以访问一组例程(可运行的例子程序)的能力。

举例说明:
1)硬件接口-例子
笔记本电脑上提供了各种物理硬件接口,比如USB接口,耳机接口、麦克风接口、电源接口…这些不同的接口有不同的功能:比如通过USB接口插入U盘就可以拷贝电脑数据,插入耳机接口可以听音乐,我们无需关心这些接口的工作原理,只需通过这些接口满足我们的使用需求即可。
2)软件接口-例子
在中国天气网查询某个城市天气,输入城市名称即可获取到对应的天气。查询背后的本质也是调用了网站后台接口来获取数据,这里的接口是Web服务软件接口。用户不需要关注数据在网站后台是怎么查询的,只需要返回一个结果即可。

2.接口开放平台

基于互联网的应用正变得越来越普及,在这个过程中,有更多的站点将自身的资源开放给开发者来调用。对外提供的API调用使得站点之间的内容关联性更强,同时这些开放的平台也为用户、开发者和中小网站带来了更大的价值。如:气象大数据交易平台、微信开放平台。

3.接口测试的概念

接口测试:是对系统or组件之间的接口进行测试,主要是校验数据的交换、传递和控制管理过程,以及相互逻辑依赖关系。

接口协议包括:HTTP/WebService/Dubbo/Thrift/Socket...,本次主要学习HTTP类型接口的测试
测试类型包括:功能测试/性能测试/稳定性测试/安全性测试...

4.接口测试的意义

接口测试实施在多系统的平台架构下,有着极为高效的成本收益比(单元测试收益更高,但实施单元测试的成本投入也更大,技术要求更高)。接口测试天生为高复杂性的平台带来高效的缺陷检测和质量监督能力。平台越复杂,系统越庞大,接口测试的效果也就越明显。

接口测试的优势,具体如下:

1)节省测试成本

根据数据模型推算,底层的1个程序Bug可能引发UI层的8个左右Bug,而且底层的Bug更容易引起全网的死机,通过接口测试提早发现底层的Bug;接口测试能够提供系统复杂度上升情况下的低成本高效率的解决方案

2)测试门槛相对较低

接口测试不同于单元测试,接口测试是站在用户的角度对系统接口进行全面高效持续的检测

3)效益更高

将接口测试实现为自动化和持续集成,当系统复杂度和体积越大,接口测试的成本就越低,相应的效益产出就越高

5.接口测试的实施方法

接口功能自动化测试流程:需求分析-->用例设计-->脚本开发-->测试执行-->结果分析

1)需求分析

需求分析是参考需求、设计等文档,在了解需求的基础上还需清楚内部的实现逻辑,并且可以在这一阶段提出需求、设计存在的不合理or遗漏之处

2)用例设计

用例设计是在理解接口测试需求的基础上,使用Excel、Xmind思维导图软件编写测试用例设计,主要内容包括:参数校验、功能校验、业务场景校验、安全性校验、性能校验,常用的用例设计方法有:等价类划分法、边界值分析法、场景分析法、因果图,正交表...

3)脚本开发

使用自己熟悉的语言or工具来开发即可(接口测试是基于协议的,Java语言开发的接口,并非只能用Java测试,也可用Python测试)

4)测试执行

可以直接运行接口测试脚本or使用CI(Continuous Integration)来执行测试

5)结果分析

根据测试报告来分析接口测试结果


参考资料:
[1] Python接口自动化测试教程

你可能感兴趣的:([PPJ_01] Python接口自动化测试-学习体系归纳)