如何在面试中胜出?接口自动化面试题安排上

  • 📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢交流讨论:欢迎加入我们一起学习!
  • 📢资源分享:耗时200+小时精选的「软件测试」资料包
  • 📢 最困难的时候,也就是我们离成功不远的时候!

目录

    • 一、平常用什么工具测接口?
    • 二、HTTP与WebSocket的区别?
    • 三、WebSocket 接口是如何测试的?
    • 四、当一个接口出现异常时候,你是如何分析异常的?
    • 五、接口产生的垃圾数据如何清理?
    • 六、不可逆的操作,如何处理,比如删除一个订单这种接口如何测试?
    • 七、在做自动化过程中遇到的技术难点有哪些?
    • 最后

Hi,大家好。考虑到最近有些小伙伴准备年后跳槽,所以更新一些自动化相关的面试题,希望能帮到大家!

一、平常用什么工具测接口?

主流接口测试工具:Jmeter、PostMan、RESTClient、Fiddler、Requests库,不同测试环境不同需求,选择不同工具。

1).Jmeter:Java开发一款开源免费工具,适合接口功能测试、接口自动化测试、接口压力测试;

2).PostMan:谷歌公司开发的一款工具,分为浏览器插件版和客户端版。适合开发自测接口、测试调试接口;

3).RESTClient:一款国人开发的火狐浏览器插件,界面简单,支持高亮显示,调试、自测;

4).Fiddler:强大的抓包工具,支持接口请求、响应;

5).Requests库:python语言中一个第三方请求库,使用代码测试接口不二选择。

二、HTTP与WebSocket的区别?

WebSocket 是一种基于在单个 TCP 连接上进行全双工通信的协议,是从HTML5开始提供的一种浏览器与服务器之间进行全双工通讯的网络技术,解决了HTTP协议不适用于实时通信的缺点,相较于 HTTP 协议,WebSocket 协议实现了持久化网络通信,可以实现客户端和服务端的长连接,能够进行双向实时通信,协议名为"ws"。

  • 两者都是基于TCP协议进行数据传输,具有可靠的传输能力,而且都是应用层协议;

  • HTTP是单向的通信,只能由客户端向服务端发送请求,服务端无法主动向客户端发送消息;

  • WebSocket是双向通信,客户端和服务端是通过握手建立连接,可实现全双工通信,双方可以同时主动向对方发送消息;

  • WebSocket在建立连接时数据是通过HTTP协议传输的,但是建立之后,真正传输数据时使用的是更加可靠的TCP协议。

三、WebSocket 接口是如何测试的?

WebSocket测试方法

1、在线工具,比较多,按个人使用习惯选择,这里随便推荐一款。

地址:http://www.jsons.cn/websocket/


2、使用Postman测试

①打开postman应用;

②依次点击New–WebSocket;


③ 输入URL及要发送的信息。


3、使用Jmeter测试

使用Jmeter测试WebSocket协议需要安装插件,下载插件后放到Jmeter安装路径中的lib/ext目录下,重启Jmeter后在【选项】菜单中会出现【Plugins Manager】,然后在可用插件Tab页搜索WebSocket,进行安装即可。


安装完成后,在添加【取样器】中会出现6项WebSocket的组件

  • WebSocket Close:用于关闭WebSocket连接

  • WebSocket Open Connection:只建立WebSocket连接,不发送数据

  • WebSocket Ping/Pong:用于心跳检测,为了保持长连接,防止客户端被服务端判定为不活跃而被断开

  • WebSocket Single Read Sampler:用于接收一个(文本或二进制)数据

  • WebSocket Single Write Sampler:用于发送一个(文本或二进制)数据

  • WebSocket request-response Sampler:用于执行基本的请求和响应交换,既能发送数据又可以接收数据

以WebSocket request-response Sampler为例:

四、当一个接口出现异常时候,你是如何分析异常的?

检查请求和响应:首先,我会检查请求和响应的内容,以确定异常的根本原因。这可以通过使用 HTTP 调试工具,如 Postman 或 cURL.来实现。

分析异常信息:如果请求和响应正常,我会检查异常信息。异常信息通常包含堆栈跟踪或错误代码,这些信息有助于确定异常的根本原因。

检查 API 文档:如果异常信息不够明确,我会查看 API 文档,以了解该接口的正确用法。

尝试重现异常:如果异常难以分析,我会尝试重现异常。这可以通过使用相同的参数和请求方法,在不同的环境中调用该接口来实现。

