2023软件测试面试热点问题,3天刷完你的软件测试就牛了~

news2025/1/11 10:08:30

与开发工程师相比,软件测试工程师前期可能不会太深,但涉及面还是很广的。 在一年左右的实习生或岗位的早期面试中,主要是问一些基本的问题。 涉及到的知识主要包括MySQL数据库的使用、Linux操作系统的使用、软件测试框架问题、测试环境搭建问题,当然还有一些自动化测试和性能测试的问题。

 

测试工程师的面试题基本都是一样的。 面试的核心在于框架模块(一到两年的工作经验)。 今天的贴子主要讲解之前面试或者身边人的面试过程中经常被问到的经典面试题。 

1、软件测试的流程是什么?

分析:每当HR问一个问题的时候,我们可以花1-2秒思考HR想从这个问题中得到什么信息。 弄清楚这一点就很容易回答了。 如果有工作经验,可按公司流程直接回答。 如果是刚转行或者刚开始实习,可以按标准回答。 文中答案仅供参考;

答:项目经理或PD会提前将项目需求文档下发给相关研发人员,研发人员会花一定的时间记录文档中不清楚或遗漏的地方,为后续评审做准备; 在需求评审会上,每个研发人员提出自己的问题并解决。 需求评审最终通过后,会出一份最终的需求规格说明书; (需求评审阶段)

需求规格书评审通过后,开发经理开始编写开发计划,测试经理开始编写测试计划,开发人员在计划评审通过后开始程序开发, 测试人员开始编写测试用例,第一版程序出来后,开发人员迭代第二版。 此时,测试人员对程序进行测试,记录和跟踪管理缺陷,直至程序迭代完成。 (产品研发阶段)

程序迭代完成,且大部分缺陷修复后,测试人员开始进行工作总结,最终输出一份测试报告,记录这次的测试工作中,程序存在的相关问题。 (产品发布阶段)

2、测试用例主要有哪些元素?

分析:由于每个公司使用的模板不同,测试用例的内容也不尽相同,所以回答时只需要回答基本要素即可;

答:测试用例的主要元素有:ID、标题、模块、预置条件、操作步骤、预期结果、实际结果、是否通过、BugID等。

3、软件测试有什么策略和阶段?

分析:软件测试的策略就是测试将按照什么样的思路和方式采用什么技术、什么步骤等。

答:软件测试策略主要有:动态测试和静态测试、白盒测试和黑盒测试。 测试阶段有:单元测试、集成测试、系统测试,有些公司会有验收测试。(单元测试开发是在调试代码时完成的,集成测试也是如此,但有时测试人员也需要进行集成测试;测试人员平时的主要工作是系统测试,验收测试是在客户参与下进行的测试);

4、黑盒测试和白盒测试是什么?二者有什么区别?

分析:黑盒测试和白盒测试百度百科上面有,这里不再做太多介绍了。

黑盒测试和白盒测试的区别:

答:黑盒测试主要是在程序界面进行测试的,它通过设定某种场景来检验程序在这个场景下是否给出正确的反应,从而验证程序是否正确满足需求规格说明书中的要求。白盒测试主要针对程序内部结构,对程序代码进行代码走查等等,但是白盒测试的成本会比较高,当程序有多个路径时,可能会出现更多的遗漏。

5、软件测试有什么类型?

回答: 常见软件测试类型有:功能测试、性能测试、兼容性测试、可靠性测试、安全性测试、压力测试、负载测试等等;

6、测试用例是什么?有什么作用?

回答:测试用例就是设计一个特定的场景,让软件在这种场景下运行,检验程序是否给出正确反应,以此验证软件是否正确实现了客户的需求。

作用:

1、避免盲目测试并提高测试效率;在软件版本更新后只需修正少部分用例就能开展测试工作,降低工作强度,缩短测试周期;

2、可以分清哪些是测试的重点,测试用例是测试工作的见证,能知道测试了哪些功能,没有测哪些模块;

3、测试用例是量化测试工作的方法之一;

7、你平时是怎么设计测试用例的?

分析:这个问题主要考察是否掌握测试用例设计方法,在回答后,HR可能会继续追问某种设计方法的概念或实例,举例说明即可;比如:等价类划分法就是把程序的输入域划分成等价类,从各部分中选取少数代表性数据当做测试数据。

回答:设计测试用例一般都会使用到等价类、边界值、场景/流程法、因果图及错误推测法;

8、软件缺陷的定义是什么?

分析:什么样的问题才是一个缺陷,需要从客户的需求出发;

