软件测试面试中90%会遇到的问题,面试前刷提高百分之60的通过率

news2025/1/16 5:54:26

面试的时候,遇到这样的提问,很多人的都会感觉脑子一下一片空白,或者星星点点,不知道从何说起。

一方面不知道面试官问这个问题的意图是什么?也不知道他想得到的答案是什么?

更加不知道该从哪些方面来回答。

作为一个测试行业从业8年有余的测试人员,我想跟大家分享一些我的经验和看法。

首先,毋庸置疑的是,面试官问这个问题,想要得到的是你肯定的答案,希望你是一个会搭建测试环境的优秀测试工程师。

QA不管是做什么类型的测试,最基础的功能测试,需要搭建测试环境;

进阶部分的性能压力测试,对搭建环境的要求更高。

所以搭建测试环境是优秀测试工程师的必备技能之一,也是QA开展测试工作的前置条件。


当然有些公司可能会有运维或者研发部门帮忙准备好测试环境,但是QA如果一味依赖别的部门,就会大大的局限测试工作的开展,如果别的部门没有时间或者进度滞后,会直接影响到测试工作的进度和效率;

而且测试环境如果不是QA负责维护的,后期扩展业务需要优化测试环境的时候,或者遇到问题要调试的时候,都需要依赖其他部门,会导致测试工作不独立,也会显得测试工作人员不专业。

了解了QA具备搭建测试环境能力的重要性,那么真正要具备搭建测试环境的能力,需要掌握哪些技能和知识呢?

这就需要我们先知道测试环境是什么?

测试环境(Testing Environment),是指为了完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称,简而言之,测试环境=硬件+软件+网络+数据准备+测试工具。

显而易见,我们要学会搭建测试环境,需要具备这5种的技能和知识。

所以,我们针对每一个知识领域大家需要掌握的知识点及其深度和广度,给大家做个详细的介绍,希望能给大家作一个指引,知道自己该努力的方向。

硬件,一般测试会涉及到的硬件就是计算机系统相关的内容,比如Windows系统,Linux系统和MacOS系统。

测试环境可以部署在以上任何一种系统上,根据当前被测软件的具体需求而定。

一般软件的运行平台,可能会更多的在Windows系统上;但是相关服务的搭建,比如软件运行需要交互的服务,或者是软件后台的承载服务,都会在Linux系统上搭建。

所以Linux系统相关的命令和操作是QA必须要知道而且熟练的。

我有准备150个Linux常用命令,如有需要,可以留言

Linux系统有很多类型,如CentOS,Ubuntu,Redhat,Debian等,根据产品的具体需求选择合适的系统就可以。

另外,我们最好还要知道怎么安装Linux系统,因为在很多公司会给QA提供设备资源,需要QA根据需求在服务器上部署Linux系统。 (不会安装linux系统的同学也可以找我要软件还有视频安装哦)

这里还需要注意的一点,就是软件运行对硬件的要求。

通常软件说明书上会明确软件对硬件的需求,比如CPU个数,内存大小,硬盘大小,网卡个数等信息,如果没有明确要求,QA可以跟开发或者产品沟通确认。

所以,关于硬件这块,需要大家对各种操作系统有所了解,特别是能够操作Linux系统常用命令,能够安装系统,并且配置IP、路由等基础网络(这个在网络部分会再重点讲到),能够在各种系统上安装和搭建常用的服务。


软件,包括当前被测的软件以及相关依赖和交互的软件。

当前被测软件的部署,一般在部署好的Linux系统上安装好服务之后,可以直接在前端通过web或者APP访问,后端只要部署完成了,前端的运行还是比较简单的;依赖和交互的软件,一般是一些支持的软件,比如JDK,tomcat,数据库等。

怎么安装部署,大家可以去自行百度,网上相关的教程很多,如果找不到,我可以发相关资料给大家,基本上30分钟就可以搭建好JDK+tomcat+数据库

网络,这个可能是很多测试人员的一个知识盲区。

网络是一个比较庞大的知识体系,涉及的内容特别多而且复杂。

