一.前后端的概念
- 前端就是clinent端,主要是PC端和手机端这两个分支:PC端指的是WEB端,对应开发语言为swift,object-c;手机端产生两个分支,ANDIROD端对应开发语言为ANDIROD;IOS端,对应开发语言为CSS,JS,HTML端
- 后端就是server端,对应开发语言为JAVA,PYTHON,PHP,.NET..
二.接口
- 接口的作用:负责连接前后端
- 接口的数据类型:键值对key-value的传输形式,接口返回的数据都是json,json是通用的数据类型。
- 测试接口的前提条件必须有接口文档
- 接口测试工具POSTMAN/JMETER
三.HTTP请求
- 请求头,即header,包含了请求中额外的信息,浏览器,cookie,需要什么样的数据。
- 请求体,即body,也就是post请求参数的输入位置,包含了具体的数据
- get请求,只有请求头,没有请求体,它的数据直接放在url里面;随着技术的发展,get请求已经没有长度限制,安全方面不如post请求,因为请求参数全部暴露在外面,虽然如此但是通过抓包的方式,post请求的数据一样可以捕获到。
- HTTP状态码:2XX,请求成功;3XX,重定向;404,客户端发送的请求不合法;500:服务器内部问题
- get的入参方式,是放在URL中;post的入参方式,分为key-value方式,或者json模式,也就是在BODY中的raw,使用{“”:“”}的方式录入参数
四.接口测试
- 接口测试主要关注业务逻辑,和功能测试一样,根据接口文档,相当于功能测试的需求文档,测试正向流程和异常流程,根据返回结果是否测试通过。
五.cookie和session
- cookie就是放在你本地的一个键值对;session就是放在服务器上的一个键值对,服务器上的session会设置期限,到达期限session将不再生效。
- 使用postman的时候,如果接口接口返回带有cookie,那么postman会把它记录下来到cookie中,本地cookie和服务器的session进行验证,验证通过,登录成功,不通过,则登录失败。
- 登录成功时候的sign,就是session值
六.计算机通信
- 遵守TCP/IP协议,建立连接的时候,会发生三次握手,断开连接的时候,会发生四次挥手。
七.POSTMAN
- 配置全局变量的方法
- POST请求基本用法
- get求基本用法
八.JMETER
- 基本概念:开源的java开发的一个压力测试工具。
- 在响应数据和BODYDATA中,输入中文会出现乱码的情况,这时候需要在jmeter的bin目录中的配置文件中,加入sampleresult.default.encoding=utf-8以及jsyntaxtextarea.font.family=Hack,之后需要重启程序,才能生效
- JMETER使用-GET请求
JMETER-POST请求
- 用户自定义变量
定义一个变量,批量使用这个变量的时候,如果变量值发生改变,只需要更改一下这个定义的变量值即可
函数助手对话框(随机数)
通过随机生成的数字,可用于批量的造数据,方便压测的时候作为压测数据使用
- 函数助手对话框(计数)
使用后,会从1开始,每循环一次+1,但是这里有个BUG,不管初始值设置多少,都是从1开始,通过这种方式也是可以批量造数据,而且比随机数的方式快得多,因为随机数的方式会因为随机数相同导致业务不成功。
- 函数助手对话框(时间)
获取当前年月日时间秒,但是循环执行的时候,结果没有变化,只是执行时候的时间
- 时间戳
从计算机发明的那一秒到现在过了多少秒,通过这个数值,就能计算出当前时间,使用的时候这里什么都不填写。jmeter是JAVA开发的,JAVA中的时间戳,默认精确到毫秒,计算的时候需要除以1000才行
参数化
在filename中放要导入的文件地址,VARIABLEname,填写变量名字,引用的时候¥{变量名字}即可
关联
动态的获取数值,调用一个接口,从接口的返回数据里拿到某个值,放到第二个接口请求中使用
DEBUG Sampler
检查变量是否取到值,以及取到了什么值