第一讲:
1,基本理论知识
第一天内容:抽象、枯燥。
2,工具的操作:
三个工具:
2个发包工具:
Jmeter、PostMan
1个抓包工具:
Fiddler
3,安全测试的内容:
初级,工具的使用:AppScan

1,基本理论知识
2,Jmeter
项目
3,抓包:fiddler
4,Postman
5,安全测试
6,阶段考核

一天的内容:
1,接口相关的理论知识
1,接口的概念、功能、分类
2,接口测试的概念、原理、流程、方法
接口测试:
3,RestFUl风格架构的一些基本知识
2,web工作基本流程的理论知识
1,请求响应的消息结构(重点、理解、记住、必考)
2,http工作的基本流程(了解、理解、熟悉)

1,接口的概念:(重点、理解)

接口:连接的端口

连接:两个系统连接的端口。交互:一个系统要调用另一个系统的功能或者服务,就需要访问另一个系统。

类比:

饮水思源

古代:喝水,打井----井给我们提供水这种服务(功能)

打井:我在11号楼,11号楼打个井(软件)。

望京。就地打个井。

天灾人祸:地震---离开这个地方。人祸:战争。

喝水:背井离乡。

发展到现代,我们有一个解决方案:自来水系统:水管、泵等等。

两个系统:井,人

人要访问(调用)井的供水(功能),需要连接:端口:
水龙头:
人和井之间的接口

Water Human Interface:WHI--高大上

API:
MHI:Machine Human Interface:人机交互界面

人要进教室 人和教室要形成一个通道:门 人调用门的打开功能:门把手

人要使用电力:插座:EHI

USB:设备(手机、U盘、移动硬盘、鼠标、键盘)和电脑之间的接口。

接口的要素:

水龙头:

方法 参数名 参数值 返回值(功能):返回的参数
逆时针旋转把手 角度 5 少量的水 温度 速度
逆时针旋转把手 角度 90 大量的水
顺时针旋转把手 角度 90 停止供水

接口的三要素:方法、参数、返回值。

函数名adder(参数)(x,y)
a= x + 2
b= y*3
return a+b

x.py

函数名adder(参数)(x,y)
a= x + 2
b= y*3
return a+b

10行代码
adder(1,5)
10行代码

接口的概念、要素。

什么是接口:

为什么要有接口:

井:在哪里,就只能在哪里用。

1,通用性:
经济性:

前后端分离:
前端是一个系统
后端是一个系统

单机版的应用程序:使用者的计算机和提供者的计算机分离。

前后端分离的好处:
高效:使用者在哪里用水,不需要关注井打在那里。
分工明确

天气预报:
两种解决方案:
1,
QQ,要自己开发一个天气预报系统
支付宝,自己开发一个。

2,天气预报只有一个:国家开发的。
qq,就在自己的界面调用国家开发的天气预报系统的接口
支付宝,也调用这个接口。

经济:提高经济性,降低成本。避免重复制造轮子。
别人已经写过的实现同样功能的代码。

微积分的代码:封装到一个函数,类中。

语言:库函数。调用接口--函数名,类名,方法。

通用:

资源

例子:天气预报接口:聚合数据。

接口功能
1,高效
2,经济
3,通用

接口分类:
1,定义分:
内部接口:
外部接口:
微信调用聚合数据的天气预报
外卖调用支付宝的支付接口
2,硬件和软件接口

3,软件接口:
GUI:
dos:cmd

4,协议接口:联网
接口调用要遵循一定的网络协议:ftp http tcp等等。

HTTP接口:
HTTP:Hyper(超级) Text(文本)Transfer(传输)Protocol(协议)

协议:约定、规定。

接口测试的大部分工作都是在:协议接口--HTTP接口

OSI七层模型:HTTP协议工作在应用层:第七层
IP层

接口的分类:

换一个角度来看接口:
把接口看做是一个黑盒。

方法 参数名 参数值 返回值(功能):返回的参数
逆时针旋转把手 角度 5 少量的水 温度 速度
逆时针旋转把手 角度 90 大量的水
顺时针旋转把手 角度 90 停止供水

方法、参数名:参数值是对接口(水龙头)进行的一个输入的操作:

返回值:是接口(水龙头)对调用者(人)一个输出的操作

输入数据--接口--输出数据

输入:方法、参数(名、值)----数据
输出:返回值(参数名和值)----数据

接口的本质:进行数据传递的规范
1,进行数据传递的通道
2,遵循一定的规定,约定,规范----水龙头(接口)的设计者

接口的设计者:开发者(架构师、技术负责人、接口开发者)

