为什么要做做接口测试?如果绕开客户端能够作一些不用校验的事情这样就危险了;举例某网站2016年因支付接口未做校验被攻击,不怀好意的人一分钱下不退不改的订单直接导致公司损失一百多万,所以重要性是不言而喻的;接口测试是绕开Client直接操作展开测试,系统之间调用、前端后端调用,也能帮助功能测试减少漏测提高覆盖率;接口分为前端和后端接口,做接口测试首先要熟知tcp/ip、http、https 协议;、熟知协议的构造、知道对应协议用对应的工具测试最优,常用的请求和响应方式,get、post、put、delete;需要掌握 json、xml、html 等格式的语法看懂报文,熟悉相关协议才能够做好数据分析。
在测试接口之前要知道接口所用的协议,方便组装数据,这时候就需要抓包工具了,熟练使用常用的抓包方法和工具;如fiddler等;接口测试工具postman、jmeter、soapUI等工具。
最好掌握一门编程语言如java、python 、shell等; 掌握基本的增删改查 sql 语句以便查询数据造数据;还要不断更新相关知识与时俱进。
写接口测试用例的三A原则:A: arrange 初始化测试数据,就是造数据,A: act 调用接口,传入输入数据;A: assert 断言, 对返回的资源信息进行断言,判断是否正确;直白滴说接口测试的内容一般包括测试返回值是否正确、测试返回值类型是否符合设计文档、测试返回的 error 信息是不是跟设计一致、对输入进行类型、边界测试,测试接口是否有对异常数据做处理;接口测试用例设计也围绕上面展开,传参数:1合法的、2不合法的(特殊符号等)、3为空(null)值得、4边界值测试;业务逻辑测试;接口安全测试。
缓存(不知道是不是应该写在这里),一个是服务器端端一个是客户端,用fiddler抓网页在第一次加载的时候是没有缓存的,当刷新页面之后再看同样的请求会发现有300开头的HTTP状态码,那么这里就是对应的缓存应用,HTTP request和response都会有所不同;还要判断缓存是否过期,HTTP hesder中的If-Modified-Since是用来判断内容是否为最新以及过期;控制合理的缓存有利于提高网站的性能,客户会对网站的粘性越来越强。
session和cookie,session是存在服务器上的时间域,客户浏览页面session会把时唯一的标识传输到客户本地存储于本地的cookie中,所以cookie是存在客户端的通行证,这个通行证很不安全容易被劫持。
感觉不是很全面,有些还不能理清。