你会搭建测试环境吗?这个问题难倒软件测试面试中90%的人

前言

  面试的时候,遇到这样的提问,很多人的都会感觉脑子一下一片空白,或者星星点点,不知道从何说起。
  一方面不知道面试官问这个问题的意图是什么?也不知道他想得到的答案是什么?更加不知道该从哪些方面来回答。
  作为一个测试行业从业10年有余的测试人员,我想跟大家分享一些我的经验和看法。
  首先,毋庸置疑的是,面试官问这个问题,想要得到的是你肯定的答案,希望你是一个会搭建测试环境的优秀测试工程师。
  QA不管是做什么类型的测试,最基础的功能测试,需要搭建测试环境;进阶部分的性能压力测试,对搭建环境的要求更高。
在这里插入图片描述
所以搭建测试环境是优秀测试工程师的必备技能之一,也是QA开展测试工作的前置条件。

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

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

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

什么是测试环境?

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

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

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

硬件

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

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

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

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命令和网络基础知识结合在一起使用的。

数据准备

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

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

了解要去面试的公司

  其实这点,不止针对这个问题,应该是针对所有的面试,都应该先弄清楚你要去面试的公司主要业务和职位要求,有针对的去准备自己的知识点和回答问题的方向,这是面试的一个必备智慧。好,回到我们今天要讨论的环境搭建的问题,因为不同的公司所需要你具备的搭建测试环境的能力是不一样的。

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

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

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

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

总结

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

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

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

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

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

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

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

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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
回答: 在面试,当被问到如何搭建测试环境问题时,可以从以下几个方面回答。首先,要了解面试的公司主要业务和职位要求,有针对性地准备相关知识点和回答问题的方向。其次,根据公司类型和业务需求,搭建测试环境的能力也有所不同。对于互联网公司来说,搭建web应用、PC端APP和移动端APP的测试环境较为常见。这时,需要掌握Linux系统知识、相关服务的搭建以及各种工具的使用。此外,在面试前,应根据自己的工作经验和知识体系做好相关梳理,以便能够根据实际项目经验描述搭建测试环境的过程。面试官通常要求你独立搭建测试环境的能力,因此回答问题时要强调自己的实战经验和能力。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *3* [【软件测试环境如何部署?】测试高频面试题系列,软件测试进阶必学技能](https://blog.csdn.net/lgqb2012/article/details/125007393)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [软件测试面试90%遇到的问题:“你搭建测试环境吗?”](https://blog.csdn.net/Faith_Lzt/article/details/115280444)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码上开始

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值