问题原因:新公司项目使用前后端分类的开发模式,发现bug后不能区分是前端的还是后端的,所以网上搜集资料了解了一下。
前后端分离的开发模式下,前后端仅仅通过接口来编程,后台只负责数据的提供和计算,不处理展现;前端负责拿到数据,组织和展现数据。前后端调用主要是基于http协议的接口,所以测试接口主要通过工具或代码模拟http请求的发送和接受。
手工接口测试:通过抓包或者看接口文档准备好输入数据包,再用发包工具把数据发给服务端接口,然后校验返回值。(接口是http接口,在linux使用curl命令就可以调用该接口,把数据传给接口)
Windows上接口测试工具:postman、jmeter、soupUI、Java+httpclient等。
抓包工具:linux上tcpdumpo,Windows上可以用fidder或者charles。(抓包指的是抓取浏览器和服务器之间的通讯数据)
自动化接口测试:把一些接口测试编写成脚本,然后人工出发去批量执行测试,并自动校验返回结果。工具:Jmeter、soupUI。
Rest风格接口组成:请求(Request)、响应(Response)及相应信息头(Request Header和Response Header)组成。实际代码中包含五部分:Remote Address、Request URL、Request Method、Status Code、Response Content。
Request Method:请求方法,一般有PUT、DELETE、POST、GET,对应数据库增删改查操作。
Request URL:请求地址,“http://”+“域名”+“路径”+“?”+“参数”组成;Get方法,参数附在路径Path后面,Post方法,参数放入Header后面进行传参。测试时按接口文档传入预期参数,等否得到有效的修改,传入异常值(等价类,边界值)能否返回合适的错误内容提示等。
Status Code:接口状态值,表示接口目前状态,一直为200,表示接口正常;500表示服务器内部错误;404表示找不到数据。
Response Content:接口返回数据,一般为JSON或者HTML格式。
【需要学习的内容】W3C上:http协议、restful风格接口、json、soap协议、API、WebServices;jmeter工具及官方文档、谷歌插件postman。