接口测试
接口测试的类型:基于代码的接口测试-直接测试源代码(白盒测试);基于协议的接口测试-间接测试源代码
接口测试:关注数据的传递、交换、系统间的逻辑关系、权限控制
关注的接口:外部接口、内部接口
自动化测试的技术类型:基于界面;基于协议;基于代码
GUI自动化测试(工具、代码):操作被测对象,比对实际结果与预期结果是否一致。
代码级接口测试(代码):调用被测对象,比对实际结果与预期结果是否一致。
手工测试(手工):操作被测对象,比对实际结果与预期结果是否一致。
协议级接口测试(代码,协议):模拟协议传输的过程,实现客户端与服务器间的数据传递(协议头信息,协议类型,请求方法、请求正文),比对响应结果与预期结果是否一致。
接口测试的思路:
a.有返回值/响应结果:利用返回值/响应结果,与预期结果进行比对。
b.没有返回值/无响应结果:关注程序实现的功能是否按照预期实现。
协议
1)约定、规则、规范,身份证号码:15、18;440402199110209073
2)客户端与服务器通信,也需要约定。
3)OSI参考模型:7层模型-物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
4)应用层代表协议:
HTTP--Hypertext Transfer Protocol,超文本传输协议
FTP、NFS、Telnet、SSH
SMTP--Simple Mail Transfer Protocol,简单邮件传输协议
5)表示层代表协议:JPEG、ASCLL、GIF、DES、MPEG
6)会话层代表协议:RPC、SQL
7)传输层代表协议:TCP--(Transmission Control Protocol)传输控制协议、UDP--(User Datagram Protocol)用户数据报协
8)网络层代表协议:IP-Internet Protocol(网络之间互连的协议)
9)数据链路层代表协议:IEEE802.3/.2、HDLC、PPP、ATM
10)物理层代表协议:RS232、V.35、RJ-45、FDDI
11)TCP/IP模型--4层模型:应用层、传输层、网络层、网络访问层
12)TCP:三次握手---建立连接;四次挥手---断开连接
13)模拟TCP通信过程:实例化一个socket对象;建立连接;发送数据;关闭连接;SOCK_STREAM
14) 模拟UDP通信过程:实例化一个socket对象;建立连接;发送数据;关闭连接;SOCK_DGRAM
请求数据信息分析:
请求头信息:请求行、请求头,请求正文
请求的响应信息:响应行、响应头、响应正文
常见状态码
1XX - 信息,服务器收到请求,需要请求者继续执行操作
2XX - 成功,操作被成功接收并处理
3XX - 重定向,需要进一步的操作以完成请求
4XX - 客户端错误,请求包含语法错误或无法完成请求
5XX -服务器错误,服务器在处理请求的过程中发生了错误
版本历史变迁:0.9;1.0;1.1;2
Uniform Resource Identifier--URI /smeoa/index.php?m=home&a=index
json.loads():将JSON数据转换成Python对应的数据格式--反序列化
json.dumps():将Python数据转换成JSON数据格式---序列化
HTTP工作过程:输入URL--地址解析--封装HTTP数据包--建立TCP连接--客户端发送请求,请求数据--服务器给出响应--关闭TCP连接--浏览器页面渲染
HTTP协议:无连接、无状态
有状态的HTTP协议:借助cookie实现。登录(cookie,记录用户的登录状态)---- 新增公告(cookie,提交的正文数据)