发布网友 发布时间:2024-09-26 08:40
共1个回答
热心网友 时间:2024-09-27 23:10
在软件测试领域,接口测试往往被视为一种专业技能,它能将测试员提升到更高级别。然而,接口测试不过是测试工作中的一环,而非全部。本文将深入探讨接口测试的基础知识及常见面试题。
1.1.1 什么是接口?
接口指的是系统与系统之间或系统内部子系统之间的交互点,分为外部接口与内部接口。内部接口又分为上层服务与下层服务接口、同级接口。
1.1.2 若模块从HTTP切换至HTTPS,如何制定测试方案?
使用HTTP与HTTPS分别尝试登录。若HTTPS能够正常登录且地址栏显示锁头图标,则网站已部署SSL。若HTTP与HTTPS均能正常登录,说明网站未设置强制HTTPS登录,或HTTP链接能够自动跳转HTTPS链接。若使用HTTP登录后自动跳转HTTPS页面,表明网站已部署SSL且设置了HTTP自动转向HTTPS。
1.1.3 常用HTTP协议调试代理工具有哪些?
Fiddler是一个HTTP协议调试代理工具。通过打开Fiddler,进入Tools-Options-HTTPS配置允许抓取HTTPS连接和解析HTTPS流量,然后选择解释来源,并设置是否忽略服务证书错误。进入Tools-Options-Connections,开启抓取HTTPS连接并根据需求调整端口,同时允许远程连接。
1.1.4 描述TCP/IP协议的层次结构及重要协议
TCP/IP协议层次结构包括应用层、传输层、网络层、数据链路层和物理层。重要协议有HTTP、HTTPS、FTP、SMTP等。
1.1.5 JMeter中,如何使用正则表达式提取接口响应中的特定数值并赋值?
对于响应内容“小贷公司标管理”,使用正则表达式分别匹配并提取数字74956和713504275825,分别赋值给变量A1和A2。
1.1.6 如何清理接口产生的垃圾数据?
通过数据库操作(增删改查)进行数据清理。在测试用例的前置操作中使用setUp准备数据,在后置操作中使用tearDown清理数据。
1.1.7 如何处理依赖第三方接口的情况?
搭建mock服务模拟接口返回数据,如使用moco。面试时,需熟悉mock服务的搭建方法、模拟数据格式、请求方式等。
1.1.8 测试数据存放位置的选择
测试数据的存放取决于数据类型和测试需求。账号密码等全局参数,可存入配置文件(如.ini);一次性数据使用随机函数生成;多组测试参数可参数化,存放于.yaml、.txt、json、excel等文件;可反复使用的数据存入数据库;邮箱配置参数存入.ini;少量静态数据可直接在脚本开头定义。
1.1.9 数据驱动与参数化概念
参数化是实现用例代码与测试数据分离,便于生成多个用例以适应不同数据。数据驱动则是在测试用例执行过程中动态加载测试数据。
1.1.10 接口请求依赖上个接口返回数据的处理
通过封装函数或方法,将上个接口返回的数据作为参数传递给下个接口。
1.1.11 如何处理依赖登录状态的接口?
登录接口的token存储于配置文件(如.yaml或.json),后续请求中使用该token。对于cookies,可利用session自动关联请求。
1.1.12 接口测试步骤
1)发送接口请求;2)接收并验证返回值;3)断言实际结果与预期一致。
1.1.13 如何测试依赖登录状态的接口?
在构建请求时加入必要的Session或Cookie,确保每次请求时账户有效信息可用。
1.1.14 如何测试依赖第三方数据的接口?
利用MOCK工具(如JSON Server、Easy Mock)模拟第三方接口,降低对第三方服务的依赖。
1.1.15 SOAP协议简介
SOAP是一种基于XML的协议,用于在计算机之间交换信息。
1.1.16 REST API概念
REST API提供一组功能,允许开发人员通过HTTP协议执行请求和接收响应。REST遵循状态转移原则,成为API开发的标准。
1.1.17 API测试中常见Bug类型
包括但不限于:参数缺失、类型错误、边界值错误、异常网络响应、安全性问题等。
1.1.18 接口测试对象分类
服务器接口(基于HTTP协议的接口),包括Webservice接口、http接口、jms接口、hessian接口等。
1.1.19 Cookie存储方式
设置过期时间时,Cookie存储在硬盘中;未设置时,存储在内存中。
1.1.20 HTTP请求方法
HTTP支持GET、POST、PUT、DELETE等7种请求方式,每种方法均支持Header和Body。
1.1.21 接口自动化测试流程
需求分析、用例设计、脚本开发、测试执行和结果分析。
1.1.22 接口测试用例编写要点
包括必填字段、合法性检查、边界值测试、容错能力、响应数据校验、逻辑校验和性能测试。
1.1.23 UI与API测试的区别
UI侧重用户界面交互,关注外观和感觉;API关注不同软件系统之间的通信。
1.1.24 HTTPS工作原理
客户端与Web服务器建立SSL连接,服务器发送证书信息,客户端与服务器协商安全等级,建立会话密钥,进行加密通信。
1.1.25 HTTPS优点
确保数据安全传输、认证用户与服务器、提高搜索排名。
1.1.26 HTTPS缺点
握手阶段耗时、缓存效率低下、SSL证书费用、IPv4资源限制、安全漏洞等。
1.1.27 HTTPS与HTTP区别
HTTPS提供加密传输、身份认证;HTTP是无状态协议。
1.1.28 POST与GET区别
GET适用于浏览器回退,POST不适用;GET数据保存在浏览器历史,POST不会;GET与POST在缓存、安全、长度限制等方面有差异。
1.1.29 Session与Cookie区别
Session存储在服务器端,Cookie存储在客户端;Session依赖Cookie,Cookie默认内存存储,设置过期时间后硬盘存储;Session安全性高于Cookie;尺寸、服务器性能影响。
1.1.30 TCP与UDP区别
TCP面向连接,UDP无连接;TCP提供可靠传输,UDP尽最大努力交付;TCP适用于结构化数据传输,UDP适用于实时应用。
以上内容涵盖了接口测试的基础知识、面试题及常见问题解答,为软件测试工程师提供了全面的参考。