zoukankan      html  css  js  c++  java
  • 接口测试

    1.接口测试:接口

    2.接口测试:接口测试(重点)

    A. Who 是什么

    测试后端实现是否符合接口规范

    B. Why 为什么

    程序安全,效率

    C. What 怎么用

    模拟客户向服务器发送数据,然后查看响应

    要素1:定位服务器资源(通过 URL 实现:http://www.baidu.com|http://127.0.0.1)

    要素2:模拟用户提交数据

    要素3:查看响应的结果是否符合预期

    D. 接口测试

    类型1:web 接口测试(BS 架构)

    |---- 服务器接口测试:测试自己公司写的程序

    |---- 第三方接口测试:测试别的公司实现的接口

    类型2:模块接口测试(CS 架构)

    3.接口测试:环境搭建

    A. Who 是什么

    B. Why 为什么

    C. What 怎么用

    1. 运维或开发实现程序部署,正常运行

    2. 自己搭建

      1. 安装python

      2. 安装依赖模块:

        1. python3.5以上版本
        2. pip install -r requirements.txt
        若安装慢则:
        pip install -r requirements.txt -i https://pypi.douban.com/simple
        3. 如果须使用mysql,那么需要将studentManagementSystem/studentManagementSystem.settings.py的第78行的配置更改以下,注释sqllite3
        4. 执行studentManagementSystem.sql文件,生成数据库
        5. 启动命令: python run_server.py
        6. 默认端口是8000,地址本机ip
      3. 学生管理系统简介

        核心:学生表 班级表 学院表

        操作:3 张表的增删改查

    4.接口测试:插件

    A. Who 是什么

    火狐-RESTClient

    谷歌-POSTman

    Jmeter

    B. Why 为什么

    C. What 怎么用

    5.接口测试:RESTful 风格 (重点)

    A. Who 是什么

    RESTful 风格中规范了,

    URL的实现方式,

    提交的数据实现方式,

    响应的数据实现方式...

    B. Why 为什么

     

    C. What 怎么用

    RESTful 风格是约束接口操作的四种操作以及三个要素

    增:

    要素1: URL + POST

    要素2: 多个数据

    方式1: 键=值&键=值

    方式2: JSON 格式

    要素3:

    状态码:200|201 + 添加的记录

    删:

    要素1: URL + GET|DELETE

    要素2:

    方式1:键=值&键=值

    要素3: 200 | 204 + 无

    改:

    要素1: URL + POST|PUT(更合适)

    要素2:

    方式1: 键=值&键=值

    方式2: JSON 格式

    要素3: 200 | 201 + 修改后那条记录

    查:

    要素1: URL + GET

    要素2: 常用方式1 URL?键=值&键=值...

    要素3: 200 + 一条记录或多条记录

     

    状态码:

    404 --- 资源路径有误

    505 --- 服务器异常

    6.接口测试: JSON

    A. Who 是什么

    A-1, JSON 是一种数据载体:

    A-2, 互联网本质就是数据传输, 数据传输需要数据载体,比如: 页面信息就是存储在 html 这种数据载体中的

    A-3, HTML 格式.

    XML 格式.

    A-4, JSON 优化数据传输

    B. Why 为什么

    JSON 传输数据效率更高,所以部分场景下使用 JSON 替换 html 和 XML.

    C. What 怎么用

    7.接口测试:实战

    目的:RESTful 风格联系

    A, 安装并运行学生管理系统

    B, 获取并读懂接口规范

    B-1,从前期文档中提取接口清单

    API 文档:application programing interface 应用程序编程接口

    接口清单的由来

    B-2,接口清单读懂

    要素1:URL+ 请求方法

    要素2:提交的数据

    要素3:响应的结果

    C,逐一测试接口

     

    总结:

    1, 新增数据时,数据时JSON格式的,必须设置浏览器的http请求头,不然会当成普通文本处理

    Content-Type : application/json;charset=utf-8(记住)

    Content-Type: 提交的内容类型

    application/json : 数据类型是 JSON 格式 | 大类型/小类型 img/jpg img/png

    charset=utf-8: 设置编码集,utf-8 支持世界所有字符

     

    A. Who 是什么

    B. Why 为什么

    C. What 怎么用

     

    Jmeter: 概述

    A:是什么?

    Jmeter 是 Apache 公司使用 Java 开发的一款测试工具.

    bin: 存储了 Jmeter 的课执行程序,比如启动程序

    lib: 存储了Jmeter 整合的一些功能(一些 .jar 文件的小程序)

    启动 Jmeter

    启动方式1:bin/ApacheJmeter.jar 双击

    启动方式2: jmeter.bat windows 下的启动程序

    jmeter.sh linux 下的启动程序

    B:为什么?

    高效,功能强大

    C:怎么用?

    Jemter:线程组

    进程:一个正在执行的程序就对应一个进程

    线程:进程中的执行线索(一个进程有多个执行线索)

    线程组:按照现成性值对现成进行分组

     

    并发执行:多个现成同时执行 特点:执行结束的顺序和现成的启动顺序不一定一致;

    顺序执行:按照现成的启动顺序挨个执行

    怎么用?

    C-1,三者关系:进程有多个线程组,线程组可以有多个线程

    进程--测试计划

    线程组---现成组

    现成---线程组属性的线程数

    C-2,默认情况下,线程组中的现成hi并发执行的

    每一个现成都要执行组内的 http 请求

    C-3,怎么设置线程组顺序执行

    勾选测试计划的第一个复选框(独立运行每个线程组)

    C-4,

    D,练习:学生管理系统增删改查

     

    调度器

    定时请求,定时器

    Jmeter 组件: 参数化概述(了解)

    A,参数化就是动态的获取并设置数据

    B.执行批量操作时,批量插入或批量删除,之前数据都是手写的,每执行完都需要修改一次,效率太低.

    参数化就是可以以程序代替人工获取并设置数:安全+高效

    Jmeter 组件:参数化实现之CSV Data Set Config(重点重点)

    通过这个组件可以动态获取并设置数据,实现类似铺量添加操作(执行一次,将多条数据插入到数据库)

    实现思想

     

    实现流程

    右键线程组 -> 添加 -> 配置原件 ->CSV Data Set Config

    CSV(逗号分割值文件格式)

    测试计划中,勾选独立运行每个线程组,可以控制是否按顺序执行每个线程组.

    setUp 和 tearDown

    Set Up 线程组:最先执行的线程组

    加载程序主题执行所需的资源

    Tear Down 线程组:最后执行的线程组

    程序正式关闭之前,可以将数据保存进内存

     

     

     

  • 相关阅读:
    c#冒泡排序
    C# 虚方法(virtual)覆盖(override) 隐藏(new) 重载
    Javascript 大括号
    C# const.static.readonly.
    热点链接(img map area)
    WeiBo返回错误码的二种方式
    Cookie跨域操作
    synchronized(this)与synchronized(class)
    线程安全场景备忘
    git新建一个分支setupstream
  • 原文地址:https://www.cnblogs.com/521world/p/11256597.html
Copyright © 2011-2022 走看看