如何搭建测试环境?一文解决你所有疑惑!

什么是测试环境

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

硬件:指测试必需的服务器、客户端、网络连接等辅助设备。

软件:指测试软件运行时的操作系统、数据库及其他应用软件。

网络:指被测软件运行时的网络系统、网络结构以及其他网络设备构成的环境等。

数据准备:一般指测试数据的准备。测试数据会在测试用例设计的阶段设计好,然后软件运行的时候,作为软件输入去验证软件功能。如果是少量、正常的测试数据,可以直接通过手动方式模拟出来,如果是大量的用户数据的模拟,可以借助测试工具来构建。

测试工具:工具是辅助测试的好帮手,针对将要做的测试类型,可选择合适的工具让我们的测试事半功倍。比如接口测试,可以选择Jmeter或者postman;抓包工具,可以选择fiddler,wireshark等。

搭建测试环境的原则

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

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

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

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

如何搭建测试环境

1. 认识LNMT架构

互联网公司比较典型的部署框架LNMT(Linux+Nginx+Mysql+Tomcat)如下图:

  • 浏览器和APP端是通过HTTP协议跟服务器进行交互的。
  • 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
  • 验证配置成功

一般测试人员部署测试环境步骤

运维/开发人员会给到测试人员一份部署文档,文档中会写清楚部署步骤和注意事项,主要有以下几项:

  1. 安装软件,如tomcat、jdk、mysql等;
  2. 上传项目包,如war包,放到tomcat的webapps目录下,解压war包的命令:unzip xxx.war;
  3. 修改配置,根据文档中说明修改tomcat、数据库等配置信息,项目的配置文件一般在项目名/WEB-INF/classes/这个目录下;
  4. 启动数据库,一般开发会给出初始化sql脚本;
  5. 重启tomcat服务。
  6. 查询相应的进程:ps -ef | grep tomcat7
  7. 杀掉进程:kill 进程编号
  8. 重启tomcat:执行tomcat/bin下的./shutdown.sh停止,再输入./startup.sh重新启动

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/172582.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【算法之路】高精度算法(实现加减乘除)

目录 一、高精度概念 二、高精度算法的实现 1、高精度加法(大整数相加) 2、高精度减法(大整数减法) 3、高精度乘法(大整数*小整数) 4、高精度除法(大整数/小整数) 一、高精度概…

做接口自动化遇到的20个难点,记录下我是如何解决的!

我是一名接口自动化测试工程师,在公司中负责接口自动化测试的设计和执行。在公司中,接口自动化测试非常重要,因为公司的业务场景非常复杂,需要保证接口的质量。在这篇文章中,我将分享我在公司中接口自动化测试遇到的20…

代码随想录二刷 | 链表 |两两交换链表中的节点

代码随想录二刷 | 链表 |两两交换链表中的节点 题目描述解题思路 & 代码实现 题目描述 24.两两交换链表中的节点 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本…

中国出海主力系列专访之三七互娱:亚马逊云科技助力三七互娱海外“出圈”之路

如果问,在众多的中国出海赛道中哪一条拥有基数最大的粉丝拥趸?以网络游戏、社交媒体、直播、短视频为代表的泛娱乐赛道便成为当仁不让的领跑者。 在东京、新加坡、开罗、伦敦、纽约、慕尼黑等国际都市,当地的年轻人会随时随地的打开“中国造”…

同一台电脑访问gitee多个仓库代码

在开发上我们经常遇到,需要跟别人共享代码,特别是跟有些客户联合开发的情况下,有很多个客户。有些git仓库是客户建立的,比如有两个客户A和分布建了gitA和gitB两个代码仓库。我们在支持这两个客户的时候可能是同一个工程师&#xf…

OpenLayers实战,WebGL图层根据Feature要素的变量动态渲染多种颜色的三角形,适用于大量三角形渲染不同颜色

专栏目录: OpenLayers实战进阶专栏目录 前言 本章使用OpenLayers根据Feature要素的变量动态渲染不同颜色的三角形。 通过一个WebGL图层生成四种不同颜色的图形要素,适用于WebGL图层需要根据大量点要素区分颜色显示的需求。 更多的WebGL图层使用运算符动态生成样式的内容将会…

ubuntu 安装 gparted

