当前位置: 首页 > article >正文

软件测试高频面试题

以下是一些软件测试高频面试题:

基础概念类

  • HTTP和HTTPS的区别:HTTPS使用SSL/TLS协议对传输数据加密,HTTP没有加密;HTTPS可确保数据完整性,防止传输中被篡改,HTTP不保证;HTTP默认用80端口,HTTPS默认用443端口;HTTPS加密解密操作使其性能可能略低于HTTP,但差距已很小。

  • TCP和UDP的区别:TCP面向连接,提供可靠服务,有流量、拥塞控制,无重复、丢失、差错,面向字节流,只能点对点,首部20字节,全双工;UDP无连接,尽最大努力交付,无拥塞控制,面向报文,支持一对一、一对多、多对多,首部8字节。

    • 软件测试的目的是什么:主要目的是发现软件中的缺陷和错误,确保软件的质量和可靠性,验证软件是否满足用户需求和业务规则,同时为软件的发布和使用提供质量依据。
  • 黑盒测试和白盒测试的区别:黑盒测试不考虑程序内部结构和逻辑,仅依据需求规格说明书,检查软件功能是否符合要求,关注输入输出;白盒测试则基于程序内部逻辑结构,对代码进行检查和测试,如语句覆盖、分支覆盖等。

测试分析类

  • 开发说不是bug时你怎么处理:首先与开发人员友好沟通,详细了解其认为不是bug的原因,从需求文档、用户场景等角度说明自己认为是bug的依据;若沟通无法达成一致,可邀请产品经理、测试经理等相关人员进行讨论,以需求和业务规则为标准来判定;若仍有争议,可记录下来,向上级汇报,寻求更高层的决策。

  • 如何区分前后端bug:可从现象初步判断,界面显示问题如页面布局错乱、按钮无法点击等可能是前端问题;数据处理、业务逻辑执行错误如数据保存失败、计算结果错误等可能是后端问题。还可通过抓包工具查看请求和响应数据,若请求发送正确但响应错误,可能是后端问题;若请求未正确发送或前端对响应数据处理有误,可能是前端问题。

工具操作类

  • Linux常用命令有哪些:文件操作命令如 ls (列出目录内容)、 cd (切换目录)、 mkdir (创建目录)、 rm (删除文件或目录);文本处理命令如 cat (查看文件内容)、 grep (在文件中搜索指定字符串)、 sed (文本处理和替换);进程管理命令如 ps (查看进程)、 top (实时查看系统进程状态)、 kill (终止进程)。

  • 使用Jmeter进行性能测试的基本步骤:创建测试计划,添加线程组设置并发用户数、循环次数等;添加HTTP请求,设置请求的URL、方法、参数等;添加监听器,如聚合报告、图形结果等,用于查看测试结果;配置完成后,启动测试,查看监听器中的性能指标数据,如响应时间、吞吐量、错误率等。

项目经验类

  • 讲一下你最近做的一个项目:阐述项目的背景、目标和主要功能;说明自己在项目中承担的角色和负责的工作,如测试用例设计、执行、缺陷跟踪等;分享项目中遇到的问题及解决方法,以及项目的成果和自己的收获。

  • 项目迭代情况,交付质量,遇到的问题,以及候选人如何解决这些问题:介绍项目的迭代周期和频率,说明交付的产品是否满足质量要求,有无重大缺陷;举例说明遇到的问题,如测试环境不稳定、需求频繁变更等,阐述采取的解决措施,如与运维人员协作解决环境问题、与产品经理沟通控制需求变更等。

测试用例设计类

  • 如何对一个登录功能设计测试用例:从正常登录、异常登录两方面考虑。正常登录包括输入正确用户名和密码登录;异常登录有用户名或密码为空、用户名不存在、密码错误、输入超长字符等情况。

  • 给一个三角形判断程序设计测试用例:可采用等价类划分和边界值分析。如输入三边为正整数且能构成三角形、不能构成三角形的情况,以及边界值如输入0、负数、非数字字符等。

工具使用类

  • 请简述Jmeter的作用和基本使用步骤:Jmeter用于性能测试等,可模拟大量用户并发访问。基本步骤包括创建测试计划,添加线程组设置并发用户数等,添加HTTP请求设置访问地址和参数,添加监听器查看测试结果。

  • Selenium主要用于什么测试?有哪些常用的定位元素方法:Selenium主要用于Web自动化测试。常用定位元素方法有id、name、class name、tag name、link text、partial link text、xpath、css selector等。

