1、什么是接口测试?
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
2、接口测试的分类:
1)系统与系统之间的调用,如微信向用户提供统一的对外接口,程序员调用接口完成基于微信的小程序等;
2)同一系统内部上层服务对下层服务的调用,如一个软件程序一般分为表示层,业务层和数据层,表示层调用业务层的接口来完成自己的工作,而业务层又会调用数据层的接口来实现相应的业务等。
3、为什么要做接口测试?
(1)能够提早发现 bug,符合质量控制前移的理念。
(2)接口测试低成本高效益,因为接口测试可以自动化并且是持续集成的。相对UI自动化来说比较稳定,可以减少人工回归测试的人力成本和时间,缩短测试周期,支持敏捷开发
(3)接口测试从用户的角度对系统接口进行全面检测。同时在实际项目中,接口测试会覆盖一定程度的业务逻辑
(4)从安全层面来说,前后端架构分离,如果仅依赖前端进行限制已经不能满足系统安全的要求,需要后端进行控制,防止前端绕过的漏洞,所以需要从接口层面进行控制。传输加密,日志加密,隐私信息都需要从接口层进行控制。
4、接口测试的内容:
1) 参数验证:业务边界测试、参数边界测试
2)业务逻辑测试:正常业务测试、异常业务测试
3)异常测试:幂等性测试、网络测试、并发测试、事务测试等等
4)性能测试
5)渗透测试:sql注入、敏感数据加密、越权等等