🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 软件测试的测试环境 > 原文: [https://www.guru99.com/test-environment-software-testing.html](https://www.guru99.com/test-environment-software-testing.html) ## 什么是测试环境? 测试环境是用于测试团队执行测试用例的软件和硬件的设置。 换句话说,它支持配置了硬件,软件和网络的测试执行。 根据被测应用程序的需要配置测试平台或测试环境。 在某些情况下,测试平台可能是测试环境及其所运行的测试数据的组合。 设置正确的测试环境可确保软件测试成功。 此过程中的任何缺陷都可能导致客户花费额外的成本和时间。 在本教程中,您将学习- * [什么是测试环境](#1) * [在测试环境](#2)中设置的关键区域 * [软件测试环境设置过程](#3) * [测试环境管理](#4) * [测试环境清单](#5) * [设置测试环境管理](#6)的挑战 * [设置测试环境管理的最佳做法](#7) ## 在测试环境中要设置的关键区域 对于测试环境,要设置的关键区域包括 * 系统与应用 * 测试数据 * 数据库服务器 * 前端运行环境 * 客户端操作系统 * 浏览器 * 硬件包括服务器操作系统 * 网络 * 所需的文档,例如参考文档/配置指南/安装指南/用户手册 ## 软件测试环境设置过程 测试仅限于可以测试的内容和不应测试的内容。 以下人员参与测试环境设置 * 系统管理员 * 开发者 * 测试人员 * 有时,有兴趣进行测试的用户或技术人员。 测试环境需要设置各种不同的区域,例如, **测试服务器**的设置 可能不会在本地计算机上执行每个测试。 可能需要建立一个可以支持应用程序的测试服务器。 例如,Fedora 为 PHP 设置,带有或不带有邮件服务器的基于 Java 的应用程序,cron 设置,基于 Java 的应用程序等。 **网络** 根据测试要求建立网络。 这包括, * 互联网设置 * 局域网 Wifi 设置 * 专用网络设置 它可以确保测试期间发生的拥塞不会影响其他成员。 (开发人员,设计师,内容作者等) **测试 PC 设置** 对于 Web 测试,您可能需要为不同的测试人员设置不同的浏览器。 对于桌面应用程序,您需要用于不同测试仪 PC 的各种类型的 OS。 例如,Windows Phone 应用程序测试可能需要 * Visual Studio 安装 * Windows Phone 模拟器 * 或者,将 Windows Phone 分配给测试仪。 **错误报告** 错误报告工具应提供给测试人员。 **为测试环境**创建测试数据 许多公司使用单独的测试环境来测试软件产品。 常用的方法是复制生产数据以进行测试。 这有助于测试人员在不破坏生产数据的情况下检测与实时生产服务器相同的问题。 将生产数据复制到测试数据的方法包括: * 设置生产作业以将数据复制到通用测试环境 * 所有 PII(个人身份信息)以及其他敏感数据均被修改。 PII 替换为逻辑上正确但非个人的数据。 * 删除与您的测试无关的数据。 测试人员或开发人员可以将其复制到他们各自的测试环境中。 他们可以根据需要对其进行修改。 隐私是复制生产数据中的主要问题。 为了解决隐私问题,您应该查看经过混淆的匿名测试数据。 对于数据匿名化,可以使用两种方法: * 黑名单:使用这种方法,所有数据字段均保持不变。 除了用户指定的那些字段。 * 白名单:默认情况下,此方法将所有数据字段匿名化。 除了允许复制的字段列表。 列入白名单的字段表示可以按原样复制数据,并且不需要匿名。 另外,如果您使用的是生产数据,则需要精明如何获取数据。 使用 [SQL](/sql.html) 脚本查询数据库是一种有效的方法。 ## 测试环境管理 测试环境管理负责测试床的维护和保养。 测试环境管理功能的活动清单包括: 1. 使用所有更新版本的测试环境维护中央存储库。 2. 根据测试团队的要求进行测试环境管理。 3. 根据创建新环境的新要求 4. 监控环境 5. 更新/删除过时的测试环境 6. 调查环境问题 7. 协调直到问题解决。 ## 测试环境清单 | <center>硬件</center> | | 1 | 检查是否有所需的测试设备? | 如果不是这种情况,请分析供应时间! | |   | 检查外围设备是否可用? | 例如扫描仪,专用打印机,手持设备等。 | | <center>软件/连接</center> | | 2 | 是否指定了所需的应用程序? | 一个应用程序,例如 excel,word,绘图等。 | |   | 对于新软件,组织是否存在测试环境? | 组织是否具有使用和维护软件的经验? | | <center>环境数据</center> | | 3 | 检查标准测试数据集是否可用? | 对于回归测试集,请考虑使用[缺陷](/defect-management-process.html)管理来收集测试数据。 | |   | 是否与测试数据所有者达成有关测试数据的协议? | 考虑功能维护。 | | <center>维护工具/过程</center> | | 4 | 检查是否存在用于测试环境维护的单一联系点? | 如果不是,请准备一份与保持测试环境正常运行有关的所有可能成员的列表。 还应该包括他们的联系信息。 | |   | 是否就测试环境的就绪性和质量达成协议? | 例如,验收标准,维护要求等。此外,请检查环境的其他/额外质量属性是否一致。 | |   | 是否了解维护过程中涉及的所有成员? |   | 除了这些,在设置测试环境之前,还有一些其他问题要回答。 * 是开发内部测试环境还是外包? * 是遵循公司内部标准还是遵循任何外部标准(IEE,ISO 等)? * 测试环境需要多长时间? * 必须确定测试系统与生产系统之间的差异及其对测试有效性的影响。 * 您可以将现有设置重新用于公司中的其他项目吗? ## 设置测试环境管理的挑战 1. **Proper planning on resource usage** 对资源使用的无效计划可能会影响实际输出。 同样,这可能会导致团队之间的冲突。 2. **Remote environment** 测试环境可能在地理位置上分开。 在这种情况下,测试团队必须依靠支持团队来获得各种测试资产。 (软件,硬件和其他问题)。 3. **Elaborate setup time** 在[集成测试](/integration-testing.html)的情况下,有时测试设置过于复杂。 4. **Shared usage by teams** 如果开发&测试团队同时使用测试环境,则测试结果将被破坏。 5. **Complex test configuration** 某些测试需要复杂的测试环境配置。 这可能对测试团队构成挑战。 ## 设置测试环境管理的最佳做法 1. 全面了解测试要求并教育测试团队成员。 2. 在开始测试之前应检查连接性 3. 检查所需的硬件和软件,许可证 4. 浏览器和版本 5. 规划测试环境的计划使用。 6. 自动化工具及其配置。 ## 什么是测试床? 通常,测试台是软件开发环境。 它允许开发人员在不影响实时生产服务器的情况下测试其模块。 测试平台不仅限于开发人员,测试人员也可以使用。 它也称为测试环境。 **摘要**: * 测试环境是测试团队将在其上进行测试的软件和硬件的设置 * 对于测试环境,要设置的关键区域包括 * 系统与应用 * 测试数据 * 数据库服务器 * 前端运行环境等 * 设置测试环境时面临的挑战很少, * 偏远环境 * 团队之间的结合使用 * 精心设置的时间 * 整合资源使用的规划不充分 * 复杂的测试配置