本文主要介绍了接口测试中常见的面试题,包括GET和POST的区别、HTTP与HTTPS的区别、HTTP状态码的含义、API文档的内容以及接口上下游传参的处理方法,还提及了数据驱动测试的概念。
1. GET和POST的区别
- GET是用于获取资源的请求,通常用于查询操作,其参数显示在URL中,存在长度限制,安全性较低。
- POST则用于提交数据,数据封装在请求体中,不显示在URL,更安全,且数据量无明确限制。
2. HTTP与HTTPS的区别
- HTTP是未经加密的协议,数据明文传输,而HTTPS基于SSL/TLS加密,提供数据安全传输。
- HTTPS需要使用数字证书(通常是收费的),以验证服务器的身份。
- 默认端口不同,HTTP使用80端口,HTTPS使用443端口。
3. HTTP常见状态码及其含义
- 1XX(信息提示):请求正在处理。
- 2XX(成功):200表示请求成功。
- 3XX(重定向):如301永久重定向,302临时重定向。
- 4XX(客户端错误):400表示请求有语法错误,401表示未经授权,403表示禁止访问,404表示请求资源未找到。
- 5XX(服务器错误):如500表示服务器内部错误,502表示服务器接口错误,504表示请求超时。
4. API文档(接口规范)内容
- 请求地址(URL)
- 请求方式:GET、POST、PUT、DELETE、OPTIONS等
- 请求头(Headers)
- 参数:包括入参(参数名、数据类型、必填/非必填、最大长度、样例值)
- 出参:如正常响应的JSON格式({code:200, message:"请求成功"})及异常报错信息
5. 接口上下游传参处理
- 使用Postman时,可以通过Test部分编写脚本,提取返回值中的关键信息作为全局变量,在后续接口中引用。
- 使用JMeter时,可以添加JSON Extractor或正则表达式提取器,提取上游接口的值,并在下游接口引用。
6. 数据驱动测试
- 数据驱动测试是指用大量不同的测试数据来全面覆盖接口的各种功能和异常情况。
- 在Postman中,可以创建测试案例,准备CSV文件作为测试数据源,通过CSV Data File Reader获取数据,对每个接口执行多次,每次使用不同的数据。
这些面试题涵盖了接口测试的基础知识,对于理解接口测试流程和异常处理具有重要作用。了解并掌握这些知识点将有助于在面试中展示出扎实的接口测试能力。