一、接口
接口概念:指的是系统或组件之间的交互点,通过这些交互点可以实现数据的交互(数据交互的通道)
接口分类:硬件接口与软件接口,作为测试工程师,更多关注软件层面的接口
接口是最小的质量保证网
二、接口测试的必要性
①、可以发现很多在页面上操作发现不了的bug
②、检查系统的异常处理能力
③、检查系统的安全性、稳定性
④、前端随便变,接口测好了,后端不用变
三、分享django请求生命周期
http请求首先到达wsgi服务器,解析封装为request对象, 交给web框架处理
在框架中,中间件对请求进行进一步处理(例如:csrf、session、路由匹配)
然后进行路由匹配, 执行不同的视图函数,可能涉及到数据库操作,模版渲染等
最后将结果传递到中间件, 封装为response响应对象
最后wsgi服务器将响应对象转换为http报文,返回给浏览器
实现方式:
1、使用接口测试工具来实现(比如:JMeter、Postman)
接口测试的本质就是通过向接口发送请求,查看响应是否正确,现阶段主要以postman工具来实现接口测试,JMeter会在后续的性能测试中重点讲解。
2、通过编写代码来实现(比如:python+requests)
接口测试的另一种方式就是通过代码实现,由于本质就是向接口发送请求,同样可以使用代码实现,并且代码相比工具实现起来更加灵活,但要求测试人员具有一定的coding能力。
自动化:
测试分类:
按照是否自动化进行测试分类,可以分为:手工测试、自动化测试
接口自动化测试:针对接口进行测试,用工具或代码代替人进行测试的一种活动
四、网络协议
常见的网络协议:http、https、TCP(传输控制协议)、UDP(用户数据报协议)
FTP(文件传输协议)、SFTP、SSH(远程登录协议)
http协议:
http协议,(HyperText Transfer Protocol)超文本传输协议,是一个基于请求与响应模式的、应用层的协议,也是互联网上应用最为广泛的一种网络协议。
特点:
1、支持客户端/服务器模式;
2、简单快捷:快速传输,http协议比HTTPS协议更加高效(https协议比HTTP协议更加安全);
3、灵活;
4、无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接;
5、无状态:协议对于事务处理没有记忆能力,对同一个url请求没有上下文关系,每次的请求都是独立的,它的执行情况和结果与前面的请求和之后的请求是无直接关系的,它不会受前面的请求应答情况直接影响,也不会直接影响后面的请求应答情况。