接口是由接口设计者规定的,
什么是数据传递的规范:
规定什么样的输入,会返回什么样的输出

输入:请求
输出:响应

方法:请求方式
参数:请求参数和响应的参数
返回值:响应

规范是什么样子的:从哪里知道---接口文档

什么是接口文档:定义接口要素的文档。

接口要素:方法、参数、返回值

接口文档的要素,最重要的就是:
请求方式
请求参数
返回示例
返回参数

接口文档的要素(重点、理解、记住、必考)

接口的概念、分类、功能
接口的概念--接口的要素--接口文档的要素

定义了接口的要素,我们就定义了一个接口。

接口文档先有--开发的依据,测试的依据。

1,接口
2,接口测试
web的工作基本流程:http的基本流程

访问互联网:本质是获取互联网上的某个计算机的资源(数据)
:一个图片、一段文本、一个视频、一个音频、一个可执行程序。

人访问互联网:人想调用互联的某个功能:接口调用。

互联网返回的是:资源(图片等数据)

接口第一个解决的问题是:去哪里获取这个资源。

怎么告诉接口资源的位置:URL

比如,百度首页的URL:https://www.baidu.com/
URL:全球统一资源定位符

1,请求:客户端向服务器端输入请求信息
2,响应:服务器端向客户端输出响应信息

1,输入网址:

http端口号默认:80
https端口号默认:443

2,解析:
1,URL:对什么资源做操作
2,做什么操作:增删改查
查询:
GET:获取一个资源----Select

更新:
POST:新增一个资源--insert
PUT:修改一个资源---update
DELETE:删除一个资源---delete
3,生成http请求消息:
请求消息的结构(重点,记住,必考)
请求的行:第一部分只有一行。
方法 空格 URL 空格 http版本号
头部信息:键值对组成,可以有多个
字段名:字段值
空行
消息体数据:携带的消息数据

响应消息的结构(重点,记住,必考)
响应的行(状态行):只有一行
HTTP版本 空格 状态码 空格 响应提示语
响应的头部字段(响应头):若干行的字段名:字段值
空行
消息体数据

上午:
接口的概念(理解)、功能(了解)、分类(了解)、要素(要素)
接口文档的概念、要素

接口的要素:方法、参数、返回值
HTTP接口的要素:请求地址(URL)、请求方式、返回值、参数(请求和响应的参数)

接口文档的要素:(3-7最重要)
1,接口名称
2,简要描述
3,请求URL
4,请求方式
5,请求参数说明
6,返回示例
7,返回参数说明
8,修订信息(文档相关信息)

web的工作流程:

1,字段重要的字段:P7-P8
Content-Type:text/HTML

application/json

HTML json xml plain(纯文本)
2,状态码:P9

DNS:域名和IP地址一一对应的:
www.baidu.com : 123.54.36.221

URI:www.baidu.com/cd/file1.html

FILE1.HTML -- test.html

整个过程最重要的部分:
请求消息(记住)
响应消息(记住)

URL:指定资源的位置
方法:指定对资源的操作:增删改查
post delete put get

响应消息体:返回的数据

http接口的调用:调用了一个百度的get接口:

http接口的四要素:
请求地址(URL):www.baidu.com
请求方式:get
返回值:
参数(请求和响应的参数):
请求参数:
1,URL后边跟参数:GET方法
URL?参数名=参数值&参数名2=参数值&参数名2=参数值

2,消息体中携带参数:POST方法

响应参数:

所有接口测试工具的测试原理(重点,记住,必考):P2
构造接口文档中的请求,模拟用户发送请求,获取服务器返回的响应报文,跟接口文档中的响应示例做比较,从而从接口层面验证业务逻辑是否正确的得到实现。

什么是功能测试:
验证软件的实现是否符合需求文档中的描述
什么是接口测试:
验证接口的实现是否符合接口文档中的描述

接口的本质:数据传递的规范

为什么做接口测试:

接口测试按照内容可以分为:(记住)
接口功能测试
接口性能测试
接口安全测试

接口测试按执行方式分为:
手工测试:班自动化--借助工具手工执行
自动化测试:使用工具和代码结合,实现完全的自动化

最初级的接口测试:
1,知道测什么:
接口文档
2,选择工具:
聚合数据:平台可以进行简单的接口测试
PostMan

接口测试的原理:

初级的接口测试

