美文网首页
接口测试

接口测试

作者: 杨小呆yyy | 来源:发表于2019-05-07 00:38 被阅读0次

    1、接口测试:接口(重点)
    是什么:是数据交互的入口和出口,是一套规范、标准
    为什么----用接口时的缺点:①研发标准不统一②研发周期长 ③可扩展性差----- 用接口的优点①统一设计标准 ②前后端开发相对独立 ③扩展性灵活 ④前后端都可以使用自己熟悉的技术
    怎么用  ①接口规范是架构师制定的(API文档) ②前端和后端开发时共同参考的依据

    2、接口测试:接口测试(重点)
    是什么:测试后端实现是否符合接口规范
    为什么:程序安全/效率
    怎么用(实现流程):模拟客户向服务器发送数据,然后查看相应----要素1 定位服务器资源(通过URL实现https://www.baidu.com/  https://127.0.0.1:8000/资源路径)-----要素2:模拟用户提交数据----要素3:查看相应的结果是否符合预期
    URL 定位服务器资源 + 提交数据 + 查看响应的数据是不是预期的
    接口测试分类:①web接口测试  测B/S架构的 ----服务器接口测试:测试自己公司写的程序  ----第三方接口测试:测试别的公司是实现的接口    ②模块接口测试  主要测C/S架构(C/S越来越少了)

    3、接口测试:环境搭建
    是什么:搭建接口测试的测试环境,运行程序
    怎么用:1)运维或开发实现程序部署 正常进行  2)自己搭建
    3.2.1安装python  3.2.2安装依赖:pip install -r requirments.txt -i https://pypi.douban.com/simple 3.2.3 启动项目:python run_server.py   3.2.4测试:http://127.0.0.1:8000/apl/departments 如果正常相应数据了,那么程序安装启动正常       3)学生管理系统简介  ----核心:学生表 班级表 学院表----操作:3张表的增删改查

    4、接口测试:插件
    是什么:测试接口的测试工具
        火狐----RESTClient
        谷歌----POSTman;
        Java 实现的测试工具Jmeter(重点)
    为什么:测试工具功能强大一些,使6测试更快捷方便
    怎么用:火狐安装RESTClient;谷歌安装POSTman;注:二者下载时都要注意版本,google插件资源下载被屏蔽了 安装提前下载完毕的 

    5、接口测试:RESTful风格(重点)
    是什么:RESTful风格:开发测试时 大家都会遵守一些默认的规范,这些都是约定成俗的,大家的习惯做法,非强制性的RESTful风格就是这些习惯的一种。RESTful风格中规范了,URL的实现方式,提交的数据的实现方式,响应的数据的实现方式
    为什么:为了程序的易读性和易维护性
    怎么用:RESTful风格是约束操作的四种操作以及三个要素(记住)
    增:
            ①URL+POST
            ②提交数据  常用方式a:URL?键=值&键=值  常用方式b:JSON格式s --------设置HTTP信息头 content-Type application/json;charset=utf-8     键=值&键=值 
            ③200 | 201 + 添加的记录
    :①URL+DELETE ②提交数据。键=值&键=值 ③200|204 +无响应内容
    改:①URL+PUT(更合适) ②提交数据。a:键=值&键=值  b:JSON格式s ③200 | 201 +修改后那条记录
    查:①URL+GET ②常用方式:URL?键=值&键=值 ③200 +一条记录或多条记录
    404 路径有误   505 服务器异常

    get和post的区别:1、post安全性高 2、post提交的数据量没有大小限制。3、get效率高

    6、接口测试:JSON
    是什么:-----JSON是一种数据载体。----互联网本质就是数据传输 数据传输需要数据载体 eg:页面信息就是存储在html这种数据载体中的。
    -----HTML格式
            <html>
                <head>
                <title>hello</title>
                </head>
                <body>
                    <font color='red'>hello world</font>
                </body>
            </html>
    -----xml格式
        <person>
            <name>huluwa</name>
            <age>8</age>
        </person>
    缺点:标签标记语言 有效数据占有率低
    -----JSON优化数据传输
            {"title":"hello","font":"hello world"}
            {"name":"huluwa","age":"8"}
    为什么:JSON传输数据效率更高,所有部分场景下使用JSON替换html和XML(ajax)。缺点:JSON语法描述性不及标签语言,所以部分场景还得使用html和xml,但是如果传递的是少量数据的话,可能使用JSON
    怎么用:对象和数组可以嵌套使用
        语法:
        格式1(JSON对象):{"键1":"值1","键2":"值2"......}
        格式2(JSON数组):[值1,值2,值3......]
        格式复合: {"name":"huluwa","age":"8","aihao":["救爷爷","吐火","吐水"]}
                        [ {"name":"huluwa","age":"8"}, {"name":"aotuman","age":"10"}......]

    7、接口测试实战  目的:RESTful风格练习
        a、安装并运行学生管理系统  
        b、获取并读懂接口规范
                    从前期文档中提取接口清单
                    API文档:application programing interface  应用程序编程接口
        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支持世界所有字符     -------2

    jmeter

    1、jmeter
    是什么:jmeter是apache公司使用Java开发的一款测试工具
    为什么:高效、功能强大   模拟一些高并发或多次循环等特殊测试场景
    怎么用:
        a下载jmeter,解压缩
        b安装Java环境(jmeter和Java环境的关系 类似MP3文件和播放器关系)   注意 安装路径不能有中文字符 空格    安装了JDK+JRE
        c简单了解jmeter的目录结构  bin:存储了jmeter的可执行程序 比如启动程序    lib:存储了jmeter整合的功能(一些.jar文件的小程序)   
        d启动jmeter    启动方式一bin/apachejmeter.jar双击     *jmeter.bat windows下的启动程序   jmeter.sh linux下的启动程序
        e 编写一个jmeter版本的测试案例
    作用-------接口测试       性能测试(内在--程序的算法)       压力测试(外在---外在负载)   web自动化测试    数据库测试(测试数据库)      Java程序测试
    优点: 开源、免费;支持多协议;小巧;功能强大
    缺点:a.不支持IP欺骗   b.使用JMeter无法验证JS程序,也无法验证页面UI,所以要须要和Selenium配合来完成Web2.0应用的测试
    2、jmeter组件:线程组
    是什么:
        进程:一个正在执行的程序就对应一个进程
        线程:进程中的执行线索(一个进程有多个执行线索)
        线程组:按照线程性质对线程进行分组
        并发执行:多个线程同时执行 特点:执行结束的顺序和线程的启动顺序不一定一致
        顺序执行:按照线程的启动顺序挨个执行
    为什么:方便管理
    怎么用:
        ①三者关系:进程有多个线程组,线程组可以有多个线程
        进程---测试计划
        线程组----线程组
        线程----线程组属性的线程数
        ②默认情况下,线程组中的线程是并发执行的
        每一个线程都要执行组内的http请求
        ③怎么设置线程组顺序执行
        勾选测试计划的第一个复选框(独立运行每个线程组)
        ④线程组练习 学院增删改查
    练习:学生管理系统增删改查优化
        可以使用http请求默认抽取共同的ip 端口号 协议 编码集 等信息
        测试计划--->右击--->添加--->配置原件--->http请求默认值
        作用:通过复用属性简化实现,提高测试效率
    线程组高级((初始化与销毁线程组)
        线程组属性:属性一 线程数---模拟用户数   属性二:时间值----在指定时间内启动所有线程   属性三:循环数----单个用户访问的次数
        调度器:1)循环次数设置为永远   2)设置启动延迟 x和持续时间y  在x秒后访问服务器 并且持续y秒   3)设置启动时间 M,和结束时间N   在M时开始访问,在N时结束-----2和3实现不能同时使用 否则矛盾了
    jmeter组件:参数化概述(了解)
    是什么:参数化就是动态的获取并设置数据
    为什么:比如执行批量操作时,批量插入或批量删除,之前数据都是手写的,每执行完都需要修改一次,效率太低    参数化就是可以以程序代替人工获取并设置数据:安全+高效
    jmeter组件:参数化实现之CSV Data Set Config(重点中重点)
    是什么:jmeter参数化实现组件之一
    为什么:通过这个组件可以动态获取并设置数据,实现类似批量添加操作((执行一次 将多条数据插入到数据库)
    怎么用:
    其他:CSV Data Set Config.....CSV数据配置          CSV-->逗号分割值文件格式

    相关文章

      网友评论

          本文标题:接口测试

          本文链接:https://www.haomeiwen.com/subject/nykjoqtx.html