回答:1、软件没有实现需求规格说明书中要求;

      2、出现了需求规格说明书中指明不该出现的错误;

      3、软件没有实现需求文档中虽未明确提及但应该实现的功能;(如:账密加密)

      4、软件出现难以理解、不易使用或运行速度慢等问题都可以认为是软件缺陷;

9、缺陷中应该包含什么元素?严重等级有哪些?

分析:和上面测试用例一样,每个公司的要求可能都会不同;

回答:主要元素有:标题、BugID、复现步骤、实际结果、预期结果、截图、日志等等;

软件缺陷等级一般有四种:致命(程序奔溃)、严重(金额计算错误、数据出错)、一般(不影响使用但会造成一定的麻烦)、优化(字体字号不统一)

10、给你一个杯子,你会怎么测试?

分析:这种问题在前期的面试中是经常遇到也是很经典的一道面试题,回答时从外观、功能、性能等各个角度说起,再结合自己的一些话就可以了。

11、测试报告里面包含什么内容?

分析:测试报告是测试工作结束之后测试部门输出的测试结果,但各个公司的测试报告内容都会有些差别。有些公司的测试报告是由测试部门负责人一人编写,或者是由每个测试工程师输出自己对应模块的测试报告再由测试组长整合成完整的测试报告;

回答:测试报告内容有:编写目的、系统简介、测试环境、测试方法和工具、测试执行结果与记录、缺陷汇总、遗留缺陷跟踪、测试用例执行情况、测试结论与建议等;

12、如果在测试过程中发现了BUG,可是开发不认这是Bug,你会怎么办?

分析:HR问这个问题主要是想知道你平时是如何处理与同事之间的关系的。开发和测试是对立又统一的两个岗位,所以开发和测试之间关系的处理是HR面试过程中需要考虑的一个点。当然,HR问这个问题也说明该公司有氛围不是很好的风险。

回答:首先还是要回归到客户的需求上面,确认这个问题到底属不属于一个缺陷,如果确实是的就要和开发同事解释清楚;如果开发还是坚持自己想法的话,就询问同事或者测试组长的意见,讨论一下这个问题到底属不属于缺陷问题,如果大家都觉得是则需要再和开发解释清楚。

13、你们公司的需求评审是怎样进行的?

分析:需求评审,就是对客户需求、软件各个模块之间模糊的点进行审查,排除不理解或没有考虑到的点。

回答:需求评审,在一些分工较明确的公司,都是由PD(产品设计师)负责的,需求确认好后再下发到开发和测试部门;分工不明确的公司可能就是开发测试产品等大家坐在一起共同进行探讨;评审形式一般分线上和线下两种方式,负责人一般会提前把需求文档下发到大家手上供大家整理各自的疑惑点,为后续评审会议做准备。

14、MySQL的常用命令有哪些?

分析:数据库知识是测试工程师必备的一个基本技能,在面试过程中也是经常会遇到的一个考点。对于刚入行的测试,对数据库知识要求一般不会太高,只要求能掌握基本的增删改查语句就行。关于数据库的知识,后续也会慢慢的整理出来,供大家学习、参考。

回答:这里只给出几个标准的语法结构:

增:insert into 表名(列名) values (数据);

如:在stu表中插入id为001,姓名为李四的学生,(insert into Stu(stu_id,stu_name) values (001,‘李四’);)

删:delete from 表名 where 指定数据;

如:在stu表中删除id为001,姓名为李四的学生:(detele from Stu where stu_id=‘001’ and stu_name = ‘李四’;)

改:update 表名 set 改变项 where 指定数据;

如:在stu表中修改id为001的学生姓名为“李四”:(update Stu set stu_name = ‘李四’ where stu_id=‘001’ ;)

查:select (查询项) from 表名 where 指定条件;

如:在stu表中查询id为001,姓名为“李四”的学生信息:(select * from Stu where stu_name = ‘李四’ and stu_id=‘001’ ;)

15、Linux下的一些常用命令是什么?

分析:Linux系统,是软件测试工程师必须要掌握的一项基本技能,由于Linux具有运行稳定等诸多优点,所以软件的服务器大多部署在Linux系统上,搭建测试环境也是软件测试工程师需要掌握的。关于Linux的知识,后续会慢慢的整理出来,供大家学习、参考。由于Linux下很多命令都是常用的,所以这里就不给出答案。

16、你未来的职业规划是什么?

分析:这个问题是所有面试中最常问的,问的人可能是HR、部门主管、经理、甚至是董事长。同样一个问题,问的人不同,想获取的信息肯定也是不一样的。HR更多的是想看你在公司的稳定性;技术主管则更想知道你是否真的喜欢测试这个岗位,后期是否会主动学习型新的技能;经理更多的是看你的职业规划符不符合公司的发展方向;软件测试工程师发展方向主要有:测试开发、产品经理、测试转开发、测试大牛、讲师等岗位;

