zoukankan      html  css  js  c++  java
  • 接口测试基础和jmeter

    1.接口

    接口分为两种:一种内部接口,一种对外接口。

    2.接口的分类

    webService接口是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。

    http api接口是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和post等方法,这也是最常用的两种请求方式。

    3.接口测试流程

    一、需求评审,熟悉业务和需求
    二、开发提供接口文档
    三、编写接口测试用例
    四、用例评审
    五、提测后开始测试
    六、提交测试报告

    4.接口规范文档

    接口文档至少包括:
    1、接口说明
    2、调用url
    3、请求方法(getpost)
    4、请求参数、参数类型、请求参数说明
    5、返回参数说明

    5.怎么来测接口-http接口

    接口请求报文拼接
    1、url?param=value&param2=value
    这种是最简单的一种,问号前面是请求url,后面是请求的参数名和参数值,多个参数用&来连接
       https://api.douban.com/v2/book/search?q=tanxixu
    2、还有一种就是入参是json串的,那就不能拼接参数了,需要借助工具来完成比如postman

    3、post和get请求的区别

    GET和POST请求

    如果是get请求的话,直接在浏览器里输入就行了,只要在浏览器里面直接能请求到的,都是get请求,如果是post的请求的话,就不行了,就得借助工具来发送。
    GET请求和POST请求的区别:
        1、GET使用URL或Cookie传参。而POST将数据放在BODY中。
        2、GET的URL会有长度上的限制,则POST的数据则可以非常大。
        3、POST比GET安全,因为数据在地址栏上不可见。
        4、一般get请求用来获取数据,post请求用来发送数据。
            其实上面这几点,只有最后一点说的是比较靠谱的,第一点post请求也可以把数据放到url里面,get请求其实也没长度限制,post请求看起来参数是隐式的,稍微安全那么一些些,但是那只是对于小白用户来说的,就算post请求,你通过抓包也是可以抓到参数的。所以上面这些面试的时候你说出来就行了。

        其实没有什么太大的区别,最大的区别就是get请求只能通过url传参

    6.HTTP状态码

    200 2开头的都表示这个请求发送成功,最常见的就是200,就代表这个请求是ok的,服务器也返回了。
            300 3开头的代表重定向,最常见的是302,把这个请求重定向到别的地方了,
            400 400代表客户端发送的请求有语法错误,401代表访问的页面没有授权,403表示没有权限访问这个页面,404代表没有这个页面
            500 5开头的代表服务器有异常,500代表服务器内部异常,504代表服务器端超时,没返回结果

    7.接口用例设计

    1、通过性:按照接口文档里面的传
        2、参数组合,多个参数的时候
        3、安全的
            权限绕过:卖家传个普通用户的id
            绕过验证:商品200块钱,你传1块钱
            关键参数有没有加密
            密码的安全规则
        4、异常,说白了就是不按照你要求的来
        5、根据你自己的业务逻辑来

     jmeter接口

    1.获取用户信息

    请求方式:GET/post

    请求地址:http://api.nnzhp.cn/getuser

     

     

    2.获取用户余额

    请求方式:post请求

    请求地址:http://api.nnzhp.cn/getmoney

     

     

    3.上传文件

    请求方式:post

    请求地址:http://api.nnzhp.cn/uploadfile

     

     

    4.修改用户余额2

    请求方式:post

    请求地址:http://api.nnzhp.cn/setmoney2

     

     

     

    5.获取用户信息2

    请求方式:pet/post

    请求地址:http://api.nnzhp.cn/getuser2

     

     

     

    6.Jmeter操作mysql

    Jmeter导入jdbcjar包

     

     

     

     

    7.压测修改用户余额的接口,要把money做参数化,然后要要验证结果要求压测出来最大的tps

     

     

     

               

  • 相关阅读:
    iOS开发 | 自定义不规则label
    监控redis的操作命令
    HTML常用标签
    前端学习【第一篇】: HTML内容
    MySQL数据库修改字段的长度
    python模块之:paramiko
    使用pymysql操作mysql数据库
    Python开发【第九篇】: 并发编程
    JNI调用实例
    JVM性能调优入门
  • 原文地址:https://www.cnblogs.com/txx403341512/p/6825910.html
Copyright © 2011-2022 走看看