第一单元 网络协议
一。http与https的基本概念
1.什么是http协议
HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准
超文本传输协议:是互联网上应用最为广泛的一种网络协议。
HTTP协议一般用于B/S架构()。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。
2.什么是https协议
https:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,
3.http与https的区别
HTTPS协议是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。
区别:
1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式,用的默认端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
二。http请求的组成
请求行:就是请求的第一行
请求头:包含许多有关的客户端环境和请求正文的有用信息
请求正文:只有一行内容,可以包含客户提交的查询字符串信息
请求方法:get,post,head,put,delete,trace,connect
三。http响应格式
状态行:表示服务器发回的响应状态代码
消息报头:服务器传递给客户端用于说明服务器的一些信息,以及将来继续访问该资源时的策略。
响应正文:是服务端返回给客户端的HTML文本内容,或者其他格式的数据
响应状态码:
100-199:信息状态码,表示成功接收请求
200-299:成功状态码,表示成功接收请求并完成处理过程,常用200接收成功
300-399:重定向状态码,常用302,307,304
400-499:客户端的请求有错误,常用404,403
500-599:服务器端出现错误,常用500
第二单元 常见的接口测试
一。接口
1.API接口
定义:接口就是API是一个软件或服务对外提供的接口,别人只要调用这接口,而内部如何实现,不需要关心。你只要按照要求进行接口调用即可。包括外部接口、内部接口。
作用:
对于软件提供商来说,留出API,让别的应用程序来调用,软件才能发挥最大的价值,才能更有生命力。
对于应用开发者来说,有了开放的API,就可以直接调用多家公司做好的功能来做自己的应用,不需要所有的事情都自己操刀,节省精力。
2.GUI
GUI是图形用户接口,主要提供可视化界面方面的接口
图形用户界面:简称 GUI,又称图形用户接口,是指采用图形方式显示的 计算机操作用户界面。
3.接口的表现形式
(1)采用的协议(http:):一般来讲网址中第一个“:”前面的就是该网址所采用的协议。
(2)服务器地址:以双斜杠“//”开头,后面跟的就是这个服务器的地址,专业术语叫域名
(3)请求资源路径(/ios/cf/dish_list.php) :表示你要请求的资源在该服务器下/ios/cf/dish_list.php的路径下。
(4)参数(?stage_id=1&limit=20&page=1):参数可以找到具体内容,和路径之间使用“?”隔开,参数之间使用“&”隔开。参数是以键值对的形式表现出来的。
二。接口传递数据的方式
1.get方法:Get方式是从服务器上获取数据;在做数据查询时,建议用Get方式
2.post方法:Post方式是向服务器传送数据 ;在做数据添加、修改或删除时,建议用Post方式
3.put方法:put这个方法比较少见。HTML表单也不支持这个。
4.delete方法:删除某一个资源。基本上这个也很少见
三。接口传递数据的差异性
GET能被缓存,POST不能缓存
ET书签可收藏,POST为书签不可收藏
GET后退按钮/刷新无害,POST数据会被重新提交
GET 方法向 URL 添加数据;URL 的长度是受限制的
GET的数据在 URL 中对所有人都是可见的。POST的数据不会显示在 URL 中。
四。接口测试
1.概念
测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点
2.接口测试本质和目的
实质就是检验数据的传输和接受是否正常,传输的是接口地址中的参数,接受的是文本字符串/文件,然后对比内容是否和预期的一样。
目的:测试接口的正确性和稳定性。
3.接口测试的原理
接口测试的原理是通过测试程序模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做出处理然后再把应答报文发送给客户端,客户端接收应答报文这一个过程。
4.接口测试流程
需求讨论—>需求评审—>场景设计—>用例设计—>数据准备—>执行—>测试报告
五。接口测试内容
1.功能逻辑
通过查数据库或缓存等验证数据是否处理正确。
通过其他辅助途径进行验证
2.异常测试
接口测试中主要测试接口正常逻辑,但仅逻辑测试不能保证数据的安全及程序接口在异常情况下的逻辑处理的正确性。
3.路径测试
当被测接口的实现方法中,判断逻辑复杂分支多,且判断中又调用了其他的接口,此时必须要进行路径覆盖测试。
4.结构检查
检查返回值的结构是否正确,如是json类型还是xml类型的数据
字段名称是否正确等
XML和JSON都使用结构化方法来标记数据
5.其他异常场景
研发的项目,有些项目是底层使用的系统,根据项目特点,可能会存在特殊的异常场景。
六。常用接口测试工具
1.典型商业工具:
LoadRunner(LR):一款商业性能测试工具,用来做接口测试,很好很强大 ,但是配置比较麻烦。
2.典型开源工具
Jmeter :一款开源的接口测试工具,操作简单,方便,既有jdbc request操作数据库数据,也有http request和soap request应对测试
Postman:Postman 是一款restful api的测试工具,既有google浏览器插件,也有软件
3.扩展插件
postman:谷歌浏览器的扩展工具,主要用来做接口测试,谷歌商店中选中安装,界面同poster差别不大,界面简洁
第三单元 接口测试相关文档
一。接口文档的介绍
1.什么是接口文档
在项目开发中,web项目的前后端分离开发,APP开发,需要由前后端工程师共同定义接口,编写接口文档, 之后大家都根据这个接口文档进行开发,到项目结束前都要一直维护。
2.接口规范是什么
首先接口分为四部分:请求方式、uri、请求参数、返回参数
请求方式:新增(post) 修改(put) 删除(delete) 获取(get)
url:以/a开头,如果需要登录才能调用的接口
请求参数,分为5列:字段、说明、类型、备注、是否必填
返回参数,结构有几种情况:1、如果只返回接口调用成功还是失败(如新增、删除、修改等),则只有一个结构体:code和message两个参数;2、如果要返回某些参数,则有两个结构体:1是code/mesage/data,2是data里写返回的参数,data是object类型;3、如果要返回列表,那么有三个结构体,1是code/mesage/data,data是object,里面放置5个参数,其中list是Arrary类型,list里放object,object里是具体的参数。
注意:uri地址里不允许出现大写字母,如果是两个单词拼接,用/分开
二。接口测试用例模板介绍
1.核心要素
用例编号 ,用例标题,模块,优先级,前提条件,请求类型,请求参数,操作步骤,预期结果