软件测试面试被面试官问到:你会搭建测试环境吗?该怎么回答显得很有水平

一、你会搭建测试环境吗?

 导语:很多人在面试软件测试的过程中,经常被问到“你会搭建测试环境吗”?面对这样的提问,你知道怎么回答么?

二、如何回答

面试的时候,遇到这样的提问,很多人的都会感觉脑子一下一片空白,或者星星点点,不知道从何说起。一方面不知道面试官问这个问题的意图是什么?也不知道他想得到的答案是什么?更加不知道该从哪些方面来回答。作为一个测试行业从业8年有余的测试人员,我想跟大家分享一些我的经验和看法。

测试环境搭建学习方向

首先,毋庸置疑的是,面试官问这个问题,想要得到的是你肯定的答案,希望你是一个会搭建测试环境的优秀测试工程师。QA不管是做什么类型的测试,最基础的功能测试,需要搭建测试环境;进阶部分的性能压力测试,对搭建环境的要求更高。所以搭建测试环境是优秀测试工程师的必备技能之一,也是QA开展测试工作的前置条件。当然有些公司可能会有运维或者研发部门帮忙准备好测试环境,但是QA如果一味依赖别的部门,就会大大的局限测试工作的开展,如果别的部门没有时间或者进度滞后,会直接影响到测试工作的进度和效率;而且测试环境如果不是QA负责维护的,后期扩展业务需要优化测试环境的时候,或者遇到问题要调试的时候,都需要依赖其他部门,会导致测试工作不独立,也会显得测试工作人员不专业。

三、需掌握的知识

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

这就需要我们先知道测试环境是什么。测试环境(Testing Environment),是指为了完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称,简而言之,测试环境=硬件+软件+网络+数据准备+测试工具。显而易见,我们要学会搭建测试环境,需要具备这5种的技能和知识。所以,我们针对每一个知识领域大家需要掌握的知识点及其深度和广度,给大家做个详细的介绍,希望能给大家作一个指引,知道自己该努力的方向。

硬件,一般测试会涉及到的硬件就是计算机系统相关的内容,比如Windows系统,Linux系统和MacOS系统。测试环境可以部署在以上任何一种系统上,根据当前被测软件的具体需求而定。一般软件的运行平台,可能会更多的在Windows系统上;但是相关服务的搭建,比如软件运行需要交互的服务,或者是软件后台的承载服务,都会在Linux系统上搭建。所以Linux系统相关的命令和操作是QA必须要知道而且熟练的。Linux系统有很多类型,如CentOS,Ubuntu,Redhat,Debian等,根据产品的具体需求选择合适的系统就可以。另外,我们最好还要知道怎么安装Linux系统,因为在很多公司会给QA提供设备资源,需要QA根据需求在服务器上部署Linux系统。 这里还需要注意的一点,就是软件运行对硬件的要求。通常软件说明书上会明确软件对硬件的需求,比如CPU个数,内存大小,硬盘大小,网卡个数等信息,如果没有明确要求,QA可以跟开发或者产品沟通确认。所以,关于硬件这块,需要大家对各种操作系统有所了解,特别是能够操作Linux系统常用命令,能够安装系统,并且配置IP、路由等基础网络(这个在网络部分会再重点讲到),能够在各种系统上安装和搭建常用的服务。

软件,包括当前被测的软件以及相关依赖和交互的软件。当前被测软件的部署,一般在部署好的Linux系统上安装好服务之后,可以直接在前端通过web或者APP访问,后端只要部署完成了,前端的运行还是比较简单的;依赖和交互的软件,一般是一些支持的软件,比如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,这个我比较熟悉”  

        ......

六、总结

总而言之,面试官问你这样的问题,一方面是想考察你的技术能力,另一方面也想考察你的表达能力。所以,大家可以对照一下上面列出来的知识点,如果感觉自己的知识储备不足,可以趁面试之前好好补习一下;如果发现很多知识领域自己都有涉猎,但是回答的时候不知道从哪里开始,那就根据自己的经验和实际情况,时常总结和沉淀,梳理自己的知识体系。

 

