软件测试工程师经典面试题

软件测试工程师,和开发工程师相比起来,虽然前期可能不会太深,但是涉及的面还是比较广的。前期面试实习生或者一年左右的岗位,问的也主要是一些基础性的问题比较多。涉及的知识主要有MySQL数据库的使用、Linux操作系统的使用、软件测试框架性的问题,测试环境搭建问题、当然还有一些自动化测试和性能测试的问题。测试工程师的面试题,基本上都是大同小异的,面试的核心主要在于框架模块(一到两年工作经验)
。今天这篇帖子主要讲解之前面试自己面试过程中或者周围人面试过程中经常被问到且比较经典的面试题,一家之言,如有异议或者有想问的问题,可以在评论区留言,看到后将在第一时间内回复!


1、软件测试的流程是什么?
  分析:每当HR问一个问题的时候我们都可以用1~2s的时间去想HR想要从这个问题中获取什么信息,这点搞清楚之后再去回答就很好回答了。如果有工作经验,直接按照公司流程回答即可,如果是刚转行或者刚实习,那按标准回答即可,文中回答仅供参考;
  回答: 项目经理或者PD把项目需求文档提前下发给相关的研发人员,研发人员抽出一定的时间记录文档内需求不明确或者遗漏的点为后面的评审做准备;在需求评审会议上,各研发人员提出自己的疑问并解决,需求评审最终通过之后会出一份最终的需求规格说明书;(需求评审阶段)
    需求规格说明书评审通过后,开发经理开始编写开发计划,测试经理开始编写测试计划,计划评审通过后开发人员开始进行程序的开发,测试人员开始测试用例的编写,等程序的第一个版本出来后,开发人员进行第二个版本的迭代,这时测试人员对程序进行测试并记录追踪管理缺陷,直到程序迭代完毕。(产品研发阶段)
    程序迭代完毕并修复大部分缺陷后,测试人员开始进行工作的总结,并最终输出一份测试报告书,记录此次的测试工作共,程序存在的相关问题。(产品发布阶段)

2、测试用例主要有哪些元素?
  分析:每个公司因为使用的模板不一样,所以测试用例的内容也是不尽相同的,所以回答时只需要回答出基本的元素即可;
  回答: 测试用例主要元素有:ID、标题、模块、预置条件、操作步骤、预期结果、实际结果、是否通过、BugID等;

3、软件测试有什么策略和阶段?
  分析:软件测试的策略就是测试将按照什么样的思路和方式进行如采用什么技术,什么步骤等。
  回答 :软件测试的策略主要有:动态测试和静态测试、白盒测试和黑盒测试。测试阶段按照研发顺序分别是:单元测试、集成测试、系统测试,有些公司还会有验收测试;(单元测试开发在调试代码时就完成,集成测试也是,但是有时测试人员也需要进行集成测试;测试人员平时主要的工作就是系统测试,验收测试是有客户参与进行的测试);

4、黑盒测试和白盒测试是什么?二者有什么区别?
  分析:黑盒测试和白盒测试的概念百度百科上面都有,这里不再做太多介绍。黑盒测试和白盒测试的区别:https://www.cnblogs.com/i16i1007/p/6624072.html记得
  回答: 黑盒测试主要是在程序界面进行测试,通过设定某种场景检验程序在这种场景下是否给出了正确的反应,验证程序正确实现了需求规格说明书中的需求,而白盒测试主要是针对程序内部结构,对程序代码进行代码走查等,但是白盒测试的成本会比较大,当程序有多个路径时,可能会产生较多的遗漏;

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

6、测试用例是什么?有什么作用?
  回答:测试用例就是设计一个特定场景,让软件在这种场景下运行,检验程序是否给出正确的反应,以此验证软件是否正确实现了客户需求。
  作用:1、避免盲目测试并提高测试效率;在软件版本更新之后只需修正少部分用例即可开展测试工作,降低工作强度,缩短测试周期;
         2、可以分清哪些是测试重点,测试用例是测试工作的见证,能知道测试了哪些功能,没测哪些模块;
         3、测试用例是量化测试工作的方法之一;

7、你平时是怎么设计测试用例的?
  分析:这个问题的点主要考察是否掌握测试用例设计方法,在回答之后,HR可能会继续追问某种设计方法的概念或者实例,这时举例说明即可;如:等价类划分法就是把程序的输入域划分成等价类,从每个部分中选取少数代表性数据当做测试数据。
  回答:设计测试用例一般都会使用到等价类、边界值、场景/流程法、因果图还有错误推测法;

