前言

测试环境是QA开展测试工作的前置条件。稳定和可控的测试环境,可以使测试人员在执行测试用例时无需花费额外的时间去维护。有些公司运维或者研发部门会帮忙准备好测试环境,但是QA如果一味依赖其他部门,会局限测试工作的开展。

一、什么是测试环境

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

  • 硬件:指测试必需的服务器、客户端、网络连接等辅助设备。
  • 软件:指测试软件运行时的操作系统、数据库及其他应用软件。
  • 网络:指被测软件运行时的网络系统、网络结构以及其他网络设备构成的环境等。
  • 数据准备:一般指测试数据的准备。测试数据会在测试用例设计的阶段设计好,然后软件运行的时候,作为软件输入去验证软件功能。如果是少量、正常的测试数据,可以直接通过手动方式模拟出来,如果是大量的用户数据的模拟,可以借助测试工具来构建。
  • 测试工具:工具是辅助测试的好帮手,针对将要做的测试类型,可选择合适的工具让我们的测试事半功倍。比如接口测试,可以选择Jmeter或者postman;抓包工具,可以选择fiddler,wireshark等。

二、搭建测试环境的原则

1. 真实

要求测试人员尽量模拟用户的真实使用环境。我们应该选用合适的操作系统和软件平台,了解符合测试软件运行的最低要求及用户使用的硬件配置,考虑到与其他软件共存时,是否能正常运行等。

2. 无毒

若搭建的测试环境感染病毒,会导致测试软件经常出现莫名的崩溃,运行不起来等现象,导致测试中断。使用正版杀毒软件防止病毒感染测试环境,保证无毒环境。

3. 独立

测试过程中要确保我们的测试环境独立,避免测试环境被占用,影响测试进度及测试结果。有时开发人员为确定问题会使用我们的测试环境,这样会打乱我们的测试活动。为避免这种情况,测试环境与开发环境应相互独立,开发人员根据缺陷表单,在开发环境中复现和定位问题。

4. 可复用

当我们刚搭建好测试环境,安装测试软件之前及测试过程中,对操作系统及测试环境进行备份是必要的。在当测试环境遭到破坏时,可以恢复测试环境,避免测试数据丢失,出现不可预知的问题。

三、如何搭建测试环境

1.认识LNMT架构

这里主要介绍测试环境服务端的部署。不同公司的服务端部署都不一样。互联网公司比较典型的部署框架LNMT(Linux+Nginx+Mysql+Tomcat)如下图:

  1. 浏览器和APP端是通过HTTP协议跟服务器进行交互的。
  2. Nginx,有些公司也用Apache。这是常用的HTTP服务器和反向代理服务器。Nginx是用来提供静态资源的服务,Nginx接收到来自浏览器的请求以后,判断这个请求是否是静态资源(以JS、CSS、HTML、PNG等结尾的静态文件),如果是,则Nginx直接返回相应文件;如果不是静态资源,是动态请求,比如,请求某一个日志的内容,则Nginx会把请求转发给Tomcat来处理。
  3. Tomcat,是处理动态的HTTP请求,调用各种其他服务,完成相应的任务,并返回HTTP响应给Nginx。如果涉及到写日志、读日志等数据相关的操作,就需要对数据库进行读写。另外,由于这些动态请求也会依赖一些第三方服务,比如说要调用支付宝的支付服务,那么它就会再发起一个HTTP请求到支付宝的对外服务器。它处理完整个逻辑之后,就会把相应的内容返回给Nginx,然后由Nginx返回给浏览器。
  4. 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
  • 验证配置成功

总结

‍对于测试人员来说,对于这一整个机制需要理解,比如,各个工具的作用是什么,各个配置文件的意义是什么,各块的配置是怎么连起来的。

在搭建测试环境的过程中要多跟开发、运维沟通。测试环境的搭建和维护处在重要的位置,它的好坏直接影响测试结果的真实性和准确性。维护测试环境需要大量的精力,不是一个人能完成的,需要我们大家积极配合。

有需要的朋友可以私信我关键词”资料“免费获取哈

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….

如果你想成为备受企业青睐的IT人才
想要高薪offer(面试宝典免费领)