前提环境: 阿里云的源。 sudo apt update sudo apt upgrade sudo apt install gparted 搜索:

RedisConnectionFactory is required已解决!!!!

1.起因🤶🤶🤶🤶 redis搭建完成后,准备启动主程序,异常兴奋,结果报错了!!!! 2.究竟是何原因 😭😭😭&#x1f…

解决:ERR This instance has cluster support disabled

问题描述 在使用Redisson做分布式锁,连接redis时,提示以下错误: 问题定位 通过指令: cluster nodes查看,发现 出现这种提示的原因,是因为此Redis实例已经禁用了集群(默认状态下是禁用状态)。 解决 …

5.4 Windows驱动开发:内核通过PEB取进程参数

PEB结构(Process Envirorment Block Structure)其中文名是进程环境块信息,进程环境块内部包含了进程运行的详细参数信息,每一个进程在运行后都会存在一个特有的PEB结构,通过附加进程并遍历这段结构即可得到非常多的有用信息。 在应用层下&am…

②⑩ 【MySQL Log】详解MySQL日志:错误日志、二进制日志、查询日志、慢查询日志

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ MySQL日志 ②⑩ MySQL日志:错误日志…

[计算机网络实验]头歌 实验二 以太网帧、IP报文分析

第1关:Wireshark基本使用入门 【实验目的】 1、掌握wireshark工具的基本使用方法 【实验环境】 1、头歌基于Linux的虚拟机桌面系统 2、网络报文分析工具wireshark 3、浏览器firefox 【本地主机、平台虚拟机之间数据传递】 1、文本的复制与粘贴 操作入口&…

对象分配规则

程序员的公众号:源1024,获取更多资料,无加密无套路! 最近整理了一份大厂面试资料《史上最全大厂面试题》,Springboot、微服务、算法、数据结构、Zookeeper、Mybatis、Dubbo、linux、Kafka、Elasticsearch、数据库等等 …

【shell】条件语句

一、测试 1.1文件测试test test命令是内部命令 test的语法 test 条件表达式 [ 条件表达式 ] test 选项 文件 -d :判断是否是目录 -f :判断是否是普通文件 -b :判断是否是块设备 -c :判断是否是字符设备 -e :判断是否…

autojs(意图篇之startActivity)

使用以下函数可以直接打开指定页面 app.startActivity({packageName:包名,className:活动页面类名,root:true })下面的问题是包名与类目如何获取: 打开所取页面运行如下代码: log("包名:"currentPackage()) log("活动页面类名&#xff1…

51单片机应用

目录 ​编辑 1. C51的数据类型 1.1 C51中的基本数据类型 1.2 特殊功能寄存器类型 2. C51的变量 2.1 存储种类 1. C51的数据类型 C51是一种基于8051架构的单片机,它支持以下基本数据类型: 位(Bit):可以表…

Java 类之 java.util.Properties

Java 类之 java.util.Properties 文章目录 Java 类之 java.util.Properties一、简介二、主要功能1、存储键值对2、读取文件与属性代码示例运行结果截图 3、设置属性并保存文件代码示例结果截图 4、遍历属性代码示例运行结果 关联博客:《基于 Java 列举和说明常用的外…

全网最全最规范的测试用例的几种必学设计方法

例如,Dr. Genichi Taguchi 设计的正交表 https://www.york.ac.uk/depts/maths/tables/orthogonal.htm Technical Support ( support.sas.com ) com 提供的 http://support.sas.com/techsup/technote/ts723_Designs.txt 首先,我们来看看基本的概念。 因素…

利用python下的matplotlib库绘制能突出显示的饼状图

需求描述 根据已有的数据绘制一个占比图,期望能对其中的部分占比成分进行突出显示。 原始数据如下: 国外投资(5%)、公司投资(8%)、地方投资(7%)、中央财政(80%&#xff…

【Python爬虫】8大模块md文档集合从0到scrapy高手,第7篇:selenium 数据提取详解

本文主要学习一下关于爬虫的相关前置知识和一些理论性的知识,通过本文我们能够知道什么是爬虫,都有那些分类,爬虫能干什么等,同时还会站在爬虫的角度复习一下http协议。 爬虫全套笔记地址: 请移步这里 共 8 章&#x…