总结:

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

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

软件测试面试文档

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

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

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

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

相关文章

linux系统中vim ls grep等命令无法使用

linux突然vim ls grep等命令无法使用 系统配置路径被修改导致无法使用 添加路径 执行以下命令 export PATH$PATH:/root/bin export PATH$PATH:/usr/sbin

【Java Web】简单了解前端工程化

目录 一、什么是前端工程化? 二、前端工程化使用的技术栈 一、什么是前端工程化? 前端工程化是使用软件工程的方法来单独解决前端的开发流程中模块化、组件化、规范化、自动化的问题,其主要目的为了提高效率和降低成本。说白了就是将曾经同在一个工程中的前端和后…

智能化物业服务:楼层动态一目了然

通过图扑先进的可视化技术,实现对物业楼层的实时监控与高效管理。全面掌握楼层动态,优化资源配置,提升响应速度和服务质量,为业主提供智能化、便捷化的物业管理体验。

背部筋膜炎最有效的治疗方法

背部筋膜炎的引起原因可以归结为多个方面,以下是详细的分点表示和归纳: 1、慢性劳损:长时间使用背部,如经常按摩背部,会导致筋膜老化、发炎,进而引发背部筋膜炎。症状可能包括背部疼痛、痉挛、肌肉无力感等…

股指期权交割日期是什么时候?在每个月几号?

今天带你了解股指期权交割日期是什么时候?在每个月几号?期权交割日是指合约到期之日,即投资者需要履行买卖合约的义务。 股指期权的交割日期通常是期权合约到期日的第三个星期五。如果这一天是公共假日,则交割日可能会提前到前一…

Omniverse 下载 isaac sim过慢的解决办法

比如在上海地区,下载isaac只有 200kb/s,这8个G下载要很长时间 对于着急的小伙伴,可以直接去日志里拿下载链接,在Omniverse里点右上角小人,点开里面SETTINGS,如图 点击,LOGS LOCATION&#xff0c…

vue3 【提效】自动注册组件 unplugin-vue-components 实用教程

还在为每次都要导入组件而烦恼吗 &#xff1f; // 每次都需手动导入组件 import webName from /components/webName.vue用 unplugin-vue-components 来帮你吧&#xff0c;以后组件直接拿来用即可&#xff0c;无需再导入啦 &#xff01; <webName />使用流程 1. 安装 un…

003 SpringBoot操作ElasticSearch7.x

文章目录 5.SpringBoot集成ElasticSearch7.x1.添加依赖2.yml配置3.创建文档对象4.继承ElasticsearchRepository5.注入ElasticsearchRestTemplate 6.SpringBoot操作ElasticSearch1.ElasticsearchRestTemplate索引操作2.ElasticsearchRepository文档操作3.ElasticsearchRestTempl…

微服务应用与开发知识点练习【Gateway,OpenFeign,Dubbo,RocketMQ和RabbitMQ,JPA,Redis,Mycat】

一、选择题 【Gateway】 1.Spring Cloud Gateway与Nacos整合实现负载均衡时&#xff0c;路由配置中的URI前缀应该是&#xff1f;&#xff08;A &#xff09; A. lb:// B. nacos:// C. http:// D. discovery:// Spring Cloud Gateway与Nacos整合实现负载均衡时&#xff0c…

js删除el-table删除新增项,有的已经保存有的未经保存

有时候在弹窗中的弹窗要删除数据,有的是刚新增进来的,没有经过保存就没有id,有的已经保存过就有id 根据情况设定是否为编辑模式,如果为编辑模式就需要进行筛选删除及接口,如果不是编辑模式,只需要进行筛选删除 this.editFlag true; // 为编辑模式// 删除伤亡名单handelDel() …

酷睿Ultra 200V系CPU全阵容规格、跑分出炉:拉了坨大的

