最近很多人在问接口测试面试题有哪些,小编基于大家的需求,花了好几天时间给大家整理了一篇接口测试面试的时候经常会问到的一些题。大家觉得有用的话记得分享给身边有需要的朋友。(笔芯)
本次接口测试面试真题涵盖如下五大部分内容:
第一、基本理论知识
第二、HTTP协议
第三、JMeter接口测试
第四、Requests模块
第五、接口测试自动化框架
第一 基本理论知识
1、什么是(软件)接口测试?
接口测试:是测试系统组件间接口的一种测试方法
接口测试的重点:检查数据的交换,数据传递的正确性,以及接口间的逻辑依赖关系
接口测试的意义:在较早期开展,在软件开发的同时实现并行测试,减少页面层测试的深入问题,降低开发成本,缩短整个项目的测试周期;脱离页面的限制,更全面的进行测试,发现更底层的问题。
2、为什么要做接口测试?
01、越底层越早期发现bug,它的修复成本是越低的。
02、测试时能够跨越前端UI的限制,做更充分的测试,检查系统的安全性、稳定性。
03、接口相对UI自动化也比较稳定,也相对容易实现自动化持续集成,且可以减少回归测试人力成本,缩短测试周期,支持后端快速发版需求。
3、解释API测试和单元测试之间的区别
API(Application Programming Interface,应用程序编程接口),指一个软件组件与外界进行的交互的接口。它是一组功能和过程,可用于创建访问应用程序或操作系统的功能或数据的应用程序。
API测试:属于黑盒测试;一般测试人员执行;单元测试完成再执行API测试;API测试可以检查系统的全部功能,以便最终用户可以完美地使用它。
单元测试:属于白盒测试;一般归开发人员执行;在每个模块准备就绪,则进行单元测试;执行单元测试以检查每个隔离单元是否按预期执行。
4、UI测试和API测试之间的关键区别?
UI(用户界面)是指测试图形界面,如用户如何与应用程序交互,测试应用程序元素,如字体,图像,布局等。UI测试基本上侧重于应用程序的外观和感觉。
API可以实现两个独立的软件系统之间的通信。实现API的软件系统包含可由另一软件系统执行的功能或子例程。
5、接口自动化测试的流程?
半自动化:了解接口---用例设计---选择工具、实现用例---问题分析
自动化:需求分析-->用例设计-->自动化工具或框架选择-->脚本开发-->测试执行-->结果分析-->维护--->持续集成。
6、接口测试的常用工具有哪些?
JMeter、Postman、SoapUI Python+unittest/pytest+Requests、java+junit/testng+httpclient7、接口文档一般有哪些内容?
接口文档一般包括用户使用接口时必备信息:
接口说明、调用url、使用的方式、使用举例
请求参数列表、参数类型、请求参数说明
返回参数说明、错误码说明。
8、没有接口文档怎么办
抓包分析,或者源代码、日志,或者根据数据库设计,根据业务,沟通--梳理接口文档,不规范---找到必备信息---自己简要整理成文档---确认。
9、接口测试一般测试哪些内容
一般要考虑到功能、性能、安全性、稳定性几个不同的方面。
10、接口功能测试用例的编写要点?
首先是接口的基本功能测试:正常场景和异常场景,
请求参数:
参数基本校验:是否有默认值,类型要求、是否必填,合法性要求、边界值
各参数之间是否有逻辑关系
业务逻辑测试:正向,反向,
响应内容:
对结果码的覆盖
响应数据校验:格式和内容
11、对API执行哪