接口测试
什么是接口测试
测试人员通常所说的“接口测试”是针对系统各组件之间接口的一种测试,它属于功能测试。接口能测出普通界面操作难以发现的问题。如,我们都知道系统是由前端后端组成,一些数据在前端做了校验,后端同样也需要校验才能保证安全,界面操作显然只能检查到前端校验这一层,只有直接面对前后端之间的该接口才能检验出后端是否也做了校验。
接口测试的流程
需求评审,熟悉业务和需求
开发提供接口文档
编写接口测试用例
用例评审
提测后开始测试
提交测试报告
接口文档 是接口测试的参照,至少包括:
1、接口说明
2、调用url
3、请求方法(getpost ……)
4、请求参数、参数类型、请求参数说明
5、返回参数说明
1.接口测试分类
serviceAPI httpAPI
2.B/S和C/S的区别
CS响应速度快,安全性强,用户体验好,一般应用于局域网中,但是开发维护成本高,BS可以实现跨平台,客户端零维护,但是个性化能力低,响应速度较慢
3.http和https的区别:
1.http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议
2.http和https使用的是完全不同的连接方式,用的端口也不一样,http用的是80,https是443
3.http连接很简单,是无状态的
4.https协议是由ssl+http协议构建的,可进行加密传输,身份认证的网络协议,比http协议安全
https解决的问题:
1.信任主机问题:采用https的service必须从CA上申请证书,客户通过信任证书,从而信任了该主机,虽然这样做效率低,但是银行更侧重安全问题。
2.通讯过程中的数据泄露和被篡改:
1.一般意义上的https就是service有一个证书。客户端和服务端的通讯都是经过加密的,即使三方拦截成功,没有密钥,篡改也就没意义了
2.少数银行对客户端也要求要证书认证,具体证书一般会用U盘来作为备份载体,这样能够更深的确认身份。
4.url地址组成结构: 协议 http/https
端口号:http/https 80 443
请求方式 get
参数name pwd
参数值 admin 123
域名部分
虚拟目录部分
文件名
5.http的请求都有哪些: GET, POST HEAD (1.0) OPTIONS, PUT, DELETE, TRACE 和 CONNECT (1.1)
GET 请求指定的页面信息,并返回实体主体。
HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。
数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
PUT 从客户端向服务器传送的数据取代指定的文档的内容。
DELETE 请求服务器删除指定的页面。
CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
OPTIONS 允许客户端查看服务器的性能。
TRACE 回显服务器收到的请求,主要用于测试或诊断。
7.get/post区别:
1.get请求参数是放在url里的,post请求参数是放在请求体body里面的
2.get请求的url传参有长度限制,post没有限制
3.get请求的参数只能是ASCLL码,所以中文需要url编码,而post没要这个限制
4.get请求在浏览器退出时无害的,而post则会再次提交请求
5.get请求会被浏览器主动cache,而post不会,除非主动设置
6.get请求参数会被完整保留在浏览器历史记录里而post中的参数则不会保留
其实,get/post本质上两者没有任何区别,他们都是http协议中的请求方法。底层实现的都是基于TCP/UDP协议。
8.服务器的响应码状态:
200 - 请求成功,已经正常处理完毕
301 - 请求永久重定向,转移到其它URL
302 - 请求临时重定向
304 - 请求被重定向到客户端本地缓存
400 - 客户端请求存在语法错误
401 - 客户端请求没有经过授权
403 - 客户端的请求被服务器拒绝,一般为客户端没有访问权限
404 - 客户端请求的URL在服务端不存在
500 - 服务端永久错误
9.Session/cookie的区别:
1.cookie数据存放在客户的浏览器上,session数据放在服务器上
2.cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,如果主要考虑到安全应当使用session
3.+session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,如果主要考虑到减轻服务器性能方面,应当使用COOKIE
4.单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能3K。
5.所以:将登陆信息等重要信息存放为SESSION;其他信息如果需要保留,可以放在COOKIE中