从最近几个月 12 代酷睿 CPU 大面积降价清库存&#xff0c;到 13、14 代高端 U 大范围翻车问题迟迟得不到解决。 这就很难不让人生出一种 Intel 似乎真无暇顾及老款 U&#xff0c;而是将有限精力通通放在了接下来酷睿 Ultra 处理器上的感觉。 当然&#xff0c;作为新工艺、新架…

【Java面试场景题】如何优化系统架构设计来缓解流量压力提升并发性能?

一、问题解析 我会以直播互动为例&#xff0c;带你看看读多写多的情况下如何应对流量压力。- 一般来说&#xff0c;这种服务多数属于实时互动服务&#xff0c;因为时效性要求很高&#xff0c;导致很多场景下&#xff0c;我们无法用读缓存的方式来降低核心数据的压力。所以&…

AR导航技术加持,图书馆阅读体验智慧升级

在信息爆炸的今天&#xff0c;图书馆作为知识的宝库&#xff0c;其藏书量和种类日益增多。然而&#xff0c;传统的图书馆导航方式已逐渐无法满足用户对快速、准确定位图书的需求。本文将探讨图书馆AR地图导航的实现原理、技术优势、功能特点以及市场前景&#xff0c;揭示为何AR…

【深度学习】Error: TensorBoard could not bind to port 6006 问题解决

问题描述 在启动TensorBoard时&#xff0c;遇到了端口冲突&#xff0c;如下图所示&#xff1a; 根据提示&#xff0c;出错原因是因为端口已经被占用了&#xff0c;因此我们要结束占用这个端口的进程。 我的系统是Windows系统&#xff0c;并不是Linux&#xff0c;网上大部分方…

vue 组件下 img 标签动态传入不展示

效果 解决办法&#xff1a; require() <titleComponent:title"业务工作概览":src"require(/assets/imgs/evaluation/overviewStatistics.png)"></titleComponent> 效果&#xff1a;

Nuxt3 的生命周期和钩子函数(三)

title: Nuxt3 的生命周期和钩子函数&#xff08;三&#xff09; date: 2024/6/27 updated: 2024/6/27 author: cmdragon excerpt: 摘要&#xff1a;概述了Nuxt3的关键生命周期钩子用途&#xff0c;如page:finish用于页面加载后处理&#xff0c;page:transition:finish处理过…

C++之STL(六七)

1、变动性算法 #include <vector> #include <iostream> #include <list> #include <algorithm>using namespace std;void print_element(int n) {cout << n << ; }void add_3(int& n) {n n 3; }int fun(int n) {return 2 * n; }boo…

【HarmonyOS】模拟器一直停留在开机页面,无法进入手机桌面

环境:window 10, 开发者工具:DevEco Studio NEXT Developer Beta1 Build #DS-233.14475.28.36.503402 Build Version: 5.0.3.402, built on June 16, 2024 Runtime version: 17.0.101-b1087.17 amd64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. Windows 10.0 GC: G1 Y…

【Dison夏令营 Day 01】如何用Python写一个游戏“石头剪刀布”

欢迎你们踏入这个充满无限可能性的编程世界&#xff01;作为一名热爱Python的开发者&#xff0c;我深感编程的魅力&#xff0c;并希望与你们一同分享这份乐趣和激情。编程&#xff0c;不仅仅是一种技能&#xff0c;更是一种思维方式和解决问题的工具。在Python的世界里&#xf…

Linux内核中网络数据的流量控制(TC: Traffic control 和 QDISC)

(个人能力有限&#xff0c;本文如有错误之处&#xff0c;欢迎交流指正) 1 简介 在进行网络数据 接收 和 发送 过程中&#xff0c;网卡设备到L3(网络层) 中间会经历流量控制(Traffic control)。 《BPF之巅.洞悉Linux系统和应⽤性能》P413 qdisc这个可选层可以⽤来管理⽹络包的…