回答:HR:如果是HR问的话,要多从稳定性的角度回答,如:家人、朋友都在公司附近,或喜欢贵公司的文化氛围等等;

技术:回答前可以先简单介绍一下自己为什么选择软件测试这个职业,及自己对这个职业的一些看法,最后再回答自己的职业发展方向就行;

经理or董事长:这个回答起来的话还是比较难把握的,因为在面试时,面试者往往对公司的发展方向不是非常了解,所以要在回答时再带一句,“具体的发展方向,还需要根据公司的发展方向去调整”,这样回答会保险一些。

17、还有什么想要问我的吗?

分析:这个问题在每个面试尾声都会被问到,直接说没有的话,会让HR觉得你不关心这个岗位,问多了又会显得面试前没有做好充分准备。所以问题控制在两到三个比较好。

回答:1、公司的研发团队目前什么规模?开发、测试分别有多少人?

      2、公司的业务方向是什么?

      3、如果我入职之后,我的工作职责是什么?

18、为什么想离职?

分析:这个问题主要是想了解你的近况,以及上一家公司是什么原因导致你离职。大部分情况下,HR都会理解你的,但是回答问题时千万不要太过于实诚,有些面试者一上来就抱怨上一家公司如何压榨公司员工等这些话语,没有一家公司会愿意接受这样的面试者,HR并不能完全感受你遭遇到的,所以还请控制好自己的负面情绪。

另外还附带一些其他的面试会问的题,由于太多了,整份文档一共有200多页,全部为大家展示出来肯定是不太现实的,为了不影响大家的阅读体验就只展示了部分内容,还望大家海涵,希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习!希望大家都能够有些收获!

最后再次奉上500G软件测试教程资料,包括用例模板、计划模板、报告模板、性能调优、自动化教程、测开模板、简历模板、面试技巧、大厂真题等,一定有你需要的!【点击文末小卡片免费获取】

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2022电工杯数学建模B题解题思路(5G 网络环境下应急物资配送问题)

一、前言 本文是对2022年第十四届 “电工杯” 高校数学建模挑战赛B题:5G 网络环境下应急物资配送问题的解题思路,希望能够对正在学习数学建模或者研究该类问题的读者提供帮助。作者在当届的比赛中,获得了本科组三等奖的成绩&#xff…

【新星计划·2023】Linux是什么?它与Windows有什么区别?

作者:Insist-- 个人主页:insist--个人主页 作者会持续更新网络知识和python基础知识,期待你的关注 目录 一、Linux是什么? 二、Linux的应用领域 1、服务器领域 2、嵌入式领域 3、虚拟化 三、Linux的未来 1、云计算 2、大数…

Nmap中NSE数据文件分析

Nmap中NSE数据文件分析 1.Nmap中数据文件所在的位置2.暴力穷举时所使用的用户名和密码列表数据文件3.Web应用审计数据文件http-fingerprints.luahttp-sql-errors.lsthttp-web-files-extensions.lsthttp-devframework-fingerprints.luahttp-folders.txtvhosts-default.lstwp-plu…

S32K146入门 遇到 DefaultISR

S32K146入门 遇到 DefaultISR 1、芯片型号没有选对,pin管脚匹配不对 比如我使用的是S32K146HFMLQ,100pin,就要选择对应的型号 2、时钟配置不对 开发板是外部晶振8M,类型要选对。 我选择外部时钟给信号,导致一直出…

Linux使用NDK编译libtiff库并移植到Android平台

1.系统要求: ubuntu 20.04 LTS桌面版本 2.下载libtiff源码: 打开libtiff官方网站 ,打开libtiff源码仓库 http://www.simplesystems.org/libtiff/ 复制下载仓库地址: 克隆源码到本址: git clone --recursive https://gitlab.com/libtiff/libtiff.git 进入源码目录 3.安装…

软件测试需不需要懂代码?

无论是刚入测试行业的萌新,还是已经在测试行业闯荡了两三年的小司机们,都会琢磨一个问题:如果要持续发展下去,我要不要懂代码? 在软件测试初级阶段,不需要编程能力。但是任何一个职业,都会追求…

leetcode90. 子集 II(java)

子集II leetcode90. 子集 II题目描述解题思路代码演示 回溯算法专题 leetcode90. 子集 II 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/subsets-ii 题目描述 给你一个整数数组 nums ,其中可能包含重复元素…

00后确实卷,公司新来的卷王,我们这帮老油条还真干不过.....