所以大家可以优先学习一些跟搭建环境密切相关的网络知识,然后自己再慢慢的去渗透和深造。


为了解决大家的问题,准备了学习视频《软件测试工程师必须知道的网络知识》


一般公司网络环境,最基本的要求是交换和路由相关的知识。

比如要自己搭建一个网络拓扑,使用多台网络设备(如服务器,路由交换等中间设备,客户端等),QA需要规划和配置IP地址,部署路由和VLAN等相关配置,实现网络隔离和通信,这样才可以开展正常的业务测试;另外,对于一些常用的基础网络协议,如TCP,UDP,HTTP等,最好也能有个基本的认知,因为很多服务都是基于这些基础协议实现的,知道这些能够加深自己的理解,有利于测试的作的实现。

当然,如前面提到的,除了以上网络设备,我们还需要操作Linux的基本网络配置,如Linux IP和路由配置,Linux系统命令抓包,调试网络通信问题等,这些都是需要Linux命令和网络基础知识结合在一起使用的。


数据准备,一般指测试数据的准备。测试数据会在测试用例设计的阶段设计好,然后软件运行的时候,作为软件输入去验证软件功能。

如果是少量、正常的测试数据,可以直接通过手动方式模拟出来,如果是大量的用户数据的模拟,可以借助测试工具来构建,这个接下来的测试工具部分会再详细讲到。


测试工具,是很多测试人员都比较感兴趣而且趋之若鹜的一个知识领域。

大家执行功能测试的时候,会利用各种工具代替手工,简化和深化测试;执行压力和性能的时候,就更加需要借助测试工具模拟出来高并发、高吞吐、高持续的数据。

由此可见,工具确实很重要也很实用,纵观大量招聘公司的职位要求,基本都有“熟悉xxx测试工具”的明确要求项。

QA可以针对自己将要做的测试类型,选择合适的工具进行学习。

比如你要做的是接口测试,可以选择Jmeter或者postman;你要做压力和性能测试,可以学习Loadrunner,IxLoad或者Avalanche的使用;要模拟多种协议的流量,也可以使用Linux上常用的流量测试工具,如Hping,Curl,ab等;还有一些常用的debug和抓包工具,如fiddler,wireshark等,也可以学习并且使用起来。

总之,工具是辅助测试的好帮手,灵活使用可以让你的测试效率事半功倍。

当然,这里想补充一句,工具的重要性确实无可厚非,但是大家还是不要盲目崇拜,一味追求工具的学习和使用,因为工具再好也仅仅就是一个工具而已,还是需要专业测试人员应用良好的测试思路和理念去恰到其分地使用到测试中,才能将其作用发挥到极致。

讲到这里,可能会有很多人都觉得压力山大,毕竟要掌握这么多专业的知识,对任何一个人来说都不是一件易事。如果能够全部掌握固然是完美,但是对于经验没有那么丰富的人,甚至有很多从事测试多年的测试工程师,都无法自信的笃定自己可以在这所有的知识领域里游刃有余。

所以,在你成长成为一个全能型优秀测试工程之前,被面试官问到这种问题要怎么办呢?

这里,我可以分享给大家一些小技巧。

首先,去面试之前,先了解你要去面试的公司具体是个什么类型的公司

其实这点,不止针对这个问题,应该是针对所有的面试,都应该先弄清楚你要去面试的公司主要业务和职位要求,有针对的去准备自己的知识点和回答问题的方向,这是面试的一个必备智慧。

好,回到我们今天要讨论的环境搭建的问题,因为不同的公司所需要你具备的搭建测试环境的能力是不一样的。

比如是一个传统的网络设备公司,如路由交换,防火墙等业务产品,他会要求你更偏向于的网络基础知识多一些,如网络拓扑的搭建和配置,相关协议的使用等,所以你可以提前做好相关知识的准备;

如果是传统的Windows软件的公司,搭建测试环境大部分都是跟系统相关的,也就是上面我们讲到的硬件部分要求的内容。那么你就可以提前把Linux系统的相关的知识抓紧时间恶补一下;