项目经验类

  • 在过往项目中,你遇到过最难发现的缺陷是什么?是如何解决的:可举例如兼容性问题,在特定浏览器和分辨率下页面显示异常。通过逐步排查代码、检查样式表,与开发人员协作,最终找到并解决问题。

接口测试方面

  • 接口测试怎么做,如何分析数据:首先获取接口规范,设计功能用例,验证各种入参和返回值,了解接口实现逻辑以做到逻辑覆盖,还需考虑接口的并发、安全和性能问题,采用工具或自写代码验证,发现问题及时报bug并跟踪。分析数据时主要对比返回数据与接口文档预期是否一致,检查数据的完整性、准确性、合理性等,也可通过抓包工具查看请求和响应数据来分析。

  • 注册账号成功,但登录失败,怎么排查:检查注册用户的数据是否成功传入数据库;调用登录接口,查看返回信息,若有报错根据报错信息分析,如密码错误、账号未激活等;检查登录接口的逻辑和代码,是否存在验证错误;查看数据库中用户表的记录,确认用户信息是否完整、正确;考虑是否存在环境问题或网络问题影响登录。

测试基础方面

  • 敏捷测试流程:敏捷测试是与敏捷开发紧密结合的测试模式。一般在迭代开始前,测试人员与开发等团队成员共同参与需求梳理,明确需求和验收标准;迭代中,测试人员与开发并行工作,进行测试用例设计和执行,包括单元测试、集成测试等,及时反馈和跟踪缺陷;迭代结束时,进行测试总结和回顾,对测试过程和产品质量进行评估,为下一次迭代提供改进建议。

  • APP测试和web测试有什么区别:从环境上,APP测试需考虑不同操作系统、机型等,web测试主要考虑浏览器和操作系统兼容性。从功能上,APP有更多与手机硬件交互的测试点,如摄像头、GPS等,web测试侧重页面展示和交互。性能方面,APP对电量、流量、安装卸载时间等有要求,web测试更关注响应时间、吞吐量等。

数据库方面

  • 把字段基金代码的长度扩长为8位:在MySQL中可以使用 ALTER TABLE 语句,如 ALTER TABLE 表名 MODIFY COLUMN 基金代码 VARCHAR(8);

  • 统计同一销售商和网点代码下持有的总份额:假设表名为 fund_table ,字段为 seller_id (销售商ID)、 branch_code (网点代码)、 share_amount (份额),可以使用 SELECT seller_id, branch_code, SUM(share_amount) AS total_share FROM fund_table GROUP BY seller_id, branch_code;

性能测试方面

  • LoadRunner分哪三部分:用户动作设计、场景设计、测试数据分析。

  • LoadRunner进行测试的流程:首先进行测试规划,明确测试目标和场景;然后创建虚拟用户脚本,模拟用户操作;接着创建运行场景,设置并发用户数、执行时间等参数;再运行测试脚本,监控场景执行情况;最后分析测试结果,查看响应时间、吞吐量、资源利用率等指标,评估系统性能。

相关文章:

软件测试高频面试题

以下是一些软件测试高频面试题: 基础概念类 HTTP和HTTPS的区别:HTTPS使用SSL/TLS协议对传输数据加密,HTTP没有加密;HTTPS可确保数据完整性,防止传输中被篡改,HTTP不保证;HTTP默认用80端口&…...

英语学习DAY5

内心旁白 关于我为什么从2月5号开的这个篇章现在才第五天这件事? 咳咳咳,容许我狡辩一下,我是有事去忙了,我真的很想每日学习英语(信我兄弟们)! 虽然英语学习对我来说真的很难,你…...

如何查看图片的原始格式

问题描述:请求接口的时候,图片base64接口报错,使用图片url请求正常 排查发现是图片格式的问题: 扩展名可能被篡改:如果文件损坏或扩展名被手动修改,实际格式可能与显示的不同,需用专业工具验证…...

Kronecker分解(K-FAC):让自然梯度在深度学习中飞起来

Kronecker分解(K-FAC):让自然梯度在深度学习中飞起来 在深度学习的优化中,自然梯度下降(Natural Gradient Descent)是一个强大的工具,它利用Fisher信息矩阵(FIM)调整梯度…...

