接口理论

接口相关理论介绍

接口:
	信息交换,信息共享,在计算机中:接口是围绕数据在转。数据要有规则和准则(协议),还要考虑建立良好可靠的安全的沟通方式,传送方式

接口定义:
	就是各方按照某种规则或者协议,进行信息的交互或者数据交换。
接口发生在哪呢?:
模块与模块之间
服务与服务之间
系统与系统之间
产品分层:
前端:http(tomcat(提供动态,jsp,servlet),nginx(静态多一点),js(npm))
后端:tomcat(java)接口服务(微服务),核心还是接口。
进行接口相关操作
协议,域名,端口,URI(URL)

URL就是协议+域名+端口+URI
URI:统一资源标识符,俗称是资源或者路径,这里路径是虚拟的路径,但是最后还是会指回到指定目录

协议的价值:
按照某种规则进行数据的传递,共享,便于接受到数据后,进行数据解析,获取数据,帮助我们建立可靠的安全的沟通方式
访问一个web页面的过程是什么?,请用专业角度?
	1.通过http的get发送请求
	2.通过tcp协议完成三次握手后,创建session,传输数据
	3.要http保持会话,完成数据传输后,再断开连接
接口测试的思路/策略
	采用的思路是规范和方法先行,其次工具的选择,人员的培训,然后是实施和过程化(框架化),持续集成
为什么要进行接口自动化测试?
	系统越来越复杂,产品设计都是按照接口设计进行的,数据之间的交互都是通过接口提供的服务完成,接口变成了我们测试对象。
	产品分层多(前端,后端,业务层,中台,数据层,存储层,架构层)所有层之间的工作,数据交互,都是通过接口传递的。
	接口测试容易实现自动化测试(GUI),也容易实现持续集成,相比较GUI自动化,比较稳定,可以减少测试 人力,成本与时间。
	缩减了测试周期,支持了快速的迭代。接口的持续集成,降低了成本,提高了效率。
接口测试的原理?
	根据规范(参数,协议,调用方法,code含义,返回数据的意义等)模拟请求,向接口发送数据(协议来讲叫报文),在获取返回结果(也叫响应),依据响应进行断言
设计用例:
	1.规范(参数,协议,调度方法,code含义,返回数据的意义等)
	2.断言(设计断言,返回数据的意义)
		1.)返回的code
		2.)返回的值
			
具备条件:(http)
接口:URI,path
方法:get,post(send,receive)
参数:get(query string)(key,value,json,文件,)
response(响应):正确响应:正常业务的响应数据,还有错误的响应数据(error mseeage):(空参数:null,类型不匹配)
错误提示():
提醒一下(1个用例要有多个断言,不能只盯状态码,不能只看接口本身的断言,还要看单眼相关联的接口,叫接口关联)

get和post区别:
get:获取信息。
post:增加资源,后端的数据发生变化
get会过滤数据,查询字符,是可以带参数
接口测试流程:

需求讨论——》需求评审——》确定需求——》产品接口定义——》根据需求文档以及接口文档定义(设计测试用例)——》用例评审——》编写接口测试用例——》执行——》维护

测试用例设计:
	接口功能(业务功能,接口本身功能,非业务功能(性能)),合法性校验(身份),异常处理(1。非法数据校验,2。非常规(大量)),安全性,可靠性(接口并发)
	选择对象,按照业务流(业务流程),数据流,寻找断言点,依据相关的接口的测试(输入/输出)
	接口测试从功能角度,业务角度,数据流角度,性能问题考虑。
测试用例包括:
	1.功能点:功能点,测试环境,测试数据,执行操作和预期结果
					如果一个接口过于复杂,可以对接口进行接口结构的划分(分段,分片(细化功能,层次,平台))
			用例环境:
					程序内部环境和程序调用的外部接口(注意断言)
			测试数据:
					系统数据,环境数据,配置数据
					接口参数数据,正常场景,异常场景
								业务逻辑(构思数据,数据从哪来到哪里去,经历了什么过程,做了什么改变)
					边界值分析:
							业务边界
							输入参数的合法(不合法,空,超长,null)
							覆盖所有的必选的参数(接口文档中会有说明哪些是必选参数)
							组合可选参数(必选的和可选的进行组合,必选无可选或者全可选部分必选)
							参数的有无
							参数的顺序,个数,类型,长度
							参数的类型数值大小,数值的范围
							参数字符串的长度,null,max,max+1,min,min-1
							特殊符号!@##¥%……&*
					异常分析:
							正常数据的异常,并发测试,事务测试
							错误数据的异常
							其他异常:幂等-重复提交(post不可以,要组织重复提交)
					安全性测试:
							用户名,session,敏感数据脱敏处理,身份证,卡号,生日,密码,照片
测试过程验证点:
	接口返回数据:
			返回json数据的层次关系与文档是否一致
			数据类型,金额,数值,负数,小数转换
			接口返回数据与接口文档是否一致
			接口返回数据与数据库的是否一致
			接口返回数据是否符合业务逻辑(数据与实践的关系,数据与时间以及业务的匹配)
			对于列表,应根据请求参数,也应该验证列表的长度
			负面测试用例应该验证error message
接口测试的质量评估标准:
	业务功能的覆盖率
	业务逻辑的覆盖率
	参数验证是否达到要求。
	接口异常场景的覆盖率是否达到要求
	接口的覆盖率(数量,功能,规则,参数)
	性能指标
	安全指标
fidder抓包:
	1.找接口:(对象)/testwnsales
		get/ 后面的
	2.找方法 get/post
	3.找请求体
	4.参数
	5.找请求体(header(Cookie(session id),Content-Type))
	6.找响应体(header,状态码,响应的数据)
	
	
Content-Type
	1.application/x-www-form-urlencoded;charset = UTF-8 :表格式提交参数
	2.multipart/form-data :上传文件
	3.application/json :post数据格式json
	4.text/xml

公钥和私钥是对应的,数据要给谁,就用谁的公钥。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值