接口测试基础知识(一)背景
前几天更新本地测试环境的时候,向开发求教配置问题。新来的开发竟然特别诧异:“测试还需要做这些吗?不就是界面上点点点就可以了吗?怎么你们后台命令用的比我们还溜?”
到现在了,大多数人对测试人员的认知还是停留在最基础的点点点上面,真想给个白眼,哈哈哈。现在从事测试工作,除了要求基本的功能手动测试外,还需要有接口测试,web自动化测试,性能测试,安全测试等方方面面的知识储备和经验。
不过说起来,接口测试和性能测试一直还是我的薄弱之处。所以还是要加油呀!参考了一些资料和书籍,在这里总结记录一下。不足之处,以后慢慢改正。
接口一般可以分为:
- 内部接口。服务器端内部代码交互时用到的接口,如Unit单元测试。
- 外部接口。客户端和服务的交互时用到的接口,如HTTP接口。
常用的接口工具有:
- Postman:谷歌的一款接口测试插件,轻量级,使用很简单,支持用例管理,支持get、post、文件上传、响应验证、变量管理、环境参数管理等功能,可以批量运行,并支持用例导出、导入。
- JMeter:用Java编写的免费开源的工具,它主要用来做性能测试,但也支持接口测试。
- SoapUI:一个开源测试工具,通过soap/http来检查、调用、实现Web Service的功能/负载/符合性测试。
- RESTClient:由Java实现的测试REST API的工具并可以生成测试报告,同时基于测试过的历史数据,可以生成REST API文档
- ......
接口测试较于Web自动化测试的优势:
- UI测试介入的时机较晚,修复发现的bug成本较大;接口测试能使测试更早、更深入的介入项目,降低问题修复的时间成本。
- UI测试很难发现底层逻辑问题,接口测试UI能发现系统深层次的问题。
- UI界面元素经常变换,自动化产出和投入比偏低;接口的变更远远小于UI的变更频率,自动化维护成本更低。
- ......
接口测试范围:
- 系统越复杂,接口越多,想要覆盖所有接口很困难,因此主要测试最外层的两类接口:
- 数据进入系统的接口
- 数据流出系统的接口
- 需要关注接口的:
- 功能是否实现
- 性能是否达标
- 安全性是否满足
接口基础知识后面接着唠...