什么是测试环境?

17 Mar 2025 | 6 分钟阅读

测试环境是硬件和软件的集合,它帮助我们执行测试用例。

一旦我们从客户那里得到需求,开发人员就开始开发代码。

当编码阶段完成后,应用程序应该安装在测试服务器中。并且可以使用 URL 访问该应用程序,URL 可能如下所示

HTTP://计算机名称/项目/公司名称

假设我们有 ICICE 服务器,它已配置了软件、硬件、数据库和应用程序。

  • 测试环境具有软件配置(操作系统)、硬件配置(RAM、硬盘和处理器)以及测试控制台,这有助于我们执行测试用例。
  • 环境设置是测试过程的重要组成部分,因为如果设置不正确,测试团队就无法开始测试过程,并且应用程序可能会崩溃。
  • 而生产 URL 可能是**服务器的名称**,例如 ICICE.com,以及**环境**。
  • 数据库是安全的;这就是为什么我们可以使用它来创建、修改和删除数据。
  • 此服务器可以被 n 个最终用户(真实用户)使用。
Test Environment

软件服务器

在这里,我们有四种类型的服务器,如下所示

  • 生产服务器
  • 开发服务器
  • QA 主服务器
  • 登台服务器

生产服务器

由软件、硬件和应用程序开发环境组成的服务器被称为**生产服务器**。它是用户访问任何 Web 应用程序或网站的核心服务器。

生产服务器配置类似于登台服务器,并且应该在将应用程序转储到生产服务器之前在登台服务器上对其进行调试和测试。

生产服务器的特点

  • 最终用户或真实用户使用此服务器。
  • 由于生产服务器包含真实用户数据,因此对其进行安全保护。
  • 高度配置的系统,因为它被 n 个用户使用。
  • 生产 URL 访问生产服务器。
  • 一旦应用程序开发/测试/稳定后,它就会被部署到生产环境中。

开发服务器

通常,开发人员会使用它来编写新代码行以及修复错误。开发服务器提供了一个运行时环境,程序在此处开发和调试。

QA 主服务器

测试工程师访问它以进行所有类型的测试,开发人员也获取它以重现错误。在此服务器中,我们将执行单元测试和集成测试。

测试(登台)服务器

我们使用另一个服务器来检查服务器的兼容性,因为生产服务器是高度配置的,所以我们需要一个类似的服务器,我们可以在其中执行系统测试。

检查应用程序兼容性 错误 称为登台服务器。

此服务器帮助我们在应用程序部署到生产服务器之前识别软件性能、行为、错误和其他问题。

测试环境的过程

  • 一旦客户提供需求,开发人员完成编码,我们就会开始在测试服务器上进行第一轮测试,例如**功能/单元、集成**测试,并具有普通配置。
  • 在这里,所有服务器软件都应该相同,但是硬件和数据库类似于**生产服务器**和**登台服务器**。
  • 对于系统测试,我们需要一个高度配置的服务器,它类似于生产服务器(与软件、硬件和数据库相似),这称为**登台服务器**。
  • 在登台服务器中,我们使用**测试 URL** 并执行**系统测试**。
  • 如果我们发现任何错误,我们将把它交给开发人员,他们将修复错误,并且它将直接存储在**登台测试服务器**中。
Test Environment
  • 在一家公司中,我们将仅使用以下两种环境
    • 开发环境
    • 测试环境
  • 在测试过程中,我们将把数据库从**QA 主服务器 1** 移动到**登台服务器**,以节省时间,而不是使用现有的开发数据库创建一个新数据库。
  • 然后将应用程序从测试服务器(登台服务器)移动到生产服务器。

注意
生产问题:这些问题可能会在最终用户使用应用程序的生产站点中实时发生。

为什么测试环境类似于生产服务器?

因为,如果我们将应用程序从低配置移动到生产环境,用户可能会发现一些问题。为了避免这种情况,我们在类似于生产环境的环境中进行一轮端到端(系统)测试。

以下是显示为什么我们需要类似于生产服务器的测试环境的方面

软件应该类似于生产环境

  • 数据库服务器应该类似
  • 操作系统应该类似
  • Web 服务器应该类似
  • 应用程序服务器应该类似

硬件应该类似于生产环境

  • 硬件配置应该类似于生产服务器

**例如:**如果生产服务器是 ICICE,那么测试服务器也应该是 ICICE 服务器。

  • 配置和硬件必须类似,但容量不同,例如 CPU 的数量。

数据应该类似于生产环境

  • 我们应该创建类似于生产环境的数据。
  • 在实时环境中,我们可能会向数据库中输入 n 个条目,但在测试时,我们无法手动输入 n 个条目。因此,我们编写一个测试脚本,生成数千个条目,可以用于测试。

注意

  • 我们可以在一个通用服务器上为开发团队和测试团队工作吗?
    不行,因为没有持续的任务,而且如果我们有通用服务器,开发人员会悄悄地更改代码。
    Test Environment
  • 当开发人员重现错误时,在哪个服务器上,测试服务器还是开发服务器?
    • 发现错误的地方,它只能在那里重现(测试服务器,发现错误)。
    • 如果我们这样做是在开发人员服务器上,则其他一些开发人员可能会更改代码,因此重现错误的良好方法仅在测试服务器上进行。
    • 应用程序始终从测试服务器移到生产服务器 569,因为开发人员可以随时更改代码。
    • 但是,在测试服务器中,人们无法访问代码,因为我们总是将应用程序从测试服务器转移到生产服务器。
  • URL 仅提供对要测试的应用程序的访问权限吗?
    • 当客户需要更改或提供应用程序的新需求时,它将提供给特定的公司。
    • 在获得需求后,开发团队创建一个单独的服务器并使用开发人员 URL 来运行应用程序。
    • 一旦应用程序准备就绪,它将移交给测试工程师,测试工程师将使用测试 URL 测试应用程序,该 URL 只能在特定公司中使用。
  • 当我们使用 URL 时,我们只能从服务器或应用程序的前端提供对应用程序的访问。
    Test Environment
    • 客户想要一个应用程序,然后他/她去软件公司并提供需求;公司为开发人员提供需求,以便在开发服务器中开发代码。
    • 完成代码后,应用程序安装在测试服务器中,以便测试工程师将测试应用程序,直到应用程序稳定,然后将其部署到生产服务器中。
  • 我们可以在两个服务器中更改需求吗?
    • 当应用程序在生产服务器中时,测试工程师和开发人员无法更改任何内容,因为他们可能已在开发服务器和测试服务器上更改了需求。
      Test Environment

下一个主题缺陷管理流程