检查依赖项:如果异常不是由接口本身引起的,我会检查该接口所依赖的其他系统。这可以通过检查其他系统的日志和状态来实现。

五、接口产生的垃圾数据如何清理?

我通常会采取以下措施进行清理:

  • 数据清理代码:在生成接口数据时,我会编写相应的数据库清理代码,以便在每次测试运行完毕后自动清理测试数据。这样可以确保测试数据不会对后续测试产生影响。

  • 数据库管理工具:如果数据库中存在垃圾数据,那么我会使用数据库管理工具来清理这些数据。这些工具通常提供了强大的数据清理功能,可以帮助我快速删除不再需要的测试数据。

  • SQL语句:为了删除特定的垃圾数据,我会编写 SQL 语句来执行删除操作。这些 SQL 语句可以根据垃圾数据的特点进行定制,以确保删除的准确性和高效性。

  • 数据备份和还原:在测试过程中,我通常会对敏感数据进行备份,以便在需要时还原。这样可以确保在测试过程中不会丢失重要的数据。

总的来说,对于接口产生的垃圾数据,我会采用多种方法进行清理,以确保测试数据的准确性和可靠性,同时保证测试过程的顺利进行。

六、不可逆的操作,如何处理,比如删除一个订单这种接口如何测试?

对于不可逆操作,比如删除一个订单,我们不能简单地重试操作来恢复数据,因为这可能会导致意外的数据丢失或其他问题。因此,我通常会采取以下方法来测试不可逆操作:

  • 编写合适的测试用例:在测试删除订单等不可逆操作时,我们需要编写合适的测试用例来验证操作的正确性和稳定性。这些测试用例应该模拟实际的删除场景,确保删除操作能够按照预期执行。

  • 备份关键数据:在删除订单等不可逆操作之前,我们应该备份关键数据,以便在操作失败时进行还原。这可以确保我们在测试过程中不会丢失重要的数据。

  • 验证操作结果:在删除订单等不可逆操作后,我们需要验证操作结果是否符合预期。例如,我们可以检查订单是否已经被正确删除,并且是否产生了正确的日志记录。

  • 模拟异常情况:在测试删除订单等不可逆操作时,我们需要模拟各种异常情况,如网络故障、系统崩溃等,以确保操作在这些情况下也能够正常执行。

  • 开发回退机制:对于一些重要的不可逆操作,我们可能需要开发相应的回退机制,以便在操作失败时能够回滚操作,恢复之前的数据状态。

总的来说,对于不可逆操作,我们需要进行充分的测试和验证,确保操作的正确性和稳定性。同时,我们也需要考虑到各种异常情况和回退机制,以确保操作在各种情况下都能够正常执行。

七、在做自动化过程中遇到的技术难点有哪些?

自动化过程中遇到的技术难点因项目和环境而异,以下是一些常见的技术难点:

  • 兼容性问题:自动化测试代码需要在不同的操作系统、浏览器和设备上运行,因此需要解决兼容性问题。这可能涉及到不同的操作系统和浏览器版本,以及不同的设备类型和规格。

  • 数据驱动测试:数据驱动测试是一种常用的自动化测试方法,它可以通过读取数据文件或数据库中的数据来生成测试用例。然而,由于数据的多样性和复杂性,这种方法可能会面临数据管理和维护的挑战。

  • 重复代码:在自动化测试中,我们常常需要重复执行相同的操作或验证相同的逻辑。然而,这种重复代码会导致代码难以维护和扩展,并降低代码的可读性和可维护性。

  • 网络和系统问题:自动化测试通常需要连接到外部系统、服务或网络,因此可能会受到网络和系统问题的影响。这可能会导致测试失败或不稳定的测试结果。

  • 难以模拟复杂的用户行为:自动化测试通常仅限于模拟简单的用户行为,一些复杂的用户行为难以通过自动化测试来模拟。这可能包括用户交互、用户体验和视觉效果等方面。

  • 难以重现问题:自动化测试失败时,我们需要能够重现问题以进行调试和解决。然而,由于测试环境的多样性和复杂性,有时难以重现问题。

  • 难以自动化回归测试:回归测试是一项重复性和繁琐的任务,对于大型软件系统来说尤其如此。自动化回归测试是一项关键任务,但由于代码的频繁更改,有时难以对自动化测试进行维护和扩展。

以上就是今天的全部内容,希望对大家有所帮助,也希望大家多多留言、点赞、在看、转发四连爱❤️ 支持。 咱们下篇文章见,Bye~👋


