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

    一、自动化测试包含:

    1. 接口自动化
    2. Ui自动化(web端、移动端(android、ios))

    二、接口测试:

    接口测试的必要性:

    1、可以发现很多在页面上操作发现不了的bug

    2、检查系统的异常处理能力

    3、检查系统的安全性、稳定性

    4、前端随便变,接口测好了,后端不用变

    接口也分为前端和后端,一般来说,越是在底层发现的bug解决的成本越低,所以后端接口测试越来越重要,不仅可以提升产品质量,有可解决产品开发成本

             目前用到的接口测试工具有postman和jmeter,后期可通过学习自己编写测试工具。

    接口测试更加类似于功能测试,比ui测试简单,其原理就是通过接口请求将数据库查到的数据返回回来。

    接口测试流程:需求评审,熟悉业务和需求;开发请求接口文档;编写接口测试用例;用例评审;提测后开始测试;提交测试报告

    其中开发提供的接口文档至少要求其包含:

    1、接口说明

    2、调用url

    3、请求方法(getpost

    4、请求参数、参数类型、请求参数说明

    5、返回参数说明

    接口返回的数据都是josn类型(josn是一种通用的数据类型,即任何一种语言都可以通过josn进行数据之间的互通)

    三、http请求

             get请求和post请求的区别

                      get请求它的请求数据是在放在url里面的(目前地址栏已无长度限制)

                      post请求他的数据是放在body里面的

    cookie:存放在本地的一个键值对,数据是从服务器请求得来,存储在本地

    session:存在服务器的一个键值对,具有时效性

    每发出一个http请求之后,都会有一个响应,http本身会有一个状态码,来标示这个请求是否成功,常见的状态码有以下几种:

    1、200 2开头的都表示这个请求发送成功,最常见的就是200,就代表这个请求是ok的,服务器也返回了。

    2、300 3开头的代表重定向,最常见的是302,把这个请求重定向到别的地方了,

    3、400 400代表客户端发送的请求有语法错误,401代表访问的页面没有授权,403表示没有权限访问这个页面,404代表没有这个页面

    4、500 5开头的代表服务器有异常,500代表服务器内部异常,504代表服务器端超时,没返回结果

    http请求包含请求头和请求体

               get请求

                        get请求头

                        url?k=v&k=v

                        header 传输一些额外的信息

    四、jmeter工具

    Jmeter 性能测试工具 java开发的   

    jmeter查看结果树乱码

       1、在jmeter的bin目录下找到jmeter.properties这个文件添加上sampleresult.default.encoding=utf-8

       2、重启jmeter

    jmeter body data里面有乱码怎么解决

       1、在jmeter的bin目录下找到jmeter.properties这个文件添加上jsyntaxtextarea.font.family=Hack

       2、重启jmeter

             jmeter装json path插件

                      http://www.nnzhp.cn/archives/322

    jmeter操作数据库:

    1. 首先,我们在测试计划下,把JDBC驱动包添加上,也可以将驱动包放入jmeter的lib目录下,即可自动加载。
    2. 然后,新建一个线程组→JDBC Connection Configuration(连接数据库组件)→JDBC Request(JDBC请求)
    3. 接下来,配置JDBC Connection Configuration

    Ps 下面介绍比较重要的几个参数其他地方可照截图配置即可。

    Variable Name:连接名称,自定义填写。

    Validation Query验证查询,不同版本的填写格式可能不同(比如3.1是Select 1,2.6是Select1),格式错误会报错。最新的Jmeter3.3已经做成下拉框,比较人性化。

    Database URL:数据库url,格式固定。

    jdbc:mysql://{ip}:{port}/{dbname}?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true

    jdbc:mysql:// 表明连接的数据库是mysql

    ip 数据库服务器地址

    port mysql端口号

    dbname 数据库名称

    useUnicode=true 使用Unicode编码格式(字符集编码格式)

    characterEncoding=utf8 使用UTF-8解码(字符集编码格式)

    allowMultiQueries=true 允许多个query一起使用(1个请求中添加多个sql语句)

    1. 配置完毕,接下来填写JDBC请求

    Variable Name:与JDBC Connection Configuration中的Variable Name保持一致

    Query Type语句类型,查询用select,增删改用update,一起用可以选择callable

             jmeter 参数化

               1、用户定义的变量

               2、函数助手里面的

                        __random

                        __time

                                 yyyyMMddHHmmdd  时间的格式

                        jmeter里面取到时间戳是精确到毫秒的

               3、文件里面读取

                        默认不写绝对路径的话,是从jmeter的bin目录下读取文件

                        文件里面可以写多列,多列的话,以逗号隔开,参数名也要写多个。

    jmeter 压测

               并发用户数

               tps  服务端每秒钟处理的请求数  越大越好  

               响应时间  越快越好

               并发用户数/响应时间=tps

    时间戳就是从计算机诞生那一天到现在过了多少秒

  • 相关阅读:
    使用ngx_lua构建高并发应用(1)
    nginx+lua项目学习
    学习乱
    if---(switch-case)语句初步学习总结
    数据类型转换
    总结:C#变量,占位符等相关知识
    学习随笔
    开始我的.NET的学习旅程
    Python 网络爬虫 008 (编程) 通过ID索引号遍历目标网页里链接的所有网页
    Python 网络爬虫 007 (编程) 通过网站地图爬取目标站点的所有网页
  • 原文地址:https://www.cnblogs.com/kuhaha/p/9074433.html
Copyright © 2011-2022 走看看