都说00后躺平了,但是有一说一,该卷的还是卷。 这不,前段时间我们公司来了个00后,工作都没两年,跳槽到我们公司起薪18K,都快接近我了。后来才知道人家是个卷王,从早干到晚就差搬张床到工位睡觉了…

Java集合Map接口的实现类(HashMap、LinkedHashMap等面试题)的结构

HashMap /** 一、Map的实现类的结构:* |----Map:双列数据,存储key-value对的数据 ---类似于高中的函数:y f(x)* |----HashMap:作为Map的主要实现类;线程不安全的,效率高;存储null的key和value|…

AIGC之文本内容生成概述(上)

由于本文内容稍微长了一点点,所以分成了上下两篇文章来介绍,本文是上篇,下篇将会在后续发布。关于自然语言的生成方面,这一块的内容太多了,本文也只是穿针引线,帮大家理清学习路线而已,更多的内…

关于ROS/ROS2 bag包的名称修改问题

1 问题的提出 在ROS/ROS2中,ROS 的 bag包的名称通常会包含录制的具体时间:YYYY-MM-DD-小时-分钟-秒钟,但是这样可读性不强,而且过一段时间,就不知道这个包是关于什么内容的了。如果需要修改bag包的名称,该…

从0开始,手写MySQL事务

说在前面:从0开始,手写MySQL的学习价值 尼恩曾经指导过的一个7年经验小伙,凭借精通Mysql, 搞定月薪40K。 从0开始,手写一个MySQL的学习价值在于: 可以深入地理解MySQL的内部机制和原理,Mysql可谓是面试的…

渲染机制不仅在Android系设计到,Flutter中也有设计

前言 本文将介绍 Android 的渲染机制。主要是带着大家了解 Android 是如何绘制并显示一帧图像的,同时会涉及 Skia底层渲染的使用,以及关联到flutter的UI体系设计,感兴趣的可以在阅读的同时使用 Skia自己搭建一套flutter UI体系 进行尝试。在…

# Linux 学习记录37(C高级篇)

Linux 学习记录37(C高级篇) 本文目录 Linux 学习记录37(C高级篇)一、常见的shell解析器二、变量1. shell脚本外部传参2. 输入输出(1. 输出(2. 输入 3. 命令置换符4. shell中的数组 三、shell中的算数运算1. (())运算2. $[ ]运算3. let运算4. expr指令(1.数据运算(3. 字符运算 四…

Flink 学习一 Flink 简介

Flink 学习一 https://flink.apache.org/ 1.快速认识Flink 1.1 离线批计算与实时流式计算 批计算:有界流 流式计算:无界流 批计算:针对有界流,在计算结果前可以看到整个数据集;流计算:针对无界流&…

Nacos的安装和部署

接下来的时间,我会将Nacos的安装部署,以及在微服务中将其作为配置中心,注册中心,以及它的高级应用会一一为大家分享,今天为大家分享的是Nacos的安装和部署,以windows为例。 1. 下载安装包 官网下载地址&a…

LaTeX在双栏文章里面放单栏或双栏图片【有图有代码】

LaTeX在双栏文章里面放单栏或双栏图片【有图有代码】 双栏文章双栏文章放单栏图片双栏文章放单栏图片 双栏文章 在需要双栏的地方加入\begin{multicols}{2}…\end{multicols} 一般我们可能会希望摘要部分是单栏的。 其余部分设置为双栏,如下: \begin{m…

wxPython 矩形选择框 测试

如下图&#xff0c;这种矩形选择框在图形软件里是必备操作&#xff0c;用python怎么实现&#xff1f;我用wxpython 做了一个例子。 代码如下&#xff1a; #!/usr/bin/env python # -*- coding: utf-8 -*-# Project: test # File : SelectRectang.py # Author : Long.Xu <…

违禁词管理

目录 一、添加违禁词 1.添加一个违禁词 2.批量添加违禁词 二、违禁词实时检测 三、查看违禁词 四、删除违禁词 1.删除一个违禁词 2.批量删除违禁词 五、清空违禁词 一、添加违禁词 1.添加一个违禁词 添加违禁词 ?([\s\S]*) b:$读 违禁词/%群号% a []$ 如果:%括号1% 请…

Java设计模式——策略模式

1. 策略模式简介 策略模式: 策略模式是一种行为型模式, 它将对象和行为分开, 将行为定义为一个行为接口和具体行为的实现 策略模式最大的特点是行为的变化, 行为之间可以相互替换 每个if判断都可以理解为一个策略. 本模式是的算法可独立于使用它的用户而变化 2. 模式结构 策略…