最后

如果你想学习自动化测试,那么下面这套视频应该会帮到你很多

如何逼自己1个月学完自动化测试,学完即就业,小白也能信手拈来,拿走不谢,允许白嫖....

最后我这里给你们分享一下我所积累和整理的一些文档和学习资料,有需要直接领取就可以了!


以上内容,对于软件测试的朋友来说应该是最全面最完整的备战仓库了,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你。

​​

​​​​

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/178628.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【算法与数据结构】78、90、LeetCode子集I, II

文章目录 一、题目二、78.子集三、90.子集II三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、78.子集 思路分析:【算法与数据结构】77、LeetCode组合。本题可以参考77题的组合问题代码&#xff0…

小黑完成了最后一节健身课,顺利完成了跳绳比赛,乘飞机到达南京准备第二天领物资和南京城内闲逛的leetcode之旅:215. 数组中的第K个最大元素

小黑代码 class Solution:def findKthLargest(self, nums: List[int], k: int) -> int:# 数组长度n len(nums)nums list(map(lambda x:-x, nums))q []for i in range(n):heapq.heappush(q, nums[i])# 出堆target -1for i in range(k):target heapq.heappop(q)return -…

Matter 协议详解

目录 1、Matter 协议发展 1.1、什么是Matter 1.2、Matter能做什么 2、整体介绍 3、架构介绍 3.1、Matter网络拓扑结构 3.2、标识符 3.2.1、Fabric引用和Fabric标识符 3.2.2、供应商标识符(Vendor ID,VID) 3.2.3、产品标识符&#x…

postswigger 靶场(CSRF)攻略-- 2.令牌验证

靶场地址: What is CSRF (Cross-site request forgery)? Tutorial & Examples | Web Security Academy (portswigger.net)https://portswigger.net/web-security/csrf 令牌(token)验证取决于请求方法 题目中已告知易受攻击的是电子邮件的更改功能&#xff0…

行情分析——加密货币市场大盘走势(11.15)

大饼按照预期等待下跌即可,现在已经下跌到35500,昨日晚上跌破了35000,现在放心大胆空。笔者现在都是空单在手。 空单策略:入场36000附近 止盈34000-32000 止损39000 以太昨日策略进场,已经止盈了,最低跌到…

局域网监控软件如何防止数据泄密

局域网监控软件在防止数据泄密方面扮演着重要的角色。以下是一些电脑监控软件可以采取的措施: 1、审计聊天内容:一些电脑监控软件可以审计通过聊天工具外发的所有内容,包括文字、图片、文件和视频等。这可以帮助企业及时发现和防止敏感数据的…

[C国演义] 第二十章

第二十章 最长回文子序列让字符串成为回文串的最少插入次数 最长回文子序列 力扣链接 单个数组讨论子序列 ⇒ dp[i] -- 以nums[i]为结尾的所有子序列中, 回文子序列的最长长度. 然后讨论 最后一个位置的归属情况 但 又要满足 回文结构 ⇒ 二维dp ⇒ dp[i][j] -- 区间[i, j]内…

并发编程之生产者消费者模型

什么是生产者消费者模型 生产者消费者模型是多线程中一个比较典型的模型。 打个比方:你是一个客户,你去超市里买火腿肠。 这段话中的 "你"就是消费者, 那么给超市提供火腿肠的供货商就是生产者。超市呢?超市是不是被…

CMT2300A超低功耗127-1020MHz Sub-1GHz全频段SUB-1G 射频收发芯片

CMT2300A超低功耗127-1020MHz Sub-1GHz全频段SUB-1G 射频收发芯片 Sub-1GHz,是指小于1GHz频率的统称。Sub-1GHz无线电频段应用的主要特点:(1)频率较低波长较长,传输距离远,穿透性强;&#xff0…

Python数据结构:字典(dict)详解

1.字典概念 字典在其他语言中可能会被称为“关联存储”或“关联数组”。   在Python中,字典(Dictionary)是一种可变、无序且键值对(key-value pairs)唯一的数据结构。   字典也是一种标准映射类型,mapp…

彩虹桥架构演进之路-性能篇

一、前言 一年前的《彩虹桥架构演进之路》侧重探讨了稳定性和功能性两个方向。在过去一年中,尽管业务需求不断增长且流量激增了数倍,彩虹桥仍保持着零故障的一个状态,算是不错的阶段性成果。而这次的架构演进,主要分享一下近期针对…