前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >“搭建过测试环境吗” 你怎么回答?需要掌握哪些技能?

“搭建过测试环境吗” 你怎么回答?需要掌握哪些技能?

原创
作者头像
新梦想IT职业教育
修改2019-09-29 17:40:49
7280
修改2019-09-29 17:40:49
举报

面试的时突然被问到,很多人的都会感觉脑子一下真空,不知道从何说起。

第一点就是不知道面试官问这个问题的意图?

很多人在工作中 压根就没搭建过测试环境

根本就不知道从何说起。

面试官问这个问题的意图,就是想要看看你是否有实战经验,并且希望你是一个能独立扛起项目并能自己搭建测试环境的优秀测试工程师。

而且整个项目的测试环境不是软件测试工程师负责维护的,后期业务如果要优化测试环境的时候,或者遇到问题的时候,还要依赖运维,这将会导致整个项目时间延迟推后,工作也有可能不保!!

>>>> 需 要 掌 握 的 知 识

知道了软件测试工程师搭建测试环境的重要性,那么真正要具备这些能力,要掌握什么样的知识和技巧呢?

首先要知道什么是测试环境!!

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

我们要想学会搭建测试环境,并且把环境搭建好就必须具备这5种知识。

所以我们就着重讲解这五点!且听我慢慢道来!

一 、硬件

硬件相关的测试就是计算机系统相关的内容,比如Windows(7、8、10)系统,Linux(centos 7)系统和苹果(mac os)系统。

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

软件运行在的系统,会更多的在Windows系统上;但相关环境的搭建,比如软件后台的承载服务,一般都会搭建在Linux系统上。

所以Linux系统相关的命令和操作是软件测试工程师必备技能之一!

二、软件

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

当前被测软件的部署,一般在部署好的Linux系统上安装好服务之后,可以直接在前端通过web或者APP访问,后端只要部署完成了,前端的运行还是比较简单的;

依赖和交互的软件,一般是一些支持的软件,比如JDK,tomcat,数据库等。

大家可以打开腾讯课堂,搜索凡猫教育,也可以找我们的客服人员领取相关视频

>>>> 需 要 掌 握 的 技 能

三、 网络

这个可能是很多测试小白的一个盲区。

大家可以先学习一些跟搭建环境密切相关的网络知识,然后自己再慢慢的去理解。

软件测试工程师需要规划和配置IP地址,部署路由和VLAN等相关配置,实现网络隔离和通信,这样才可以开展正常的业务测试;

另外,对于一些常用的基础网络协议,如TCP,HTTP,UDP等,最好也能有个基本的认知。

当然,除了以上网络设备,我们还需要知道操作Linux的基本网络配置。

1、 系统的IP和路由配置

2、调试网络通信问题等

3、 Linux系统命令抓包

这些都是需要Linux命令和网络基础知识结合在一起使用的。

四、测试工具

大家执行黑盒测试的时候,会利用各种工具代替手工,深化测试;

执行压力和性能的时候,就更加需要借助测试工具模拟出来高并发、高吞吐、高持续的数据。

软件测试工程师可以针对自己个人发展,选择顺手的工具进行学习。

比如要做接口测试,可以学习postman,jmeter;

你要做压力和性能测试,可以学习Loadrunner,Jmeter的使用;

还有一些常用的抓包工具,如fiddler,必须学习起来。

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

五、 数据准备

一般指测试数据的准备。

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

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

>>>>面 试 技 巧

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

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

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

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

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

如果是传统的Windows软件的公司,搭建测试环境大部分都是跟系统相关的,也就是上面我们讲到的硬件部分要求的内容。

那么你就需要提前把Linux系统的相关的知识抓紧时间恶补一下;

搭建这样的测试环境,则侧重更多的是Linux系统知识,还有相关服务的搭建以及各种工具的使用。

不过,先分析公司类型和业务,针对岗位需求提前做准备的这种思路,肯定是百利而无一害的。

当然,这种分析也只是一个大概的总结,不是绝对正确也不能涵盖所有的情况,所以大家做一个参考就好。

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

大部分面试官,都会要你根据工作经验描述搭建测试环境的过程,那么你就需要在实际项目经验的基础上,结合自己的知识储备,然后再有针对性的组织语言去迎合当前面试公司的要求。

这么说可能会有些不太明白,我们来看几个具体实例。

>>>> 实 例

面试官:所以Linux系统你是会用的对吧?具体操作步骤能简单描述一下么?你们一般会安装一些什么服务?

(他会根据你的描述挑出来他感兴趣的点来细化的问你,比如一些具体的知识细节)

这个时候,就需要你回答具体的细节了,考验你的真正实力能力了。

当然,如果遇到自己不是很清楚的,一定不要迎难而上,聪明的引导面试官问你擅长的领域。

比如“这个我不是太清楚,但是我用过另外一个工具,这个工具我比较熟悉” ......

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

你:我们原来公司都是测试人员自己搭建测试环境的,因为这样子的后期的支持维护会比较方便一些,而且整个项目的测试工作也能比较自主独立的进行。

(首先,肯定的回答了问题,告知你是会搭建测试环境的,而且也表达了你认为测试人员会搭建测试环境的必要性)。

我们一般会在拿到测试需求的时候,根据需求先把准备环境好。

因为我上一家公司是一家防火墙公司,有自己的设备,也有相应的web应用和APP,所以我会同时测试这些前端应用以及防火墙设备服务。

(先去着重介绍一下公司的业务类型以及自己的测试的产品,方便后面讲环境搭建的重点,这个地方可以根据自己的实际情况而定)。

所以准备这样的测试环境,我们会需要准备两台Linux服务器分别模拟客户端和后端服务器,搭建好测试拓扑,配通网络就可以。

(表达出网络基础配置能力你是具备的)

然后Linux系统我们一般也会自己安装,而且还要准备好相应的服务。

(表达出Linux系统的操作和常用服务搭建也是OK的)

然后我们会用客户端模拟一些用户流量,也会在Windows上安装一些常用的测试工具来模拟用户数据来测试产品。

(常用测试工具也是没有问题的)

这样最初的测试环境搭建基本就完成了。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档