接口测试

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-->逗号分割值文件格式

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容

  • 转载自:https://www.cnblogs.com/feng0815/p/7509541.html 首先,什么...
    夏了夏夏夏天阅读 4,101评论 5 49
  • 首先,什么是接口呢? 接口一般来说有两种,一种是程序内部的接口,一种是系统对外的接口。 系统对外的接口:比如你要从...
    木箫箫阅读 1,744评论 2 17
  • 源于:https://www.cnblogs.com/feng0815/p/7509541.html 首先,什么是...
    柠檬萌呀阅读 551评论 0 0
  • 首先,什么是接口呢? 接口一般来说有两种,一种是程序内部的接口,一种是系统对外的接口。 系统对外的接口:比如你要从...
    凶猛老鹰阅读 760评论 0 51
  • 人间最美四月天,转眼巳经到了四月份,迎来四月的清明假期,原来比较著名的“清明时节雨纷纷”这个形容清明节期间的天...
    淇闻逸记阅读 334评论 0 1