一、接口类型
- 按结构分:模块与模块之间(系统与系统之间)的接口成为内部接口;项目与第三方接口称为外部接口
- 按实现技术分:
- http接口:基于HTTP协议发送请求给服务器,服务器然后金响应一次的过程;响应的结果类型通常为:yext/html、text/xml、application/json。其对应的测试工具:fiddler、postman、jmeter、lr、框架(RF、python+request、java+httpclient)、自主研发的工具
- webservices接口:webservices表示的是以服务的形式进行管理接口;其本质就是基于http协议所封装的soap协议;其对应的结果数据格式一定是xml类型;其对应的测试工具:SOAPUI、Jmeter
- websocket接口:socket表示的是基于tcp/udp传输层中所抽象出的一层;只要客户端与服务器一旦建立链接,则可以实现客户端与服务器之间的双向数据通讯,其对应的测试工具:socketTest、jmeter
二、接口测试
接口测试:是对系统或组件之间的接口进行测试,主要是校验数据的交换、传递和控制管理过程,以及相互逻辑依赖关系。
2.1 接口测试原理
模拟客户端向服务器发送请求,服务器接收请求后进行相应的业务处理,并向客户端返回响应数据,检查响应数据是否符合预期。
接口测试,主要针对的测试目标是服务器。
三、HTTP协议
协议:就是规则,要求通信双方必须要遵循的规则
3.1 HTTP协议介绍
HTTP:(HyperText Transfer Protocol) 超文本传输协议,是一个基于请求与响应模式的、应用层的协议,也是互联网上应用最为广泛的一种网络协议
3.2 HTTP协议的特点
- 支持客户端/服务器模式
- 简单快速
- 灵活
- 无连接
- 无状态
四、URL
URL:Uniform Resource Locator 统一资源定位符,是互联网傻瓜标准资源的地址。HTTP使用URL来建立连接和传输数据。
URL格式
http://localhost:8001/backend/page/login/login.html?username=张三&password=123456
- 协议部分:"http",常见的协议有HTTP,HTTPS,FTP等
- 域名部分:"localhost",也可以使用IP地址作为域名使用
- 端口部分:“8080”,端口可以省略,默认端口(HTTP:80,HTTPS:443,FTP:21)
- 资源路径部分: "backend/page/login/login.html"
- 查询参数部分:“username=张三&password=123456”,可以允许有多个参数,多个之间用“&”连接。
五、接口测试用例设计
5.1 接口测试维度
- 功能测试
- 单接口功能
- 业务场景功能
- 性能测试
- 响应时长
- 吞吐量
- 并发数
- 服务器资源使用率
- 安全测试
- 敏感数据是否加密
- SQL注入
- 其他
5.2 接口用例设计的方法与思路
功能测试:验证接口功能是否按照接口文档实现(输入+处理+输出)
- 单接口测试
- 手工测试中的单个业务模块,一般对应一个接口
- 如登录业务-->登录接口
- 借助工具、代码,绕开前端界面,组织接口所需的数据,展开接口测试
- 手工测试中的单个业务模块,一般对应一个接口
- 业务场景功能
- 按照用户实际使用场景,梳理接口业务场景
- 组织业务场景时,一般只需要做正向测试即可(与手工一样)
- 一般建议用最少的用例覆盖做多的业务场景。
- 登录 -->搜索商品 -->加购物车 -->下单-->支付 -->评价
六、前端后端、前台后台的概念
前端、后端:是项目中研发的两个角色;
前端:完成页面的开发(页面的设计、脚本的设计、页面的数据对象的处理),使用最多的语言(html、css、js)
后端:实现项目中的业务逻辑功能以及数据的处理(java,c/c++、c#、php、python)
前台、后台:主要是针对用户而言所存在的一个项目功能权限的划分‘前台针对一般大多数用户而言都拥有的权限(访问、浏览权限),后台针对部分用户(运维、技术支持)等人员所拥有的管理权限。