当前位置: 首页 > 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://www.kler.cn/a/560468.html

相关文章:

  • git上传 项目 把node_modules也上传至仓库了,在文件.gitignore 中忽略node_modules 依然不行
  • 一键提取人声 、伴奏 免费人声、伴奏 音频分离软件分享——UVR5下载安装教程
  • 汽车零部件ERP软件进销存软件库存管理委外加工计算计件工资软件
  • 复用时钟 重映射(Remap)
  • YOLO11改进-模块-引入混合结构模块Mix Structure Block 提高多尺度、小目标
  • VMware 与 CentOS 安装指南
  • IP----访问服务器流程
  • centos系统MBR格式转换成gpt格式 (华为云)
  • 算法-图-数据结构(邻接矩阵)-BFS广度优先遍历
  • 爬虫基础入门之爬取豆瓣电影Top250-Re正则的使用
  • 【初阶数据结构】森林里的树影 “堆” 光:堆
  • GB 44496-2024《汽车软件升级通用技术要求》标准解读|标准结构、测试方法、测试内容
  • 高级SQL技术在Python项目中的应用:ORM与深度性能优化
  • 深度学习之图像分类(二)
  • 【备赛】在keil5里面创建新文件的方法+添加lcd驱动
  • Kubernetes资源管理实战:从理论到落地的完整指南
  • 【Redis 原理】通信协议 内存回收
  • 【Java 常用注解学习笔记1】——Java 常用注解全解析:从基础到实战
  • 音视频容器格式
  • Rust 中的引用循环与内存泄漏