如果是时下最流行的互联网公司,测试web应用,PC 端APP和移动端APP软件的较多。

搭建这样的测试环境,则侧重更多的是Linux系统知识,还有相关服务的搭建以及各种工具的使用。 当然,这种分析也只是一个大概的总结,不是绝对正确也不能涵盖所有的情况,所以大家做一个参考就好。不过,先分析公司类型和业务,针对岗位需求提前做准备的这种思路,肯定是百利而无一害的。

另外,面试之前,大家一定要根据自己已有的工作经验和知识体系做好相关的梳理

大部分面试官,都会要你根据工作经验描述搭建测试环境的过程,那么你就需要在实际项目经验的基础上,结合自己的知识储备,然后再有针对性的组织语言去迎合当前面试公司的要求,总结出来一份漂亮而且能满足对方预期的答案。这么说可能会有些抽象,我们可以来看个具体实例。

面试官:你以前公司测试需要自己搭建测试环境么?你会自己独立搭建测试环境么?

你:我们原来公司都是测试人员自己搭建测试环境的,因为这样子的测试工作能比较自主独立的开展,而且后期的维护也会比较方便一些(首先,肯定的回答了问题,告知你是会搭建测试环境的,而且也表达了你认为测试人员会搭建测试环境的必要性)。

我们一般会在拿到测试需求的时候,根据需求先把准备环境好。因为我上一家公司是一家防火墙公司,有自己的设备,也有相应的web应用和APP,所以我会同时测试这些前端应用以及防火墙设备服务(先介绍一下公司的业务类型以及自己的测试的产品,以方便后面讲环境搭建的重点,这里可以根据自己的实际情况而定)。

所以准备这样的测试环境,我们会需要准备两台Linux服务器分别模拟客户端和后端服务器,搭建好测试拓扑,配通网络就可以(表明网络基础配置能力你是具备的);然后Linux系统我们一般也会自己安装,而且还要准备好相应的服务(表达出Linux系统的操作和常用服务搭建也是OK的);然后我们会用客户端模拟一些用户流量,也会在Windows上安装一些常用的测试工具来模拟用户数据来测试产品(常用测试工具也是没有问题的)。这样最初的测试环境搭建基本就完成了。

面试官:所以Linux系统你是会用的对吧?你们一般会安装一些什么服务?具体操作步骤能简单描述一下么?(他会根据你的描述挑出来他感兴趣的点来细化的问你,比如一些具体的知识细节)

你:(这个时候,就需要你回答具体的细节了,考验你的技术硬核能力了。当然,如果遇到自己不是很清楚的,一定要避重就轻,聪明的引导面试官问你擅长的领域,比如“这个我不是太了解,但是我用过另外一个xxx,这个我比较熟悉”) ......

总而言之,面试官问你这样的问题,一方面是想考察你的技术能力,另一方面也想考察你的表达能力。

所以,大家可以对照一下上面列出来的知识点,如果感觉自己的知识储备不足,可以趁面试之前好好补习一下;

如果发现很多知识领域自己都有涉猎,但是回答的时候不知道从哪里开始,那就根据自己的经验和实际情况,时常总结和沉淀,梳理自己的知识体系。记住,毫无准备的面试,成功率都不会太高;善于总结积累的人,运气都不会太差!

  总结

如果你对此文有任何疑问,如果你也需要接口项目实战,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入我们,加入方式在文章的最后面

  自动化测试相关教程推荐:

2023最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!_哔哩哔哩_bilibili

2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibili

测试开发相关教程推荐

2023全网最牛,字节测试开发大佬现场教学,从零开始教你成为年薪百万的测试开发工程师_哔哩哔哩_bilibili

postman/jmeter/fiddler测试工具类教程推荐

讲的最详细JMeter接口测试/接口自动化测试项目实战合集教程,学jmeter接口测试一套教程就够了!!_哔哩哔哩_bilibili

2023自学fiddler抓包,请一定要看完【如何1天学会fiddler抓包】的全网最详细视频教程!!_哔哩哔哩_bilibili

