接口测试
一、前端和后端:
1. 前端负责貌美如花:都是html、css写的。做一些简单的校验,比如说非空校验。
2. 后端负责养家糊口:业务逻辑、功能,比如说你购物,发微博这些功能是由后端来实现的,后端去控制你购物的时候扣你的余额,发微博发到哪个账号下面。
二、接口分类:
1. webService:走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用、测试。(Soap UI)
2. http接口: 走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和post等方法,这也是最常用的两种请求方式。(Chrome插件Postman)
三、通用接口用例设计
1. 通过性验证:首先肯定要保证这个接口功能是好使的,也就是正常的通过性测试,按照接口文档上的参数,正常传入,是否可以返回正确的结果。
2. 接口安全:
1、绕过验证,比如说购买了一个商品,它的价格是300元,那我在提交订单时候,我把这个商品的价格改成3元,后端有没有做验证,更狠点,我把钱改成-3,是不是我的余额还要增加?
2、绕过身份授权,比如说修改商品信息接口,那必须得是卖家才能修改,那我传一个普通用户,能不能修改成功,我传一个其他的卖家能不能修改成功
3、参数是否加密,比如说我登陆的接口,用户名和密码是不是加密,如果不加密的话,别人拦截到你的请求,就能获取到你的信息了,加密规则是否容易破解。
4、密码安全规则,密码的复杂程度校验
3. 异常验证:必传非必传、参数类型、入参长度。
4. 根据业务逻辑来设计:
举个例子,拿bbs来说,bbs的需求是这样的:
1、登录失败5次,就需要等待15分钟之后再登录
2、新注册的用户需要过了实习期才能发帖
3、删除帖子扣除积分
四、六种Http请求
1. get/post 拼接url http://127.0.0.1:8081/getuser?userid=1
2. 入参是json类型:Body - raw:{"userid":1}
3. 有http权限验证:Authorization: Type:Basic Auth;
4. 需要添加header: Headers: Content-Type application/json
5. 需要加Cookie:Headers: Cookie token12345 (Postman需安装inerceptor.crx(Firefox扩展程序-FQ))
6. 上传文件:Body - form-date:file 【file】