怎 么 回 答 文章源自玩技e族-https://www.playezu.com/21047.html 面试的时突然被问到,很多人的都会感觉脑子一下真空,不知道从何说起。文章源自玩技e族-https://www.playezu.com/21047.html 第一点就是不知道面试官问这个问题的意图?文章源自玩技e族-https://www.playezu.com/21047.html 很多人在工作中 压根就没搭建过测试环境 文章源自玩技e族-https://www.playezu.com/21047.html 根本就不知道从何说起。文章源自玩技e族-https://www.playezu.com/21047.html 面试官问这个问题的意图,就是想要看看你是否有实战经验,并且希望你是一个能独立扛起项目并能自己搭建测试环境的优秀测试工程师。文章源自玩技e族-https://www.playezu.com/21047.html 文章源自玩技e族-https://www.playezu.com/21047.html 有些公司可能会有运维部门负责搭建测试环境,但是软件测试人员如果一味依赖运维,将会大大的限制了我们测试工程师测试工作的进展。文章源自玩技e族-https://www.playezu.com/21047.html 而且整个项目的测试环境不是软件测试工程师负责维护的,后期业务如果要优化测试环境的时候,或者遇到问题的时候,还要依赖运维,这将会导致整个项目时间延迟推后,工作也有可能不保!!文章源自玩技e族-https://www.playezu.com/21047.html 文章源自玩技e族-https://www.playezu.com/21047.html 需 要 掌 握 的 知 识 知道了软件测试工程师搭建测试环境的重要性,那么真正要具备这些能力,要掌握什么样的知识和技巧呢? 首先要知道什么是测试环境!! 测试环境,是指为了完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称,简而言之,测试环境的搭建靠硬件+数据准备+测试工具+软件+网络。 我们要想学会搭建测试环境,并且把环境搭建好就必须具备这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系统知识,还有相关服务的搭建以及各种工具的使用。 不过,先分析公司类型和业务,针对岗位需求提前做准备的这种思路,肯定是百利而无一害的。 当然,这种分析也只是一个大概的总结,不是绝对正确也不能涵盖所有的情况,所以大家做一个参考就好。 另外,面试之前,大家一定要根据自己已有的工作经验和知识体系做好相关的梳理。 大部分面试官,都会要你根据工作经验描述搭建测试环境的过程,那么你就需要在实际项目经验的基础上,结合自己的知识储备,然后再有针对性的组织语言去迎合当前面试公司的要求。 这么说可能会有些不太明白,我们来看几个具体实例。 >>>> 实 例 面试官:你会自己独立搭建测试环境么?你以前公司测试需要自己搭建测试环境么? 你:我们原来公司都是测试人员自己搭建测试环境的,因为这样子的后期的支持维护会比较方便一些,而且整个项目的测试工作也能比较自主独立的进行。 这样最初的测试环境搭建基本就完成了。 总 结 总而言之,面试官问你这样的问题,一方面是想考察你的技术能力,另一方面也想考察你的表达能力。 如果发现很多知识领域自己都有涉猎,但是回答的时候不知道从哪里开始,那就根据自己的经验和实际情况,时常总结和沉淀,梳理自己的知识体系。 所以,大家可以对照一下上面列出来的知识点,如果感觉自己的知识储备不足,可以趁面试之前好好补习一下;