如何才能做好接口测试

首先了解什么是接口

1. 首先了解接口的含义

接口是指两个或多个独立软件模块之间进行数据交换的地方。

2. 接口分类

1. 接口按测试对象分为模块接口、web接口
	其中web接口又分为服务端接口、外部接口
    1.1  模块接口指的是数据在功能模块之间传递的接口
    1.2  服务端接口指的是数据在客户端/浏览器与服务端之间传递接口
    1.3  外部接口指的是非本系统内部的,调用第三方系统的接口
2. 接口按照测试体系分为接口功能、接口性能、接口稳定性、接口安全性
3. 接口按照测试类型分为参数、场景
	3.1 参数指的是接口的入参和出参
	3.2 场景指的是单个接口组成的连续的场景

3. 接下来了解什么是接口测试

1. 接口测试是用于测试软件系统中不同模块之间的接口。

4. 之后需要了解不同类型接口的测试

1. 模块接口测试可以理解为在单元测试的基础上,验证不同功能模块之间接口调用数据流转的正确性,适用于分别开发一些功能模块。
2. 服务端接口测试可以理解为验证客户端/浏览器与服务端接口数据流转的正确性,一般适用于前后端分离的项目
3. 外部接口测试可以理解为本系统调用第三方系统接口数据流转的正确性。
4. 接口功能测试可以理解为验证接口是否符合功能预期设置,测试使用的方法也是黑盒测试方法,例如: 等价类、边界值、正交实验法等等
5. 接口性能测试可以理解为从多用户共同访问同一个接口,会不会出问题
	多用户同时进行操作,通过访问的是同一张表,如果数据库设计的不合理,没有加锁(解决高并发),可能就会把表锁起来
	举个例子:在用户A对某一条记录执行了DML语句而没有COMMIT时,用户B想进行修改/删除表数据,数据库为了防止"脏数据"、"脏写",所以这个表对用户B来说就被锁了。
	从线程的角度进行验证的话,没有加锁的情况下,两个用户同时进行操作时,是否按照某种规则来执行。
6.  接口稳定性测试验证在恒定的大压力下,系统是否稳定。有人将其划分为三个阶段恒定压力阶段、压力变化阶段、异常干扰阶段
	6.1 恒定压力阶段其实就是保持压力大小恒定不变,评估系统的吞吐量波动、响应延迟情况。
	    其中吞吐量TPS含义是服务器每秒或每分钟正确处理的请求数
		服务资源比较充足且比较稳定的情况下,通常TPS波动很小;如果TPS波动比较大,如突然下降,或剧烈抖动,则系统肯定存在性能问题,比如某个资源成为瓶颈,或某个缓冲队列堆积或爆满等情况。
		恒压阶段并发大小的设置一般参考负载测试阶段的结果,选取性能拐点或资源临界点如CPU使用率80%左右的压力,或接近扩容指标的压力。因为常规情况下线上运行最大压力基本在扩容指标之下,选择这个压力对系统的考验会更加严格。
		恒压阶段的性能通过指标
		通过指标包括两类,性能指标和资源指标。
			- 性能指标:普通接口TPS上下波动率不超过20%,交易接口的TPS上下波动率不超过5%;错误率小于0.1%,且错误影响范围比较小。
			- 资源指标:资源指标无异常,如CPU无波动,不均衡等现象;无内存泄漏、连接数泄露、句柄泄露等问题。
		一般波动范围是从历史数据日志、监控日志中获取、由业务相关人员对预期的业务量进行评估获取,三个方面获取。
	6.2 压力变化阶段依据不同实际线上运行场景进行压力定制波峰和波谷。
		进行压力变化阶段测试时,需要配置初始并发数、上升时间、最大并发数、最小并发数、最大最小并发数保持时间、周期重复数、下降时间
		变压阶段的并发选择
		 - 最大并发数一般选取负载测试时最大TPS对应的压力
		 - 最小并发数为最大TPS对应压力的一半,初始并发选择最大TPS对应压力的80%左右
		变压阶段的性能通过指标
		 - 性能指标:TPS波动后能够回到原来的稳定值;在波峰时,响应时间增幅不会过大;错误率小于0.1%
		 - 资源指标:资源指标无异常,如在波峰增长阶段CPU不存在大幅度的波动情况;无内存、连接数、句柄数泄露
	6.3 异常干扰阶段验证系统在遇到一些异常时能否做出预期的处理和响应,而不是卡死或是不响应,异常撤销后系统能快速回复正常服务。
		异常手段主要时一些系统层资源争用的异常,主要包括CPU、内存磁盘、网络异常以及服务故障及恢复等场景。
		异常干扰的通过标准
		- 性能指标:随机异常撤销后能够回到原来的稳定值,错误类型分拣,明确错误原因,是否符合预期
		- 资源指标:资源指标无异常(CPU/IO/网络);无内存、连接数、句柄数泄露;程序无挂掉等情况。
7. 接口参数测试可以理解为对单个接口的入参和出参进行详细的测试。
	7.1 接口参数测试包括入参默认值,必传项、非必传项、业务逻辑、兼容性测试(是否兼容不同版本的前端)、错误吗、异常类型、安全加密等。
	7.2 场景测试可以理解为指单个接口组成的连续的场景。
		举个例子:注册功能,需要包括发送验证码接口、注册接口、其中注册接口包含的功能有验证注册账号和注册验证码功能。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值