Postman的简单了解
什么是接口 API接口是Application Programming Interface的简称,是一些预先定义的函数,包括*接口地址、传入参数和返回参数 。*
可以简单理解为,当需要访问某些数据,正常状态下传入合格参数,会收到该数据范围内的返回参数。
什么是接口测试 接口测试主要用于外部系统与系统之间以及内部各个子系统之间的交互点,定义特定的交互点,然后通过这些交互点来,通过一些特殊的规则也就是协议,来进行数据之间的交互。
一般我们用的多的是HTTP协议的接口、WebService协议的接口,还有RPC(Remote Procedure Call Protocol)——远程过程调用协议的接口
不管是哪种接口,其本质就是发送一个request,然后服务器响应后返回一个response,然后我们对response进行分析,这即是接口测试。
接口的分类: 1.webservice接口 webService接口是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。
2.http api接口 http api接口是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和post等方法,这也是最常用的两种请求方式。
一个URL就是一个接口:接口大致会分为一下几个部分:
请求协议: http — 普通的http请求 https — 加密的http请求,传输数据更加安全 请求IP:就是指提供接口的系统所部署的服务器地址 请求端口:如果不填端口,默认是80,否则需要填写端口号 接口路径:指系统提供的接口在什么位置 接口参数:参数在接口路径后,用“?”来表示路径地址完了,剩下的都是参数了,用“&”来区分参数个数,
为什么要做接口测试 随着系统越来越多,以及复杂性越来越高,为了保证系统的独立性,也为了使业务更加的独立,系统间的交互,越来越多的使用接口,这时候,为了保证数据的传输的准确性,接口测试也应运而生了,数据的错误,有可能引起系统的重大BUG,
大家都知道,接口其实就是前端页面或APP等调用与后端做交互用的,所以好多人都会问,我功能测试都测好了,为什么还要测接口呢?OK,在回答这个问题之前,先举个栗子:
比如测试用户注册功能,规定用户名为6~18个字符,包含字母(区分大小写)、数字、下划线。首先功能测试时肯定会对用户名规则进行测试时,比如输入20个字符、输入特殊字符等,但这些可能只是在前端做了校验,后端可能没做校验,如果有人通过抓包绕过前端校验直接发送到后端怎么办呢?试想一下,如果用户名和密码未在后端做校验,而有人又绕过前端校验的话,那用户名和密码不就可以随便输了吗?如果是登录可能会通过SQL注入等手段来随意登录,甚至可以获取管理员权限,那这样不是很恐怖? 所以,接口测试的必要性就体现出来了:
①、可以发现很多在页面上操作发现不了的bug ②、检查系统的异常处理能力 ③、检查系统的安全性、稳定性 ④、前端随便变,接口测好了,后端不用变
接口测试的重要性 1.越底层发现bug,它的修复成本是越低的。 2.前端随便变,接口测好了,后端不用变,前后端是两拨人开发的。 3.检查系统的安全性、稳定性,前端传参不可信,比如京东购物,前端价格不可能传入-1元,但是通过接口可以传入-1元。 4.如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,接口测试可以提供这种情况下的解决方案。 5. 接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。 6. 现在很多系统前后端架构是分离的,从安全层面来说: (1)、
只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前面实在太容易), 需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。
(2)、
前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等
我们做接口测试,需要开发提供接口文档。最重要的有一下几点:
被测接口的地址
接口参数,以及各个参数的说明
必要的http头与http体 ( http头是可以自定义的,可以用来校验是否是自己人访问 )
接口返回什么值,以及各个返回值的说明
接口是干什么的
接口测试:json
1.1.3. 什么是json Json是一种数据载体 互联网本质就是数据传输,数据传输就需要数据载体。比如:页面信息就是存储在HTML这种数据载体中
为什么使用json Json传输数据效率更高,所以部分场景下使用HTML与XML 但是JSON语言描述不及标签语言,所以部分场景下使用HTML与XML 如果传递少量数据,使用JSON
接口测试工具及原理
常见接口测试工具
? 典型商业工具:loadrunner,soapui ? 典型开源工具: jmeter ? 扩展插件:POSTMAN
接口测试工具:Postman
GET请求 Post请求
接口测试用例
|