环境搭建对于测试人员而言是一个需要掌握的知识点。主要原因是处于下面这两点考虑:
在面试中,测试人员会经常被问到你所测试项目的环境是怎么部署的
在实际工作中,测试人员可能也会面临自己部署测试环境的场景
若是面试官问环境搭建问题,千万不要只回答是运维人员部署,这显然不是面试官所想听的答案。面试官考察的主要是两个方面:
1、考量的是面试者是否熟悉自己所经历项目环境
2、对于服务器运行的常识知识是否理解到位
所以无论是面试还是实际工作中的应用,都需要会真正的懂得环境搭建,下面就来介绍:
软件系统如果需要很好的运行,离不开一套稳定可靠的环境。环境搭建主要就是搭建服务端。一般企业的环境搭建示意图如下所示:
因为一般公司环境搭建普遍使用LNMP【L代表linux,N代表nginx,M代表mysql,P代表PHP】,上面的示意图,我们可以简化成一张更简单的示意图,如下所示:
客户端:用户使用者的入口终端,比如网站,手机app
服务端:给用户提供应用服务的终端(也是环境部署的核心端)
注意事项:
上图是通过一台服务器上安装运行所需所有服务来熟悉环境部署
实际企业中往往多将不同的应用服务部署到不同的服务器上形成服务器的集群(从安全稳定性考虑),其本质部署过程原理都是一样的
上图中的Linux就是服务端,是我们在使用软件产品的时候很少会接触到的。所以为避难大家对他的陌生,在此我们来简单介绍下服务器。
服务器本身可以理解为一些高配置的电脑,并且有专业的服务器操作系统(一般是linux系统)。为了给用户提供高效的服务,需要在服务器上安装许多应用服务(可以理解为一些应用软件),而这些应用服务之间往往协同工作,以实现用户特定的目的。
在实际项目中,不同的项目往往会根据需求选择不同的应用服务,但是常见应用服务的基本作用需要搞清楚。
通过上述图能够看出,环境部署其实主要是指服务器对应组件的安装组合使用,即服务端的构成。要想熟悉项目运行的基本原理,可以通过构成服务器基本组件熟悉。
基础骨架:需要有硬件系统和服务器操作系统构成的基础支撑,例如LNMP中的L-Linux ;
数据库应用服务:为用户使用的系统提供数据存储记录的仓库,例如LNMP中的M-Mysql;
web应用服务:为浏览器等客户端提供可视化界面显示及资源转发的应用服务,例如LNMP中的 N-Nginx;
系统语言环境:提供服务的系统所对应开发语言环境组件,例如LNMP中P-Php ;
项目文件包:开发人员编写好的源代码文件包(就是为用户提供服务的软件系统),例如咱们网站的源码,app的源码等…
上述构成服务器的组件能够实现基本测试环境的部署。搭建的顺序一般如下所示(可以给面试官介绍的内容):
前提:一般需要linux的基本技能,因为常见服务操作系统大多是linux系统。
1、安装基础的应用服务,最起码能够在linux服务器上安装成功所需要的数据库服务如mysql、web服务如nginx、开发语言工具包如php等
2、将开发打包好的项目文件包上传到服务器,修改对应web服务及其关联的配置文件(该部分
也是关键可以借助部署手册或者企业运维人员),让各个组件能正常运行
3、检查网络路由及地址配置信息,通过客户端验证系统的正确性
纸上得来终觉浅,一定要去练习下。若搭建成功,则无论是未来的工作需要,还是面试问到,心里有底气的多。
强列推荐2个环境搭建实战案例(若时间充裕,建议下面2个项目都练习一下):
1、通过LNMP环境部署禅道软件:
https://pan.baidu.com/s/1L8eiHFtsX-QUEInumtJIbQ 密码:wynj
2、简历项目_在Linux上部署码云商城项目(推荐)
https://pan.baidu.com/s/1nspldpoLNpwp5PLPZp3RqQ 密码:b9k6
学习捷径:技能的支撑+不断的练习 = “牛X的大神”
首先,搞清楚自己的项目构成组件
其次,需要有一定的linux和数据库操作经验
第三,对于服务器常见应用服务的构成相对熟悉
最后,对于部署过程中细节可以借助网络或者运维人员确定
下面这些是我的收集和整理,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你
1、点赞。防止以后找不到,想看的时候,在自己主页就能找到了,很方便;
2、关注我。让我们成为长期关系,下一个视频会分享更多的硬核干货;
3、本文章学习资源,均可以免费分享。
不要只做收藏从未停止,行动从未开始的人,很多事情,做着做着就无师自通了。如果在做的过程中还能稍微加点思考,稍微看一些别人的经验和做法,成长会更快,效果也会更好!加油吧,测试人!路就在脚下,成功就在明天!
一个用心码了这么多文字的人,往往渴望得到大家的认可。如果你觉得这篇文章对你有帮助,双击屏幕,给我点个赞呀!
更多软件测试资源分享微信公众号:【软件测试小dao】
软件测试技术交流群:1033482984