怎样才算是软件测试中搭建测试环境?

测试环境是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,里面有各种测试开发资料和技术可以一起交流哦。

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

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

相关文章

游戏科技:超越娱乐的界限

12月25日,国家新闻出版署在节日前夕推出令业内人士振奋的好消息——本次共有105款国产网络游戏通过审批,获得版号,这不仅数量超过了历史新高,更使业内人士看到政策回暖的希望。 这105款游戏覆盖多家知名游戏企业,其中不…

vue3+vite 项目的创建

这里要提醒一下,如果我们要使用 vue3 的组合式api 的写法的话, 那么我们使用的 vue 版本不能低于 vue3.2 版本,不能低于 vue3.2 版本,不能低于 vue3.2 版本 vue2 已停止维护了, 现在全面拥抱vue3 之前用 vue-cli 创建…

线程池学习

github看到一个项目(GitHub - markparticle/WebServer: C Linux WebServer服务器),内部使用的一个线程池看着不错,拿来学习一下。 /** Author : mark* Date : 2020-06-15* copyleft Apache 2.0*/ #ifndef THREADPO…

计算机服务器中了mallox勒索病毒怎么解密,mallox勒索病毒解密流程

科技技术的第一生产力,网络技术的不断发展与应用,让企业逐步走向数字化时代,通过网络的力量可以为企业更好地开展各项业务工作,网络数据安全问题也由此成为众多企业关心的主要话题。近日,云天数据恢复中心接到某化工集…

PL/SQL执行.sql文件

1.编写.sql文件,创建update.sql文件,文件如下: set feedback off set define off --更新表中所有人的年龄 update a set age18; prompt Done. 2.打开plsql选择命令窗口,即选择File->New->Command Window; 打…

SpringBoot系列(一):SpringBoot介绍

SpringBoot系列(一):SpringBoot介绍 1. SpringBoot介绍 SpringBoot是由Pivotal团队提供的一套用于构建微服务的基础框架,它旨在简化Spring应用程序的创建和开发过程。 SpringBoot通过设计大量的自动化配置等方式来简化Spring原有样板化的配置&#xff…

开发规范(黑马学习笔记)

开发规范我们主要从以下几方面介绍: 开发规范-REST 我们的案例是基于当前最为主流的前后端分离模式进行开发。 在前后端分离的开发模式中,前后端开发人员都需要根据提前定义好的接口文档,来进行前后端功能的开发。 后端开发人员&#xff1…

【精通Spring】基于注解管理Bean

个人名片: 🐼作者简介:一名大三在校生,喜欢AI编程🎋 🐻‍❄️个人主页🥇:落798. 🐼个人WeChat:hmmwx53 🕊️系列专栏:🖼️…

[HackMyVM]靶场 VivifyTech

kali:192.168.56.104 主机发现 arp-scan -l # arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:d2:e0:49, IPv4: 192.168.56.104 Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.56.1 0a:00:27:00:00:05 (Unk…

Linux---进程信号

一、信号的概念 信号是一种向目标进程发送通知消息的机制 信号的特性(可以结合红绿灯、防空警报等生活样例来理解) 1、在信号没有出现之前,我们就已经知道如何去处理信号,即我们认识信号 2、信号是异步产生的,即我们不知道它具体何时产生 3、…

官宣 | 凯琦供应链成为亚马逊SPN物流服务商!

再播一条喜讯!在亚马逊官方平台的筛选考核下,凯琦供应链近日正式入驻亚马逊SPN服务商平台,成为亚马逊SPN第三方承运商。 这也标志着凯琦9年来在FBA物流领域的服务质量得到了客户、官方及行业的广泛认可,未来凯琦将继续为亚马逊卖家…

LLM 聊天对话界面chatwebui 增加实时语音tts功能

类似豆包聊天,可以实时语音回复 1、聊天界面 streamlit页面 参考界面:https://blog.csdn.net/weixin_42357472/article/details/133199866 stream_web.py 2、 增加实时语音tts功能(接入melotts api服务) 参考:https://blog.csdn.net/weixin_42357472/article/detai…

Python + Selenium —— 下拉菜单处理!

传统的下拉菜单 Select 元素&#xff0c;由一个 Select 一系列的 option 元素构成。 <select id"source" name"source"><option value"">--请选择--</option><option value"1001">网络营销</option>&…

全部都有的子序列

思路&#xff08;双指针&#xff09; 先使用Set来存储总共有多少不同的数字&#xff0c;然后我们使用快慢指针去遍历数组&#xff0c;快指针每次遍历到一个数&#xff0c;将其加入到哈希表&#xff0c;哈希表使用pair存储&#xff0c;第一个元素存数字&#xff0c;第二个元素存…

Ban for 1 day (wangzherongyao) 2024.03.02

王者荣耀禁赛1天 单排真的要保持【心态】&#xff0c;即便队友是这种&#xff0c;也要克制&#xff0c;不然接着就开始【连败】。 为什么我玩射手和法师喜欢提早第一件第二件出【梦魇】和【制裁】&#xff0c;因为对面有回复英雄就是一个风险&#xff0c;早做应对&#xff01;…

SpringCloudNacos注册中心服务分级存储模型

文章目录 服务分级存储模型概述配置集群同集群优先的负载均衡 权重配置总结 之前对 Nacos注册中心入门 已经做了演示. 这篇文章对 Nacos 的服务分级存储模型做理论与实践. 服务分级存储模型概述 一个服务可以有多个实例&#xff0c;例如我们的 user-server&#xff0c;可以有:…

【和鲸冬令营】通过数据打造爆款社交APP用户行为分析报告

【&#x1f40b;和鲸冬令营】通过数据打造爆款社交APP用户行为分析报告 文章目录 【&#x1f40b;和鲸冬令营】通过数据打造爆款社交APP用户行为分析报告1 业务背景2 数据说明3 数据探索性分析4 用户行为分析4.1 用户属性与行为关系分析4.2 转化行为在不同用户属性群体中的分布…

MySQL中json类型的字段

有些很复杂的信息&#xff0c;我们一般会用扩展字段传一个json串&#xff0c;字段一般用text类型存在数据库。mysql5.7以后支持json类型的字段&#xff0c;还可以进行sql查询与修改json内的某个字段的能力。 1.json字段定义 ip_info json DEFAULT NULL COMMENT ip信息, 2.按…

【rabbit robot】控制代码.C解读

使用 MATLAB Coder 工具箱直接转换为C语言后即可直接在实机代码中使用&#xff0c;在本项目主控代码中可以找到同名文件,除main函数和PID函数&#xff0c;其余都是MATLAB生成的。debug函数不用管&#xff0c;用于调试。 平衡算法主要参考了这个专栏文章&#xff0c;仅有少许不…

【LeetCode:230. 二叉搜索树中第K小的元素 + 二叉树 + 递归】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…