软件测试环境的搭建及详解相关推荐

  1. php强类型 vscode,VSCode + WSL 2 + Ruby环境搭建图文详解

    vscode配置ruby开发环境 vscode近年来发展迅速,几乎在3年之间就抢占了原来vim.sublime text的很多份额,犹记得在2015-2016年的时候,ruby推荐的开发环境基本上都是 ...

  2. python安装robotframework报错_Python3+RIDE+RobotFramework自动化测试框架搭建过程详解

    Python2.7已于2020年1月1日开始停用,之前RF做自动化都是基于Python2的版本. 没办法,跟随时代的脚步,我们也不得不升级以应用新的控件与功能. 升级麻烦,直接全新安装. 一.Pyth ...

  3. [转]大数据环境搭建步骤详解(Hadoop,Hive,Zookeeper,Kafka,Flume,Hbase,Spark等安装与配置)

    大数据环境安装和配置(Hadoop2.7.7,Hive2.3.4,Zookeeper3.4.10,Kafka2.1.0,Flume1.8.0,Hbase2.1.1,Spark2.4.0等) 系统说明 ...

  4. 测试环境搭建mysql数据库_软件测试环境的搭建系列:[2] MySQL数据库的安装

    原标题:软件测试环境的搭建系列:[2] MySQL数据库的安装 本文介绍CentOS系统上用源码包方式安装MySQL的方法,源码安装方式是需要自己到网上下载源码包,然后解压安装,此方式可以指定配置参数 ...

  5. Linux系统下SVN服务器的搭建过程详解 UpJ}s7+

    Linux系统下SVN服务器的搭建过程详解 UpJ}s7+   1 环境:  服务器放在redhatAS4.0上,客户端在windows 2000. k_lb"5z   Z]jSq@%1H* ...

  6. LNMP搭建过程详解,验证搭建论坛

    LNMP搭建过程详解,验证搭建论坛 一.安装Nginx服务 1.安装依赖包 2.创建运行用户 3.编译安装 4.优化路径 5.添加Nginx 系统服务 二.安装MySQL服务 1.安装Mysql环境依 ...

  7. 大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 图文详解

    引言 在之前的大数据学习系列中,搭建了Hadoop+Spark+HBase+Hive 环境以及一些测试.其实要说的话,我开始学习大数据的时候,搭建的就是集群,并不是单机模式和伪分布式.至于为什么先写单 ...

  8. Hadoop入门(四)——模板虚拟机环境准备(图文详解步骤2021)

    Hadoop入门(四)--模板虚拟机环境准备(图文详解步骤2021) 系列文章传送门 这个系列文章传送门: Hadoop入门(一)--CentOS7下载+VM上安装(手动分区)图文步骤详解(2021) ...

  9. es springboot 不设置id_es(elasticsearch)整合SpringCloud(SpringBoot)搭建教程详解

    注意:适用于springboot或者springcloud框架 1.首先下载相关文件 2.然后需要去启动相关的启动文件 3.导入相关jar包(如果有相关的依赖包不需要导入)以及配置配置文件,并且写一个 ...

最新文章

  1. Windbg学习 (0x0002) 命令基础
  2. 三重for循环优化_MATALB中对循环操作的优化
  3. Shell-alias在Shell脚本中的使用
  4. 如何快速高效读懂1本书?|阅读
  5. 一个前端在校生的2018年终总结
  6. Linux下Nginx、MySQL、PHP5、phpMyAdmin安装与配置
  7. 如何对数据库中的表以及表中的字段进行重命名
  8. c语言检查密码是否出现回文,C程序检查数字是否为回文
  9. kernel printk信息显示级别
  10. spring源码核心:DefaultListableBeanFactory
  11. 视觉定位VBL 视觉里程计VO 视觉SLAM 区别与联系
  12. java web基础 --- URL重定向Filter
  13. 算法7-9:有向图搜索算法
  14. 排名 教材 数字电子技术_数字电子技术教材改革及实践
  15. 观察者模式及其应用场景
  16. Charles接口模拟404/502
  17. GAN for Image-to-image translation 2019年文章综述
  18. 南昌航空大学计算机控制实验,南昌航空大学关于实验教学的管理办法
  19. Vue — transition实现过渡动画
  20. SpringCloud--鸿鹄Cloud分布式微服务云系统

热门文章

  1. oracle 从后往前,oracle从后往前截取字符串 oracle截取字符串后三位
  2. 运算放大器分析----虚短和虚断(转载)
  3. PetaLiunx配置时sourcing bitbake报错解决方法
  4. 计算机itpt证书有什么用,ITPT信息技术应用专业能力培训项目认证课程体系表.pdf...
  5. 各种生物识别的优缺点
  6. 读书笔记5.4——《让数字说话:审计,就这么简单》:孙含晖
  7. Mermaid知识点总结3 - Flowchart 2
  8. [复变函数]第24堂课 6.3 辐角原理
  9. JavaScript高级程序设计读书笔记(第6章面向对象的程序设计之创建对象)
  10. linux安装 jenkins(清华大学镜像站)