这博客内容,一部分是是本人学习工作中的总结,一部分是网上查询的资料,写成博客主要是便于自己总结
1 什么是接口测试?
百度
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
维基
API测试是一种作为集成测试的一部分,通过直接控制被测应用的接口(API)来确定是否在功能、可靠性、性能和安全方面达到预期的软件测试活动。由于 API都没有 GUI界面,API测试都是在通讯层进行的。现在 API测试在自动化测试中有着很重要的地位,因为 API一般是应用逻辑的主要接口,同时 GUI测试在敏捷开发和 DevOps的快速迭代和频繁变更中很难维护。
2 为什么要做接口测试?
a) 如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,接口测试可以提供这种情况下的解决方案。
b) 接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。
c) 现在很多系统前后端架构是分离的,从安全层面来说:
1、只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前面实在太容易), 需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。
2、前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等。
3 怎么做接口测试?
对接口测试而言,持续集成自动化是核心内容,通过持续自动化的手段我们才能做到低成本高收益。--由于我们项目前后端调用主要是基于http协议的接口,所以测试接口时主要是通过工具或代码模拟http请求的发送与接收。工具有很多如:postman、jmeter、soupUI、Java+httpclient、robotframework+httplibrary、jenkins、httprunner等。个人推荐小项目的话,用现成的开源工具就好,我用的是jmeter+ant+jenkins
4 接口测试前准备
从项目角度来说,接口测试的第一步是要了解清楚和项目相关的信息。这里所说的项目信息包括以下几个方面:
l 接口开发人员是谁
l 接口开始开发时间
l 接口结束开发时间
l 测试环境信息
l 数据库相关信息
l 需求文档,接口API文档
除了要获取信息外,还需要和开发人员,产品达成一些共识。这些共识包括:
l 第一次提测接口的时间
l 可测接口的提交频率
l Bug解决方式等
5 测试用例编写
推荐遵守如下规则:
原子性:每个用例保持独立,彼此不耦合,以降低干扰。
专一性:一个用例应该专注于验证一件事情,而不是做很多事情,一个测试点不要重复验证。
稳定性:绝大多数用例应该是非常稳定的,也就是说不会经常因为除环境以外的因素挂掉,因为如果在一个测试项目中有很多不稳定的用例的话,测试结果就不能很好的反应项目质量。
分类清晰:有相关性的用例应写到一个模块或一个测试类里,这样做即方便维护,又提高了报告的可读性。
接口测试用例设计实践总结
接口测试的用例设计,主要从输入和接口处理两方面考虑:
1)针对输入,可按照参数进行设计;
2)针对接口处理,可按照逻辑进行用例设计;
3)针对输出,可根据结果进行分析设计。
未完待续。。。
原文地址:https://www.cnblogs.com/pq628/p/10218037.html