【软件测试】接口调不通排查分析+常遇面试题总结

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

1、接口调不通,如何去排查?

1)接口没有任何响应

很多时候在做接口测试时,会发现接口没有任何返回,比如浏览器一直在转圈,或者返回一个空白页面。用接口测试工具时,工具报错,提示“no response”。

排查思路:
先检查接口ip是否正确,可以通过在本机ping 接口的ip,检查网络是否通畅

再检查接口的端口号是否正确,可以通过在本机telnet接口的ip和端口号,检查端口是否能连通

检查项目是否启动或者部署成功,可以找研发确认,或者自己登录到服务器上,通过ps命令检查项目的进程是否存在,然后用tail命令查看部署日志

检查服务器防火墙是否关闭,如果因为安全或者权限问题不能关闭,需要找运维进行策略配置,开放对应的ip和端口号

检查你的客户端(浏览器/测试工具),是否设置了网络代理,网络代理可能会造成请求失败

检查操作系统的host文件,是否绑定了一个错误的ip映射

2)接口有响应但是返回了错误的状态码

有些时候接口会返回一些错误的HTTP状态码,需要根据不同的状态码来确定具体的原因。

排查思路

400:客户端请求错误,比如请求参数格式错误(如json字符串不合法)
401:未授权,比如在请求header里,缺乏必要的信息头(如token、auth等字段)

403:禁止,常见的原因是用户的账号没有对应的url权限,还有就是项目所用的中间件,不允许远程访问(比如Apache)

404:资源未找到,导致这种情况的原因很多,比如:

a> url写错了
b> url后有空格
c> 项目没有启动成功
d> 请求协议不对,如http/https

405:方法不允许,常见的原因是请求方式不正确,比如GET类型接口,使用POST方式去请求

415:不支持的媒体类型,常见原因是请求数据的类型和服务端支持的类型不匹配,比如json接口,需要添加一个信息头Content-type:application/json

500:服务器内部错误,出现这种情况,说明服务端内部报错了,需要登录到服务器上,检查错误日志,根据具体的提示信息再进行排查

502/503/504(Bad Gateway/错误的网关、Service Unavailable/服务无法获得、Gateway Timeout/网关超时)

a>如果单次调用接口就报该错误,说明是后端服务器配置有问题,或者服务不可用,挂掉了

b>如果并发压测时出现此错误,说明是后端压力太大,出现异常,此问题一般是后端出现了响应时间过长或者无响应造成的

2、接口测试常遇面试题

1)怎么理解同步通信?

同步通信指的是客户端发送请求给服务端,服务端必须得回应客户端的请求,也就是说有请求就必须有回应,所以也正因为这个问题同步通信就会出现超时或者堵塞的问题

2)怎么理解异步通信?

异步通信指的是客户端和服务端之间根本不知道对方的存在,他们中间通过消息队列来进行整个通信的,也就说客户端把消息发送给消息队列,服务端从消息队列里面拿取到对应的消息,服务端处理完成后会把这个消息发送给消息队列,然后客户端从消息队列获取这个数据,所以他们根据不知道对方的存在

3)怎么理解cookie,session,token?

HTTP协议是一个无状态协议,所以导致cookie技术的整个发展,cookie是记录用户操作行为的一个状态,但是它存储在客户端,它是不安全的,所以呢我们有整个session,session它是这个存储在服务端的,我们把他成为一个令牌

请按步骤的方式描述session的请求流程
客户端提交账户和密码登陆成功

服务端会生成一个sessionid, 并且存储在服务端,服务端通过set-cookie把生成的sessionid响应给客户端

客户端再次请求服务端,会在请求头里带上sessionid 发送给服务端

服务端接收到sessionid和服务端本地存储的sessionid进行比较,如果相符允许访问个人主页,如果不相符 ,则返回登陆页面

4)如果发送请求,协议状态码返回500的错误,怎么解决?

这个是服务端内部错误,这个是需要找程序员的

5)如何理解协议状态码和业务状态码?

协议状态码是标准的

业务状态码是程序员自己定义的,想怎么定义就怎么定义,很随机很自由。

6)按步骤的方式描述token的请求流程?

按步骤的方式描述cookie的请求流程
以登陆为案例来说明cookie的流程

客户端输入账户和密码登陆成功

服务端生成cookie的信息,通过响应头中的set-cookie把生成的cookie返回给客户端。

客户端在下次请求的时候,通过请求头中的cookie把返回的cookie带上发送给服务端,服务端内部进行验证

7)在get请求里面。如果有请求参数,使用的参数是那个的?

