• 0
  • 0
分享
  • 软件测试中搭建测试环境?——软件测试圈
  • quinn 2022-11-11 16:01:06 字数 2105 阅读 655 收藏 0

测试环境是QA做好检测运行的前提条件。平稳和可控的测试环境,能够使测试人员在实行测试用例时不用花费额外的时间去维护。有一些企业运维或是研发部会帮忙准备好测试环境,可是QA要是一味依赖别的部门,会局限检测运行的做好。

一、什么是测试环境

测试环境,指为了更好地做好软件测试运行所必不可少的计算机硬件、软件、网络设备、历史数据的总称,简单点来说,测试环境=硬件+软件+网络+数据准备+测试工具。

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

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

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

数据准备:一般指测试数据的准备。测试数据会在测试用例设计的环节设计好,随后软件运行的情况下,当做软件输入去认证软件作用。如果是小量、正常的测试数据,能够直接根据手动方式模似出来,如果是大量的用户数据的模似,能够利用测试工具来构建。

测试工具:工具是辅助检测的好助手,对于即将做的检测类型,可选取适宜的工具使我们的检测事半功倍。比如接口测试,能够选取Jmeter或是postman;抓包工具,能够选取fiddler,wireshark等。

二、构建测试环境的原则

1.真实

规定测试人员尽量模似用户的真实选用环境。应选择合适的操作系统和软件平台,了解符合测试软件运行的最低规定和用户选择的硬件配置,并考虑与其它软件共存时,是否能够正常工作等。

2.无毒

如果构建的检测感染上病毒,会导致测试软件莫名其妙的崩溃,运行不起来等现象,导致检测中止。用正版的杀毒软件防止病毒感染测试环境,要确认测试环境无毒。

3.单独

检测过程中需要保证 我们的测试环境单独,防止测试环境被挤占,干扰检测进度及检测结果。有时候开发人员为确认问题会选用我们的测试环境,那样会打乱我们的检测活动。为防止这种情况,测试环境与开发环境应相互独立,开发人员依据缺陷表单,在开发环境中再现和定位问题。

4.可复用

在我们刚构建好测试环境,组装测试软件之前及检测过程中,对操作系统及测试环境做好备份是必不可少的。在当测试环境遭受破坏时,能够恢复测试环境,防止检测数据丢失,出现不可预知的问题。

三、如何搭建测试环境

1.了解LNMT架构

在这里主要是讲述测试环境服务端的部署安排。不同企业的服务端部署安排都不一样。互联网公司较为常见的部署安排框架LNMT(Linux+Nginx+Mysql+Tomcat)如下图:

1.png

基于HTTP协议,浏览器和APP端与服务器端进行交互。

Nginx,有一些企业也用Apache。这是常用的HTTP服务器和反向代理服务器。Nginx是用来提供静态资源的服务,Nginx接收到来自浏览器的请求以后,判断这个请求是否是静态资源(以JS、CSS、HTML、PNG等结尾的静态文件),如果是,则Nginx直接返回相应文件;如果不是静态资源,是动态请求,比如,请求某一个日志的内容,则Nginx会把请求转发给Tomcat来处理。

Tomcat,是处理动态的HTTP请求,调用各种别的服务,做好相应的任务,并返回HTTP响应给Nginx。要是涉及到写日志、读日志等数据相关的操作,就需要对数据库做好读写。另外,由于这些动态请求也会依赖一些第三方服务,比如说要调用支付宝的支付服务,那么它就会再发起一个HTTP请求到支付宝的对外服务器。它处理完整个逻辑之后,就会把相应的内容返回给Nginx,随后由Nginx返回给浏览器。

Mysql数据库能够有条不紊地管理各种数据,并为其它应用提供统一的接口和服务。

2.LNMT架构部署安排

2.png

这里主要讲述了构建环境的思想,在这里将不再详细地讲述。

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

认证配置顺利

总结

对测试人员来说,需要了解这个整体的机制,例如,每个工具的作用是什么,每个配置文件有什么意义,每个模块的配置如何连接。

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


作者:Python软件测试木子

原文链接:https://blog.csdn.net/m0_63052740/article/details/124573532

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 什么是接口呢?接口一般来说有两种,一种是程序内部的接口,一种是系统对外的接口。系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的,比如说咱们用的app、网址这些它在进行数据处理的时候都是通过接口来进行调用的。程序内部的接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,比如bbs系统,有登录模块、发帖模块等等,那你要发帖就必须先登录,要发帖就得登录,那么这两个模块就得有交互,它就会抛出一个接口,供内部系统进行调用。一、常见接口:webSe...
            0 0 1424
            分享
          • 背景APP Push的定义为在手机终端锁屏状态下通知栏展示或在操作前台顶端弹出的消息通知,点击后可唤起对应的APP,并在APP内跳转到指定页面。push流程:push流程对应的测试方案针对整个push消息下发、客户端接收上报流程,测试点可以梳理为:能收到push消息、push消息能正常点击调起APP并跳转到指定页面。push测试工具的实现1、push消息发送工具:push消息发送工具的具体使用:push发送工具的设计与实现:支持多APP、环境、push消息类型的选择,可以给指定用户uid或者设备token发送自定义的push消息。2、push可达性分析工具push可达性分析工具的具体使用:pu...
            0 0 1164
            分享
          • 摘要:我们希望在划分我们的测试时,我们将考虑所有的场景,但是太容易忽略不常用的用例。这就是随机测试生成器的好处。我们可能在测试几十个测试用例后感觉很舒适;这些工具能生成几百个。随着更多的东西被扔到墙上,一些有趣的东西更有可能被粘在墙上。在第一个尝试FsCheck和基于属性的测试后,我恼火了。Haskell编程语言已经存在一段时间了,然而我从来不用它。吸引我注意的是一个名为QuickCheck的工具和它引进的算法。因为我一直工作在.NET领域,我采选用FsCheck做研究,一个F#端口的QuickCheck。我的恼火来自于演示list集合的属性。当我们反转一个列表,然后再反转一次,我们希望得到初...
            0 1 1445
            分享
          • 前言如果您从事软件测试,那么拥有这些技能将有助于您成为更有效的测试人员。软件测试是开发完美应用程序的必要过程。作为软件测试人员,必须具备某些技能,这些技能反过来将有助于更好地测试应用程序。由于缺乏必要的技能,许多人和组织仍然很难找到合适的软件测试人员。今天,我们将研究软件测试技能,这对任何领先的软件测试人员都是必不可少的。1. 思考过程测试并不像通常认为的那么容易!它对任何软件开发过程都具有非常重要的意义。对于任何软件测试人员来说,必须具备分析和概念逻辑应用的诀窍。在测试软件时,必须分析给定的情况并相应地为其创建解决方案。思维过程和正确的思维方式将有助于将问题分解为多个部分,从而可以轻松地检查...
            0 0 1137
            分享
          • 一、了解什么是DevOps       DevOps的目标是实现软件系统的快速交付、并且提升系统稳定性和获得用户良好的反馈。不知道是不是有些同学和我一样,仅仅靠单纯概念性的描述比较难以理解什么是DevOps。       就好像我们常常说要养成“良好的生活习惯”,那这个“良好的生活习惯”可能会包含:早睡早起、健康饮食和合理锻炼锻炼等等具体的行为。其实DevOps这个有点抽象的概念也是由一系列具体的行为和软件工程实践组成的。包含:基础设施即代码、CI/CD、自动化测试、容器化、服务编排、自动化部署和软件度量等。&nb...
            15 14 5478
            分享
      • 51testing软件测试圈微信