day01(无用)的更多相关文章

  1. 使用gulp-uncss清理多余无用css

    cnpm 也可以使用npm cnpm install gulp-uncss --save-dev gulpfile.js var gulp = require('gulp'), uncss = req ...

  2. 减小ipa体积之删除frameWork中无用mach-O文件

    最近项目末期, 我们团队为了ipa的大小使用不少的体积减小的方法, 除了一些常规的方法之外, 我分享一下自己研究出来的新思路. 首先我们来简单的介绍一下mach-O. 什么是mach-O? Mach- ...

  3. Oracle监控用户索引使用情况,删除无用索引

    监控当前业务用户索引 一段时间后查询从未被使用的索引,删除无用索引 停止监控索引 1. 监控当前用户所有索引 得到监控所有索引的语句: select 'alter index ' || index_n ...

  4. 清理iOS工程里无用的图片,可瘦身ipa

    工程在经过多人后,往往会出现较多的垃圾,导致打包出来的ipa文件偏大,有时候我们会通过清理代码来给程序瘦身,而瘦身ipa效果明显的,主要通过清理程序里的无用图片. 推荐一个清理图片的应用 https: ...

  5. android删除无用资源文件的python脚本

    随着android项目的进行,如果没有及时删除无用的资源时安装包会越来越大,是时候整理一下废弃资源缩小压缩包了,少年! 其实判断一个资源(drawable,layout)是否没有被使用很简单,文件名( ...

  6. Jquery day01

    day01: 基础--选择器.属性和CSS.文档处理 day02: 高级--筛选.事件.效果.ajax jQuery介绍 JS类库 JavaScript 库封装了很多预定义的对象和实用函数.能帮助使用 ...

  7. python Day01

    Python Day01 Python 简介 介绍 Python 是一种面向对象.直译式的计算机程序设计语言,也是一种功能强大的通用型语言,已经有将近二十年的发展历史,成熟稳定.包含了一组完善而且容易 ...

  8. Spring day01笔记

    struts:web层,比较简单(ValueStack值栈,拦截器) hibernate:dao层,知识点杂 spring:service层,重要,讲多少用多少 --> [了解]   sprin ...

  9. Android lint 删除无用图片文件和配置文件

    Android lint  删除无用.冗余的  配置文件和 图片资源    转载请注明  http://blog.csdn.net/aaawqqq?viewmode=contents Android项 ...

随机推荐

  1. Logstash filter 插件之 date

    使用 date 插件解析字段中的日期,然后使用该日期或时间戳作为事件的 logstash 时间戳.对于排序事件和导入旧数据,日期过滤器尤其重要.如果您在事件中没有得到正确的日期,那么稍后搜索它们可能会 ...

  2. ArrayList和LinkedList介绍

    java.util.ArrayList集合的数据存储结构是数组,且是多线程,元素增删慢,查找快, 由于日常使用开发大多数为查询数据,遍历数据,所以ArrayList是最常用的集合.上一节已写了. ja ...

  3. Googleplaystore数据分析

    本次所用到的数据分析工具:numpy.pandas.matplotlib.seaborn 一.分析目的 假如接下来需要开发一款APP,想了解开发什么类型的APP会更受欢迎,此次分析可以对下一步计划进行 ...

  4. 【朝花夕拾】Android自定义View篇之(四)自定义View的三种实现方式及自定义属性使用介绍

    前言 转载请声明,转自[https://www.cnblogs.com/andy-songwei/p/10979161.html],谢谢! 尽管Android系统提供了不少控件,但是有很多酷炫效果仍然 ...

  5. C# 模拟Windows键盘事件

    发送键盘消息 [DllImport("user32.dll", EntryPoint = "keybd_event", SetLastError = true) ...

  6. (转)RocketMQ工作原理

    原文:https://blog.csdn.net/lyly4413/article/details/80838716 1.消息中间件的发展: 第一代以ActiveMQ为代表,遵循JMS(java消息服 ...

  7. goweb-搭建服务

    web应用简介 Web 应用在我们的生活中无处不在.看看我们日常使用的各个应用程序,它们要 么是 Web 应用,要么是移动 App 这类 Web 应用的变种.无论哪一种编程语言,只要 它能够开发出与人 ...

  8. 松软科技web课堂:JavaScript 数组迭代方法

    数组迭代方法对每个数组项进行操作,听着挺高深,其实,就是对数组对象一次性逐一进行一种操作的一种叫法.(文章来源:www.sysoft.net.cn,加v:15844800162深度交流) Array. ...

  9. 解决Xcode10 Library not loaded: /usr/lib/libstdc++.6造成的crash及报错

    关键字1:dyld: Library not loaded: /usr/lib/libstdc++.6.dylib   Referenced from: 关键字2:Reason: no suitabl ...

  10. OpenCV:图像的水平、垂直、水平垂直翻转

    首先导入相关的库: import cv2 import matplotlib.pyplot as plt 自定义展示图片的函数: def show(image): plt.imshow(image) ...