测试环境是QA做好检测运行的前提条件。平稳和可控的测试环境,能够使测试人员在实行测试用例时不用花费额外的时间去维护。有一些企业运维或是研发部会帮忙准备好测试环境,可是QA要是一味依赖别的部门,会局限检测运行的做好。
一、什么是测试环境
测试环境,指为了更好地做好软件测试运行所必不可少的计算机硬件、软件、网络设备、历史数据的总称,简单点来说,测试环境=硬件+软件+网络+数据准备+测试工具。
硬件:指检测必不可少的服务器、客户端、网络连接等辅助设备。
软件:指测试软件运行时的操作系统、数据库以及其他应用软件。
网络:指被测软件运行时的网络系统、网络结构及其别的网络设备组成的环境等。
数据准备:一般指测试数据的准备。测试数据会在测试用例设计的环节设计好,随后软件运行的情况下,当做软件输入去认证软件作用。如果是小量、正常的测试数据,能够直接根据手动方式模似出来,如果是大量的用户数据的模似,能够利用测试工具来构建。
测试工具:工具是辅助检测的好助手,对于即将做的检测类型,可选取适宜的工具使我们的检测事半功倍。比如接口测试,能够选取Jmeter或是postman;抓包工具,能够选取fiddler,wireshark等。
二、构建测试环境的原则
1.真实
规定测试人员尽量模似用户的真实选用环境。应选择合适的操作系统和软件平台,了解符合测试软件运行的最低规定和用户选择的硬件配置,并考虑与其它软件共存时,是否能够正常工作等。
2.无毒
如果构建的检测感染上病毒,会导致测试软件莫名其妙的崩溃,运行不起来等现象,导致检测中止。用正版的杀毒软件防止病毒感染测试环境,要确认测试环境无毒。
3.单独
检测过程中需要保证 我们的测试环境单独,防止测试环境被挤占,干扰检测进度及检测结果。有时候开发人员为确认问题会选用我们的测试环境,那样会打乱我们的检测活动。为防止这种情况,测试环境与开发环境应相互独立,开发人员依据缺陷表单,在开发环境中再现和定位问题。
4.可复用
在我们刚构建好测试环境,组装测试软件之前及检测过程中,对操作系统及测试环境做好备份是必不可少的。在当测试环境遭受破坏时,能够恢复测试环境,防止检测数据丢失,出现不可预知的问题。
三、如何搭建测试环境
1.了解LNMT架构
在这里主要是讲述测试环境服务端的部署安排。不同企业的服务端部署安排都不一样。互联网公司较为常见的部署安排框架LNMT(Linux+Nginx+Mysql+Tomcat)如下图:
基于HTTP协议,浏览器和APP端与服务器端进行交互。
Nginx,有一些企业也用Apache。这是常用的HTTP服务器和反向代理服务器。Nginx是用来提供静态资源的服务,Nginx接收到来自浏览器的请求以后,判断这个请求是否是静态资源(以JS、CSS、HTML、PNG等结尾的静态文件),如果是,则Nginx直接返回相应文件;如果不是静态资源,是动态请求,比如,请求某一个日志的内容,则Nginx会把请求转发给Tomcat来处理。
Tomcat,是处理动态的HTTP请求,调用各种别的服务,做好相应的任务,并返回HTTP响应给Nginx。要是涉及到写日志、读日志等数据相关的操作,就需要对数据库做好读写。另外,由于这些动态请求也会依赖一些第三方服务,比如说要调用支付宝的支付服务,那么它就会再发起一个HTTP请求到支付宝的对外服务器。它处理完整个逻辑之后,就会把相应的内容返回给Nginx,随后由Nginx返回给浏览器。
Mysql数据库能够有条不紊地管理各种数据,并为其它应用提供统一的接口和服务。
2.LNMT架构部署安排
这里主要讲述了构建环境的思想,在这里将不再详细地讲述。
1)申请虚拟机器
申请两台虚拟机A和B,机器A当做Nginx服务器+Mysql服务器;机器B当做2台Tomcat服务器。
2)在机器A上组装和配置Nginx
下载并安装Nginx
配置环境变量
开启Nginx
3)在机器A上组装Mysql
下载安装包并解压
添加环境变量
初始化数据库
开启Mysql
4)在机器B上部署安排两台Tomcat
关闭防火墙和selinux
安装jdk环境
下载Tomcat并解压两次,目录不同
两台Tomcat建立软链接
修改在其中一台Tomcat的配置文件server.xml,防止端口冲突。server.xml配置的是地址、端口、最大连接数、编译好的应用程序目录等信息
开启Tomcat服务
认证部署安排顺利,即浏览器输入ip地址+端口号能顺利访问
5)配置Nginx
配置负载均衡和两个Tomcat的反向代理
检查语法并加载Nginx
认证配置顺利
总结
对测试人员来说,需要了解这个整体的机制,例如,每个工具的作用是什么,每个配置文件有什么意义,每个模块的配置如何连接。
在构建测试环境的过程中需要多跟开发、运维沟通。测试环境的构建和维护处在重要的位置,它的好坏直接干扰检测结果的真实性和准确性。维护测试环境需要大量的精力,不是一个人能做好的,需要我们大家积极配合。
作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:开心螺蛳粉】自提!
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群:1150305204,里面有各种测试开发资料和技术可以一起交流哦。