赛前启航 | 三场重磅直播集结,予力微软 AI 开发者挑战赛!

随着微软 AI 开发者挑战赛的火热进行,赛前指导直播已成为众多参赛者获取技术干货、灵感碰撞和实战技巧的绝佳平台。继前两期的精彩呈现,第三、四、五期直播即将接连登场,为开发者们带来更加深入的 AI 技术剖析和项目实战指引。无论你是想进一…...

VMware安装Centos 9虚拟机+设置共享文件夹+远程登录

一、安装背景 工作需要安装一台CentOS-Stream-9的机器环境,所以一开始的安装准备工作有: vmware版本:VMware Workstation 16 镜像版本:CentOS-Stream-9-latest-x86_64-dvd1.iso (kernel-5.14.0) …...

【HarmonyOS Next】地图使用详解(一)

背景 这系列文章主要讲解鸿蒙地图的使用,当前可以免费使用,并提供了丰富的SDK给开发者去自定义控件开发。目前可以实现个性化显示地图、位置搜索和路径规划等功能,轻松完成地图构建工作。需要注意的是,现在测试只能使用实体手机去…...

【NLP 37、激活函数 ③ relu激活函数】

—— 25.2.23 ReLU广泛应用于卷积神经网络(CNN)和全连接网络,尤其在图像分类(如ImageNet)、语音识别等领域表现优异。其高效性和非线性特性使其成为深度学习默认激活函数的首选 一、定义与数学表达式 ReLU&#xff0…...

顶刊配图复现:Origin+DeepSeek完美协同

学习目标: (1)软件掌握熟练安装并配置Origin,掌握基础操作与核心功能。学会利用Origin进行多类型图表绘制及美化。掌握DeepSeek的数据清洗、统计分析与可视化方法。(2)设计能力理解顶刊图表的设计原则&…...

Fisher信息矩阵(Fisher Information Matrix, FIM)与自然梯度下降:机器学习中的优化利器

Fisher信息矩阵与自然梯度下降:机器学习中的优化利器 在机器学习尤其是深度学习中,优化模型参数是一个核心任务。我们通常依赖梯度下降(Gradient Descent)来调整参数,但普通的梯度下降有时会显得“笨拙”,…...

Scratch032(百发百中)

提示:知识回顾 1、排列克隆体的方法 2、复习“发送广播并等待”积木 3、“获取第几个字符”积木的使用 4、使用角色显示得分 前言 提示:中国射箭拥有悠久的历史,是最早进入教育体系的运动项目之一,君子六艺中“礼,乐,射,御,书,数”的射 ,就是指的射箭。这节课我带你…...

DeepSeek技术全景解析:架构创新与行业差异化竞争力

一、DeepSeek技术体系的核心突破 架构设计:效率与性能的双重革新 Multi-head Latent Attention (MLA):通过将注意力头维度与隐藏层解耦,实现显存占用降低30%的同时支持4096超长上下文窗口。深度优化的MoE架构:结合256个路由专家…...

开课倒计时 | 3月1-2日,DeepSeek时代下的可观测性(Observability)认证培训

前言: 随着DeepSeek等前沿AI技术的广泛应用,企业对可观测性的需求日益增长。DeepSeek作为一款强大的AI模型,已经在多个领域展现出其卓越的性能。然而,随着技术复杂性的增加,如何有效监控和优化这些系统成为关键挑战。…...

相似性搜索(2)

在本篇中,我们通过播客相似性搜索为例,进一步研究基于chroma 的相似性搜索: 参考: https://www.kaggle.com/code/switkowski/building-a-podcast-recommendation-engine/notebook 数据集来源: https://www.kaggle.…...

Python天梯赛L1-018-大笨钟详解

018-大笨钟 微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。不过由于笨钟自己作息也不是很规律,所以敲钟并不定时。一般敲钟的点数是根据敲钟时间而定的,如果正好在某个整点敲,那么“当”数就等于那个整点…...

HTTP代理与HTTPS代理的区别及HTTPS的工作原理

在互联网世界中,数据的传输与访问安全性是用户和企业共同关注的焦点。HTTP和HTTPS代理作为两种常用的网络协议代理,它们在工作原理和应用场景上存在显著区别。本文将深入浅出地解析HTTP代理与HTTPS代理的区别,并简明扼要地介绍HTTPS的工作原理…...

【Godot4.3】静态模板字符串函数库