8、软件缺陷的定义是什么?
  分析:什么样的问题才是一个缺陷,需要从客户需求出发;
  回答:1、软件未实现需求规格说明书中的要求;
        2、出现需求规格说明书中指明不应该出现的错误;
        3、软件未实现需求文档中虽未明确提及但应该实现的功能;(如:账密加密)
        4、软件出现难以理解、不易使用或者运行速度慢等问题都可以认为是软件缺陷;

9、缺陷中应该包含什么元素?严重等级一般有哪些?
  分析:这个问题和上面测试用例一样,每个公司的要求可能都会不一样;
  回答:主要元素有:标题、BugID、复现步骤、实际结果、预期结果、截图、日志等;软件缺陷等级一般有四种,致命(程序奔溃)、严重(金额计算错误、数据出错)、一般(不影响使用但是会造成一定的麻烦)、优化(字体字号不统一)

10、给你一个杯子,你会怎么测试?
  分析:给你一个杯子,给你一个电梯,这种问题在前期的面试中是经常遇到也是非常经典的一道面试题,这里给出一个链接,回答时从外观、功能、性能等各个角度说起,再结合自己的一些话就可以了。
  回答:经典测试用例,一个水杯的测试https://blog.csdn.net/ganhongxia/article/details/6025416

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并不能完全感受你所遭遇到的,所以还是请控制好自己的负面情绪。

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

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

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

相关文章

MyBatis3源码深度解析(一)搭建MyBatis源码环境

文章目录 前言内容概要 第1章 搭建MyBatis源码环境1.1 MyBatis3简介1.2 下载源码并导入IDE1.3 HSQLDB数据库(1)准备sql脚本(2)引入hsqldb依赖(3)编写单元测试(4)执行单元测试 1.4 小…

线阵相机参数介绍之轴编码器控制

1.1 功能介绍 编码器是将检测对象的运动与相机拍摄取图相匹配的设备,也即检测对象运动一定距离,相机就拍摄一定行高的图像。 编码器会将检测对象的实际位移转换为固定数量电信号。例如:编码器的精度是2000p/r,该参数的含义是编码器每转一圈输…

5款超好用、高颜值的Git可视化工具

Git,作为一款强大的分布式版本控制系统,为代码协作与版本追踪提供了坚实的基础。然而,对于不熟悉命令行操作的新手或寻求更直观体验的开发者来说,Git的可视化工具成为了不可或缺的得力助手。本文将分享五款超好用、高颜值的Git可视…

【微服务生态】Docker

文章目录 一、基础篇1. 简介2. 下载与安装3. 常用命令3.1 帮助启动类3.2 镜像命令3.3 容器命令 4. Docker 容器数据券5. Docker 镜像5.1 commit 生成镜像5.2 Docker Registry5.3 发布镜像 6. Docker 常规安装软件 二、高级篇1. Dockerfile1.1 概述1.2 基础知识1.3 Dockerfile常…

Zabbix 远程监控主机

目录 1、安装 Zabbix 安装客户端 服务端测试通讯 Web页面添加主机 2、监控 Nginx 自定义脚本监控 Nginx web配置台 3、监控 MySQL 配置模版文件 配置Web界面 1、安装 Zabbix node-12 作为zabbix的被监控端,提供mysql服务器,配置zabbix监控node…

汽车电子论文学习--电动汽车电机驱动系统动力学特性分析

关键重点: 1. 汽车的低速转矩存在最大限制,受附着力限制,因路面不同而变化。 2. 起步加速至规定转速的时间可以计算得到: 3. 电机额定功率的计算方式: 可以采取最高设计车速90%或120km/h匀速行驶的功率作为电机额定功…

机器学习基础(三)监督学习的进阶探索

导语:上一节我们深入地探讨监督学习和非监督学习的知识,重点关注它们的理论基础、常用算法及实际应用场景,详情可见: 机器学习基础(二)监督与非监督学习-CSDN博客文章浏览阅读769次,点赞15次&a…

【AI工具分享】Retrovision一个图片转3D模型在线工具

Retrovision:图像到3D模型的快速转换工具 一、工具简介 Retrovision是一款前沿的web应用程序,致力于将传统的2D图像快速、简便地转换为高质量的3D模型。其核心功能围绕视差图处理与3D网格生成,为3D内容创作者提供了一个全新的创作平台。 二、核心功能 视差图支持:Retrov…

maven打包scala程序

pom文件打包scala程序 <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"&g…

