接口要怎么测试?接口自动化可以怎么做?
Posted 软件测试自动化测试
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口要怎么测试?接口自动化可以怎么做?相关的知识,希望对你有一定的参考价值。
接口测试分为分为单接口测试和多接口业务串联测试,
接口测试本质是测试接口传入正确的或错误的参数,服务端的处理逻辑是否正确。
1. 其中单接口测试分为业务等价类测试、参数规则边界测试和安全测试三个维度:
(1)业务等价类测试。业务等价类分为单接口的有效等价类和单接口的无效等价类。例如登录接口,在用户名和密码输入合法的前提下,有效等价类是“正确的用户名 + 正确的密码”这一组合,无效等价类包括“正确的用户名 + 错误的密码”、“错误的用户名 + 错误的密码”、“错误的用户名 + 正确的密码”等组合。需要注意的是,我们不仅要找出所有的“有效等价类”(有效等价类毕竟是最常见的业务流程,往往不会忘记),也要找出所有的“无效等价类”。
(2)参数规则边界测试。参数规则边界测试是对接口请求体参数、字段,基于需求的边界值做限制。例如登录的用户名和密码中,字符类型和字符长度限制。在不多数互联网公司,这类限制大多由前端处理。但严格来讲,不仅前端要处理参数、字段的边界,服务端也是需要在接口层级做参数、字段边界的校验的。因为服务端的校验才是最可靠的;此外,基于前后端的C/S架构、B/S架构,如果在服务端做了参数规则校验,那么新开发的各个客户端,就算没有处理对应逻辑,也是不会出现错误数据的,而客户端处理的话,就需要对各个类型的客户端限制参数字段的边界。
(3)安全测试。为防止任何人随意调用接口,我们会给接口加上鉴权限制,这就需要测试接口的安全性。比如接口header里加token和不加token,加cookie和不加cookie等。
2. 多接口业务串联测试
接口之间是有业务关联的,例如订单创建后,订单支付接口应该可以拿最新的订单号支付成功;而订单支付成功后,订单详情接口应该要能拿到最新的订单支付状态,即依赖于订单支付接口的数据,都能够获取到正确的数据。
在单接口测试通过的基础上,再去测试多接口业务串联测试。单接口测试通过,代表单个接口的代码处理没有问题,这时候把业务相关联的接口串联起来,测试通过就代表业务流程没有问题。
测试工具我们选择Jmeter、Postman等都可以。
在做好接口测试后,我们可以对单接口进行封装,实现接口自动化测试(推荐在产品需求第一次开发时,就可以写接口测试的脚本,接口测试通过后,单接口测试的脚本可以直接集成到接口自动化脚本中,非常高效方便)。
接口自动化测试方法、框架有很多,如果代码基础比较薄弱,推荐的方法是采用Jmeter + Ant + Jenkins + Git + 邮件服务器的方式来实现。该方法的优点是:
1. 对代码要求不高,非常有利于开发基础不强的测试团队;
2. 测试数据、测试用例通过Json文件来管理,且可以和测试脚本一起可以实现分布式管理、多端开发接口测试脚本;
3. Jenkins 定时发送测试报告,并基于日志定位问题。
如果有Python基础,采用Python + Request + Jenkins + Git + 邮件服务器来做接口自动化,也会很灵活。
总结
最后总结一下学习最重要的知识圈
如果你对此文有任何疑问,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入:
Python自动化测试技术群: 953306497 (备注“csdn111”)群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。
以上是关于接口要怎么测试?接口自动化可以怎么做?的主要内容,如果未能解决你的问题,请参考以下文章