我们在postman中我们通过params,路径参数,如果在jmeter中我们直接添加到路径的请求地址里面

8)在postman里面在哪里填写请求参数?

如果是get请求,那么它的路径参数就是在params,如果是POST请求他的数据格式是表单那么我们是在Body里面勾选x-www,如果是json的格式那么我们raw里面勾线json填写json的数据格式,如果是XML的格式那么我们就勾选XML在里面填写XML的数据格式

9)详细描述下API自动化测试的流程?

首先我们先梳理产品过程当中哪些模块可以做自动化测试,梳理完成后,我们和相关的主管领导去对一下,对完之后我们通过jmeter工具或者postman工具,我们把复盘之后我们就上相关的领导进行评审,评审看我们的断言对不对,看你的结构对不对

10)详细描述下你使用ant是怎么做API的测试的

JMeter整合Ant工具来生成测试报告步骤:
搭建ant的环境,(把 ant 的bin路径加在path里面)验证方式:ant -v

在jmerer的extras目录下找到ant-jmeter-1.1.1.jar,把它copy到ant的apache-ant-1.10.0\lib下

编写build.xml文件
定义了执行那个测试脚本
实现自动发送邮件
自动生成测试报告

打开jmeter的bin目录下的jmeter.properties文件,做如下修改:
把jmeter.save.saveservice.output_format=csv
修改为jmeter.save.saveservice.output_format=xml

activation.jar,commons-email-1.2.jar,mail.jar,这三个文件放在ant的lib目录下

完善build.xml文件后,在控制台进入到build.xml文件
输入ant即可

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

每一次努力都是自己的投资,每一份付出都将成就更加辉煌的未来。坚定前行,勇往直前,因为只有不断超越自己,才能成就非凡。

生命因奋斗而绽放,每一份汗水都是未来的灿烂;坚韧不拔,才能走出属于自己的辉煌之路。别停下脚步,因为你可以更强大。

在每一个黎明之前,总有黑夜的挣扎;在每一次坠落之后,必有勇气的奋起。不放弃,不言败,让梦想的火焰照亮前行的路途。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【MySQL】MySQL数据管理——DDL数据操作语言(数据表)

目录 创建数据表语法列类型字段属性SQL示例创建学生表 查看表和查看表的定义表类型设置表的类型 面试题:MyISAM和InnoDB的区别设置表的字符集删除表语法示例 修改表修改表名语法示例 添加字段语法示例 修改字段语法示例 删除字段语法示例 数据完整性实体完整性域完整…

petalinux烧写image.ub报错

xinlinx SDK烧写petalinux生成的BOOT.BIN和image.ub时,BOOT.BIN烧写正常,image.ub烧写报错如下 Erase Operation failed. INFO: [Xicom 50-44] Elapsed time 0 sec.ERROR: Flash Operation Failed串口助手操作擦除flash如图: 解决方法&am…

JVM内存分配与垃圾收集流程

3.8 实战:内存分配与回收策略 3.8.1 对象优先在Eden分配 大多数情况下,对象在新生代Eden区中分配。当Eden区没有足够空间进行分配时,虚拟机将发起一次Minor GC。 3.8.2 大对象直接进入老年代 HotSpot虚拟机提供了-XX:Prete…

西软云XMS futurehotel/operate XXE漏洞复现

0x01 产品简介 西软云XMS是基于云平台数据中心开发的支持多酒店、多语言、多平台的酒店管理系统。致力于以新一代云架构为国内四,五星级中高端酒店提供灵活、高度整合酒店业务,助力酒店智能转型升级。 0x02 漏洞复现 西软云XMS /XopServerRS/rest/futurehotel/operate接口…

Spring事务模板及afterCommit存在的坑

大家好,我是墨哥(隐墨星辰)。今天的内容来源于两个线上问题,主要和大家聊聊为什么支付系统中基本只使用事务模板方法,而不使用声明式事务Transaction注解,以及使用afterCommit()出现连接未按预期释放导致的…

Smuggler:一款功能强大的HTTP请求走私和去同步安全测试工具

关于Smuggler Smuggler是一款功能强大的HTTP请求走私和去同步安全测试工具,该工具基于纯Python 3开发,可以帮助广大研究人员针对应用程序的HTTP协议执行安全分析和测试。 工具安装 由于该工具基于Python 3开发,因此我们首先需要在本地设备上…

【学习记录】HC32F460USB——U盘IAP升级app

