什么是接口?
接口的种类:外部接口,内部接口(同级服务,上层服务与下层服务)
接口的分类?
http,webservice(soap)。。。
http:主要post,get,delete,put
不同接口类型的差异?参数提交方式,请求数据大小,安全性
接口测试流程?
需求讨论,需求评审,场景设计,用例设计,数据准备,执行
为啥要设计测试用例
理清思路,避免漏测,提高测试效率,跟进测试进度,告诉领导做过,跟进重复性工作
用例设计?
功能,功能是否正常,功能是否按照接口文档实现
逻辑业务,是否依赖业务
异常,参数异常(关键字参数,参数为空,多,少参数,错误参数),数据异常(关键字数据,数据为空,长度不一致,错误数据)
安全,cookie,header,唯一识别码
接口测试工具分类:抓取接口,测试接口
http协议响应码
1XX:信息相应类,表示接收到的请求且继续处理(中间状态)
2XX:处理成功响应类,表示动作被成功接收,理解和接受
3XX:重定向响应类,为了完成指定的动作,必须接受进一步处理
4XX:客户端错误,客户请求包含语法错误或者是不能正确的执行
5XX:服务端错误,服务器不能正确执行一个正确的请求
Http协议请求响应模型(一次请求的生命周期或者简单的软件分层)
Client api DB api client
场景:登陆
1:客户端发起请求道api接口层
1.1 用户在客户端填写用户名和密码,点击登陆,发送请求
2:api接收到客户端发起的用户请求
2.1.1验证用户名和密码是否合法
Eg:用户名必须为真实的手机号码(11位,1开头。。。)
如果验证失败,即用户名不合法,那么需要给客户端返回响应码(自己约定的)
例如:1代表用户名格式错误
2代表用户名或密码错误
3密码格式错误
3:api会将用户名输入的数据发给db层
Create Read Update Delete (这里一般不用delete。一般改为update)
Select * from user where username=’’ andpassword=’’;
3.1数据库查询成功则返回1 否则返回0
4:DB会将返回的查询数据库的条目数给api
5:api返回成功或失败的状态码给客户端
6:客户端将返回信息提示给用户
分层:
一:客户端
功能测试,性能测试,自动化测试
二:接口层
接口测试,功能测试,性能测试,自动化测试
三:数据库层
可以将开发人员使用到的sql语句单独拿出来进行性能测试
常用的http请求方式
一:GET
Get请求:
http://127.0.0.1:8080?username=zhangshan&password=123
二:POST
Post请求:
请求体{
[“username”:”zhangshan”,”password”:”123”]
}
万能的jmeter
应用范围:
1:BS架构应用性能
2:HTTP协议接口功能与性能
3:FTP协议功能与性能
一:MYsql数据库性能(分层性能测试:先是B/S,后是api,最后是数据库)
二:MongoDB数据库性能
线程属性:
线程数:并发用户数
Ramp-Up Period (in seconds):(加策略)
下面是一些相关的截图