常见接口协议:HTTP(超文本传输协议)、HTTPS(安全超文本传输协议)、FTP(文件传输协议)、TCP(网络控制协议)、IP(互联网协议)、UDP(用户数据协议)。
HTTP协议响应码:
1XX:信息响应类,表示接收到请求并且继续处理,
2XX:处理成功响应类,表示动作被成功接收、理解和接受,
3XX:重定向响应类,为了完成指定的动作、必须接受进一步处理,
4XX:客户端错误,客户请求包含语法错误或者是不能正确执行,
5XX:服务端错误,服务器不能正确执行一个正确的请求。
HTTP协议请求响应模型(从client开始):(一次请求的生命周期或简单的软件分层)
场景:登陆
- 客户端发起请求到API接口层:用户在客户端填写用户名和密码,点击登录,发送请求,
- API接收到客户端发起的用户请求:API对业务逻辑进行验证,验证用户名和密码是否合法,
- API会将用户输入的数据发给DB层(进行增删改查一系列的操作)
Create、Read、Update、Delete
select * from user where
username=’ ‘ and password=’’
- DB会将返回的查询数据库的条目数给API,
- API返回成功或失败的状态码给客户端,
- 客户端将返回信息提示给客户。
- 客户端:功能测试、性能测试、自动化测试,
- 接口层:接口测试、功能测试、性能测试、自动化测试,
- 数据库层:可以将开发人员使用到的SQL语句单独拿出来进行性能测试。
常用HTTP请求方式:(get和post)post有请求体。
(get请求的开发与测试;post请求开发与测试)
GET 和POST 的区别:
- GET 使用URL 或Cookie 传参,而POST将数据放在Body 中。
- GET的URL 在长度上会有限制,而POST没有。
- POST比GET相对安全,因为在地址栏不可见。
- 一般POST请求用来获取数据,POST请求用来发送数据。
注:对于上面的区别,其实第一点POST也可以将数据放在URL里,GET请求其实也没有长度限制,POST请求看起来是隐式的,但是可以通过抓包拿到参数。
万能的jmeter(jmeter的应用):
- BS架构应用性能,
- HTTP协议接口功能与性能,
- FTP协议接口功能与性能,
- MySQL数据库性能,
- MongoDB数据库性能,
- 支持自定义Java组件开发。
常见乱问题解决:
- 在encoding栏中写入utf-8,
- 在jmeter.properties文件中将samplerresult.default.encoding=ISO-8859-1改为samplerresult.default.encoding=utf-8。重启jmeter即可,
- 添加组件,线程组到添加到后置处理器中添加beanshellpostprocessor。在弹出的框中写入prev.setdataencoding(“utf-8”)
聚合报告:(监听器中的聚合报告)
场景设置;参数化函数助手(CSV)。