2023全网封神,B站讲的最详细的Postman接口测试实战教学,小白都能学会_哔哩哔哩_bilibili

  总结:

 光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!

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

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

相关文章

机器学习——损失函数

【说明】文章内容来自《机器学习——基于sklearn》,用于学习记录。若有争议联系删除。 1、简介 损失函数(loss function)又称为误差函数(error function),是衡量模型好坏的标准,用于估量模型的预测值与真实值的不一致程度,是一个…

大数据Doris(四十二):使用物化视图

文章目录 使用物化视图 一、​​​​​​​创建物化视图

vue3-富文本编辑器(vue-quill)

官网&#xff1a;VueQuill | Rich Text Editor Component for Vue 3 安装 pnpm add vueup/vue-quilllatest 使用 局部使用 先导包 import { QuillEditor } from vueup/vue-quill import vueup/vue-quill/dist/vue-quill.snow.css; 再使用 <QuillEditor theme"snow…

基于SSM实现的电动汽车充电网点管理系统

一、系统架构 前端&#xff1a;jsp | jquery | bootstrap | css 后端&#xff1a;spring | springmvc | jdbc 环境&#xff1a;jdk1.8 | mysql 二、代码及数据库 三、功能介绍 01. web端-首页 02. web端-登录 03. web端-注册 04. web端-我要充电 05. web端-个人中心-消…

免费代理IP:如何获取?有什么风险?有什么性价比高的代理IP?

您可能已经知道&#xff0c;生活中没有什么是真正免费的。代理IP虽然用于保护隐私&#xff0c;但也有非常多代理都是免费的&#xff0c;这对于不想使用付费替代方案的用户来说是一个巨大的优势。在这篇博文中&#xff0c;我们将深入研究免费代理的细节&#xff0c;并评估这把双…

3DMAX 中的 VR 渲染器如何设置局部区域渲染?

3DMAX 中的 VR 渲染器如何设置局部渲染&#xff1f; 首先我们要得打开渲染设置&#xff0c;在3damx里按F10&#xff0c;调出渲染设置。选定渲染器为Vary渲染器&#xff1a; 设置VR的局部渲染&#xff0c;需要打开帧缓冲&#xff0c;我们在V-ary项下&#xff0c;打开帧缓冲(点击…

【C语言】初识C语言

本章节主要目的是基本了解C语言的基础知识&#xff0c;对C语言有一个大概的认识。 什么是C语言 在日常生活中&#xff0c;语言就是一种人与人之间沟通的工具&#xff0c;像汉语&#xff0c;英语&#xff0c;法语……等。而人与计算机之间交流沟通的工具则被称为计算机语言&am…

Android Security PIN 相关代码

开发项目遇到一个问题&#xff0c;具体描述及复制步骤如下&#xff1a; 就是开启"Enhanced PIN privacy"(增强的PIN隐私)的时候输入秘密的时候还是会显示数字 如下图&#xff0c;应该是直接是“.” 不应该出现PIN 密码 想要的效果如下图&#xff1a; 设置的步骤如下图…

给零基础朋友的编程课08 - 代码

给零基础朋友的编程课08 - 旋转、圆弧、初识模块化编程。_哔哩哔哩_bilibili Code: / // 彩色案例 艺术仿制品3 // /// 色表 // // 奶白 215,214,160 // 金黄 187,176,112 // 赭石 96,56,20 // 橙色 218,114,53// 项目设定 size(1000,1000); background(215,214,160); stroke…

C++学习实践(一)高频面试问题总结(附详细答案)

文章目录 一、基础常见面试题1、数组和链表区别2、深拷贝和浅拷贝相关问题的区别3、a和a区别4、c内存模型5、四种强制转换和应用场景 二、指针相关1、指针和引用的区别2、函数指针和指针函数3、传指针、引用和值4、常量指针和指针常量5、野指针6、智能指针的用法 三、关键字作用…

Python跳动的爱心完整代码