从头开始,万物从解压开始 直奔猪蹄,找到usb下的工程文件 开始移植 主要移植IAP的boot和fatfs的文件系统,fatfs官网去下载ff15.0版本,目前用这个 放到项目里 添加到工程文件中 改引脚,给USB放电 编译,可以…

GCC如何产生core dump

先决条件 1.安装apport(automatically generate crash reports for debugging) 2.修改/etc/security/limits.conf文件,使允许core dump,或者用ulimit -c unlimited设置core dump文件的大小为unlimited(临时方案&#x…

生成voc格式数据集

数据集存放格式:(Annotations文件夹放标注的xml文件,JPEGImages文件夹放标注的图片) 运行代码: import os import random import xml.etree.ElementTree as ETimport numpy as npdef get_classes(classes_path):with …

Java中的时间API:Date、Calendar到Java.time的演变

引言 在软件开发中,处理时间和日期是一项基本且不可或缺的任务。无论是日志记录、用户信息管理还是复杂的定时任务,准确地处理时间都显得至关重要。然而,时间的处理并不像它看起来那么简单,尤其是当我们考虑到时区、夏令时等因素…

计算机组成原理-第一/二章 概述和数据的表示和运算【期末复习|考研复习】

文章目录 前言第一章 计算机组成原理 概述及各种码1.1 计算机硬件的基本组成1.1.1 存储器1.1.2 运算器1.1.3 控制器 1.2 计算机的工作过程1.3 计算机的性能指标1.4 各个字长区别与联系 第二章 数据的表示与运算2.1 ASCII码2.2 各种码2.3 浮点数 总结 前言 给大家整理了一下计算…

域控操作七:让某人不执行某策略/单独放行某人

比如我设置的是禁用移动热点,我在这里对某人拒绝,那他就能用移动热点

Qt6内嵌CEF

一、下载CEF CEF下载地址:https://cef-builds.spotifycdn.com/index.html 或https://bitbucket.org/chromiumembedded/cef/src/master/ 选择对应系统的版本(本教程选择的是116.0.19) CMake下载地址:https://cmake.org/download…

大数据界面:客户又又又要求科技感了,如何破?

如果你问客户想要什么风格,大部分脱口而出科技感,不仅要求静态页,而且还要求动态效果,炫酷动画,贝格前端工场结合多个项目经历,帮助友友们梳理如何让界面科技动感。 一、没有科技感背后的潜台词 客户说大数…

SI523 替代CLRC522/RC523,软硬件开发资料

​si523是一个 13.56MHz 的非接触式读写器芯片,支持 ISO/IEC 14443 A/B/MIFARE协议。内部集成低功耗自动寻卡与定时唤醒功能,可编程寻卡时间间隔,寻卡过程无需 MCU 操作,寻卡成功中断唤醒或定时唤醒 MCU 以实现低功耗。 产品特性…

笑营宝高校选修课报名考勤系统源码开发方案

一、项目背景与目标 (一)项目背景 随着高等教育的普及和教学模式的不断创新,高校选修课程体系日趋复杂多变。学生对课程选择的自由度提高,使得传统的选课和考勤管理方式变得繁琐且效率低下。目前,许多高校仍然采用纸…

金三银四,自动化测试面试题精选【美团二面】

面试一般分为技术面和hr面,形式的话很少有群面,少部分企业可能会有一个交叉面,不过总的来说,技术面基本就是考察你的专业技术水平的,hr面的话主要是看这个人的综合素质以及家庭情况符不符合公司要求,一般来…

Nginx之rewrite重写功能

目录 一、rewrite概述 1、rewrite功能 2、跳转场景 二、标准配置指令 1、rewrite日志记录指令 2、未初始化变量告警日志记录指令 3、rewrite 指令 3.1 正则表达式 三、rewrite模块使用实例 1.基于域名的跳转 2.基于客户端 IP 访问跳转 3. 基于旧域名跳转到新域名后面…

Spring Cloud2022之OpenFeign使用以及部分源码分析

OpenFeign使用 Feign和OpenFeign Feign是Netflix开发的⼀个轻量级RESTful的HTTP服务客户端,可以使用⽤它来发起请求,进行远程调用。Fegin是以Java接口注解的⽅式调⽤Http请求,而不是像RestTemplate那样,在Java中通过封装HTTP请求…

【茶话数据结构】查找最短路径——Dijkstra算法详解(保姆式详细图解,步步紧逼,保你学会)

💯 博客内容:【茶话数据结构】查找最短路径——Dijkstra算法详解 😀 作  者:陈大大陈 🦉所属专栏:数据结构笔记 🚀 个人简介:一个正在努力学技术的准前端,专注基础和实…