快速上手Spring Boot整合,开发出优雅可靠的Web应用!

SpringBoot 1&#xff0c;SpringBoot简介1.1 SpringBoot快速入门1.1.1 开发步骤1.1.1.1 创建新模块1.1.1.2 创建 Controller1.1.1.3 启动服务器1.1.1.4 进行测试 1.1.2 对比1.1.3 官网构建工程1.1.3.1 进入SpringBoot官网1.1.3.2 选择依赖1.1.3.3 生成工程 1.1.4 SpringBoot工程…

前端进度条组件NProgress

nprogress 安装 npm install --save nprogress使用 import NProgress from nprogress // 引入nprogress插件 import nprogress/nprogress.css // 这个nprogress样式必须引入// axios请求拦截器 axios.interceptors.request.use(config > {NProgress.start() // 设置加载进…

CSS三大定位方式(浮动、定位、弹性盒)详细解析

CSS三大定位方式 前言&#xff1a;作为一名前端开发&#xff0c;已经工作2年了。由于自己是半路出家&#xff0c;从嵌入式方向转到前端开发&#xff0c;都是边百度边开发&#xff0c;很多基础都不了解&#xff0c;只要解决问题就好&#xff0c;但是近来为了让自己知识体系化&a…

Nginx 反向代理配置

Nginx就不废话了&#xff0c;web服务器。 最近在备案一个域名&#xff0c;想要备案&#xff0c;部署一个服务器&#xff0c;平常很少自己配置Nginx&#xff0c;今天记录下。 1、反向代理 正向代理 指 客户端通过代理访问后端服务 反向代理 指 服务器推出一个客户&#xff0…

Git 使用教程

一、Git的认识 1.1版本控制 什么是“版本控制”&#xff1f;我为什么要关心它呢&#xff1f; 版本控制是一种记录一个或若干文件内容变化&#xff0c;以便将来查阅特定版本修订情况的系统。 a) 还原&#xff1a;如果你是程序开发者&#xff0c;在新写一个促销活动的java文…

Elasticsearch:创建自定义 ES Rally tracks 的分步指南

作者&#xff1a;Alejandro Snchez 按照这个综合教程学习如何制作个性化的 Rally tracks ES Rally 是什么&#xff1f;它的用途是什么&#xff1f; ES Rally 是一个用于在 Elasticsearch 上测试性能的工具&#xff0c;允许你运行和记录比较测试。 做出决策可能很困难&#x…

电脑开机启动项在哪里设置?优化系统速度不是梦!

电脑的开机启动项设置直接影响着系统启动的速度和性能&#xff0c;合理配置启动项可以提高系统的启动速度&#xff0c;同时确保开机时运行的程序符合个人需求。那么&#xff0c;电脑开机启动项在哪里设置呢&#xff1f;本文将详细介绍电脑开机启动项设置的三种方法&#xff0c;…

helm部署gitlab-runner问题解决

关于.gitlab-ci.yml中build镜像时&#xff0c;docker守护进程未启动错误 参考&#xff1a;https://docs.gitlab.com/runner/install/kubernetes.html 问题截图 解决方法 values.yaml中关于conf.toml添加 注意&#xff1a;确保每个节点的docker正常运行 [[runners.kubernetes…

week04day01(爬虫)

一. 爬虫 只爬取公开的信息&#xff0c;不能爬取未公开的后台数据 1.爬虫的合法性 法无禁止皆可为 -- 属于法律的灰色地带https://www.tencent.com/robots.txt -- 网站/robots.txt 可以查看禁止爬取的内容 2. URL Uniform Resource Locator 统一资源定位符https://www.…

2024年黑龙江省考公告出来了,招7768人,速速查收报名流程!

✔️报名时间&#xff1a;2024年2月19日9:00至2月23日17:00 ✔️资格审查时间&#xff1a;至2024年2月23日17:00 ✔️缴费时间&#xff1a;至2024年2月25日09&#xff1a;00 ✔️打印准考证时间&#xff1a;2024年3月12日9&#xff1a;00至3月17日9&#xff1a;00 ✔️公共科目…

多线程相关(1)

线程调度 线程状态&#xff1a;状态切换阻塞与唤醒阻塞唤醒 wait 与 sleep创建线程方式 线程是cpu任务调度的最小执行单位&#xff0c;每个线程拥有自己独立的程序计数器、虚拟机栈、本地方法栈。 线程状态&#xff1a; 线程状态包括&#xff1a;创建、就绪、运行、阻塞、死亡…