概述 Godot的静态函数从3.4版本一直用到现在的4.3,也曾经编写过不少的静态函数库。 但是一直没怎么用过静态变量。这几天有心重新开发一下静态网页生成器。需要编写一些类,还有保存HTML页面或局部的模板字符串以及生成函数。静态变量就刚好用上了。 这…...

Minio分布式多节点多驱动器集群部署

Minio分布式多节点多驱动器集群部署 Minio分布式多节点多驱动器集群部署节点规划先决条件开放防火墙端口设置主机名更新域名映射文件时间同步存储要求内存要求 增加虚拟机磁盘(所有机器都要执行)部署分布式 MinIO测试上传与预览测试高可用MinIO 配置限制模拟单节点磁盘故障模拟…...

忽略Git文件的修改,让它不被提交

使用Git托管的工程中,经常有这样的需求,希望文件只是本地修改,不提交到服务端。 如果仅仅是本地存在的文件,我们可以通过.gitignore配置避免文件被提交。 有的时候文件是由git托管的,但是我们希望只在本地修改&#…...

EntityFrameCore DbFirst 迁移

ORM框架:不用关心sql语句,只需要以类为单位,去操作数据库,以面向对象的思想来完成对数据库的操作。 EntityFrameCore-DbFirst Nuget引入程序集 Microsoft.EntityFrameworkCore Microsoft.EntityFrameworkCore.SqlServer Microsoft.EntityFrameworkCore.SqlServer.Design…...

【信号量】

信号量 目录操作系统信号信号的默认处理动作示例解释信号的捕获与处理使用 signal 函数使用 sigaction 函数 信号的阻塞 信号的生命周期1. 信号产生2. 信号在进程中注册3. 信号在进程中注销4. 信号处理main 7 signal命令含义使用场景手册页包含的关键信息1. 信号概述2. 信号列表…...

安卓cmake修改版本设置路径

有两个位置需要修改: 1、local.properties 在这里设置cmake的本地路径 cmake.dirE\:\\Android_Studio\\sdk\\cmake\\3.22.1 sdk.dirE\:\\Android_Studio\\sdk2、build.gradle里面内容的修改 apply plugin: com.android.applicationandroid {compileSdkVersion 24b…...

如何安装VMware

安装VM...

一篇文章学懂Vuex

一、基于VueCli自定义创建项目 233 344 二、Vuex 初始准备 建项目的时候把vuex勾选上就不用再yarn add vuex3了 store/index.js // 这里面存放的就是vuex相关的核心代码 import Vuex from vuex import Vue from vue// 插件安装 Vue.use(Vuex)// 创建仓库(空仓库…...

DeepSeek 助力 Vue 开发:打造丝滑的二维码生成(QR Code)

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…...

选择排序:简单高效的选择

大家好,今天我们来聊聊选择排序(Selection Sort)算法。这是一个非常简单的排序算法,适合用来学习排序的基本思路和操作。选择排序在许多排序算法中以其直观和易于实现的特点著称,虽然它的效率不如其他高效算法&#xf…...

图像处理篇---图像处理中常见参数

文章目录 前言一、分贝(dB)的原理1.公式 二、峰值信噪比(PSNR, Peak Signal-to-Noise Ratio)1.用途2.公式3.示例 三、信噪比(SNR, Signal-to-Noise Ratio)1.用途2.公式3.示例 四、动态范围(Dyna…...

【Java】—— 二叉树

一、树型结构 树形结构是一种重要的数据结构,它类似于现实生活中的树的结构,由结点和边构成。树形结构具有以下特点: 树形结构是一种层次化的结构,由根结点、内部结点和叶子结点组成。根结点是树的顶部结点,没有父结点…...

C++....................4

1. using namespace std; class mystring { private:char* p;int len;// 辅助函数:复制字符串void copy(const char* source) {len strlen(source);p new char[len 1];strcpy(p, source);}// 辅助函数:释放内存void release() {if (…...

机场导航系统有哪些功能?精准定位与高效路径规划技术深度剖析

本文专为关注机场服务优化、乘客体验提升的IT技术员及航空业同仁而写。将深入探讨机场室内导航系统的核心功能,旨在解决乘客在机场内部定位、路径规划、服务寻找等方面的痛点。如需获取机场导航系统解决方案可前往文章最下方获取,如有项目合作及技术交流…...