文章目录 环境需求完整代码详细分析环境需求 python3.11.4PyCharm Community Edition 2023.2.5pyinstaller6.2.0(可选,这个库用于打包,使程序没有python环境也可以运行,如果想发给好朋友的话需要这个库哦~)【注】 python环境搭建请见:https://want595.blog.csdn.net/arti…

Python 小程序之动态二位数组

动态二位数组 文章目录 动态二位数组前言一、基本内容二、代码编写三、效果展示 前言 没想出啥好点子&#xff0c;这次就给大家写个小程序&#xff0c;动态二维数组吧。 一、基本内容 程序画一个二维的方格&#xff0c;然后里面填上1-10的随机数&#xff0c;每隔一秒更新新一…

喜讯,思迈特签约南方电网搭建云景数字化运营管控平台

近日&#xff0c;思迈特软件签约南方电网共同搭建云景数字化运营管控平台。 Smartbi将助力云景平台构建“全域协同&#xff0c;全员参与、全员创新”的数字化运营新生态。该平台以“工具数据”赋能基层&#xff0c;充分释放基层“业务人员数字化人员”专业能力&#xff0c;实现…

w4操作系统之windows上创建隐藏用户

隐藏用户–在windows上创建隐藏用户 1.首先查看现有哪些用户。&#xff08;通过net user 命令&#xff09; 2.然后创建隐藏用户&#xff08;net user client$ 123 /add&#xff09; 此时出现报错信息。原因是登录用户没权限。需要用管理员的权限 3.用管理员身份运行cmd&am…

BT321F蓝牙音频主机发射连接TWS耳机回连和主动连接的说明

一、功能简介 很多蓝牙耳机的展架应用&#xff0c;需要蓝牙发射模块&#xff0c;输入音频发送给蓝牙耳机 在蓝牙发射方案BT321F的基础上&#xff0c;增加被TWS耳机或者其他蓝牙耳机回连的应用 解决很多的头戴蓝牙耳机&#xff0c;或者TWS无线蓝牙耳机&#xff0c;每次都要进…

【 YOLOv5】目标检测 YOLOv5 开源代码项目调试与讲解实战(3)-训练yolov5模型(本地)

训练yolov5模型&#xff08;本地&#xff09; 训练文件 train.py训练如下图 一些参数的设置weights:对于weight参数&#xff0c;可以往Default参数中填入的参数有 cfg&#xff1a;&#xff08;缩写&#xff09;cfg参数可以选择的网络模型 data对于data hyp 超参数epochs 训练多…

【Gradio】1、Gradio 是什么

官网&#xff1a;https://www.gradio.app/ 一、Gradio 是什么 Gradio是一个用于创建机器学习模型交互式界面的 Python 库。通过Gradio&#xff0c;可以快速地为模型构建一个可视化的、易于使用的Web界面&#xff0c;无需编写任何Web前端代码。 Gradio 支持多种不同类型的输入…

【信息安全原理】——拒绝服务攻击及防御(学习笔记)

&#x1f4d6; 前言&#xff1a;拒绝服务攻击&#xff08;Denial of Service, DoS&#xff09;是一种应用广泛、难以防范、严重威胁网络安全&#xff08;破坏可用性&#xff09;的攻击方式。本章主要介绍DoS的基本概念、攻击原理及防御措施。 目录 &#x1f552; 1. 定义&#…

无人职守自动安装linux操作系统

无人职守自动安装linux操作系统 1. 大规模部署案例2. PXE 技术3. Kickstart 技术4. 配置安装服务器4.1 DHCP服务4.2 TFTP 服务4.3 NFS服务 5. 示例5.1 搭建server1. 启动dhcp并设为开机自启2. 设置并启动tftp3. 将客户端所需启动文件复制到TFTP服务器4. 创建Kickstart自动应答文…

再谈动态SQL

专栏精选 引入Mybatis Mybatis的快速入门 Mybatis的增删改查扩展功能说明 mapper映射的参数和结果 Mybatis复杂类型的结果映射 Mybatis基于注解的结果映射 Mybatis枚举类型处理和类型处理器 文章目录 专栏精选摘要引言正文动态sql标签ifchoose...when...otherwisewhere、…