软件测试环境包括哪些:六大组成模块
软件测试环境包括哪些,完整构成分为硬件、软件、网络、数据、测试工具、环境管控组件六大部分,你做功能、接口、性能、兼容性测试时都要按需配置,该组成框架适配绝大多数企业自研业务与商用系统,不适用于无独立部署资源、仅使用公有云SaaS租户页面直接验证的轻量快速核验场景,硬件承载被测程序运行,软件包含操作系统与中间件,网络负责链路连通与带宽控制,测试数据用来还原业务场景,工具支撑执行与结果采集,管控组件实现环境隔离和版本切换。
软件测试环境的硬件组成
硬件是承载整套测试环境的物理或虚拟资源,包含服务器、终端设备、外设、存储设备。服务器用来部署后端服务、数据库、消息队列,可选用物理机、虚拟机或者容器节点;终端设备覆盖PC、手机、平板,用来做前端页面、APP的兼容性验证;外设包含扫码枪、打印机、读卡器这类和软件存在交互的外接设备;存储设备负责存放数据库文件、日志、测试附件。你做性能测试时,硬件的CPU、内存、磁盘IO指标会直接影响压测结果的可信度,需要尽量对齐生产环境硬件规格。
虚拟资源也算硬件范畴。
软件测试环境的软件组成
软件部分分为基础系统软件、业务支撑软件、被测软件包。基础系统软件就是操作系统,常见有Windows、CentOS、Ubuntu、Android、iOS;业务支撑软件包含数据库、Web服务、缓存、中间件,例如MySQL、Nginx、Redis、RocketMQ;被测软件包就是待验证的程序,包含前端包、后端jar包、镜像文件。同一套硬件上可以搭建多套隔离的软件环境,分别给到开发自测、测试正式执行、回归验证使用,避免版本互相干扰。
软件测试环境的网络组成
网络部分包含网络设备、网络策略、链路配置,涵盖交换机、路由器、防火墙、负载均衡组件,同时包含带宽、延迟、丢包率的配置项。你可以通过网络模拟工具调整参数,复现弱网、高延迟、跨地域访问的场景,验证软件在不稳定链路下的表现。网络策略用来控制访问权限,限制测试环境和生产环境之间的直接连通,降低数据泄露的可能性,很多团队会划分独立测试网段,和办公网、生产网做隔离。
软件测试环境的测试数据组成
测试数据是用来驱动业务流程运行的数据集,分为基础主数据、业务流程数据、边界异常数据。基础主数据包含账号、部门、商品档案这类固定信息;业务流程数据是订单、审批记录这类流转生成的数据;边界异常数据包含超长文本、特殊字符、极值数字。测试数据需要做脱敏处理,不能直接导入生产原始数据,脱敏后的数据集既能覆盖业务场景,又能规避敏感信息外泄问题,每次版本回归前,可提前准备好固定数据集,减少重复造数据的时间。
软件测试环境的测试工具组成
测试工具按测试类型划分,覆盖功能、接口、性能、日志、缺陷管理方向。接口类工具可以发起http请求,性能类工具模拟并发用户,日志工具用来抓取程序运行日志,缺陷管理工具记录问题和跟进状态。工具不属于被测业务本身,但是测试环境里的配套组件,工具版本要保持稳定,频繁升级工具可能会改变请求报文格式,带来无效的报错信息,干扰你的测试判断。
软件测试环境的环境管控组件
管控组件负责环境生命周期管理,包含版本部署平台、环境占用系统、快照备份工具、清理脚本。部署平台用来一键更新被测程序版本,快照备份工具可以在测试开始前保存环境状态,出现脏数据或者配置错乱后快速回滚;环境占用系统支持人员预约锁定环境,防止多人同时操作同一套环境引发冲突;清理脚本在一轮测试结束后,自动清空临时业务数据,把环境重置到初始状态。
| 环境类型 | 使用主体 | 数据隔离要求 | 对齐生产程度 |
|---|---|---|---|
| 开发自测环境 | 开发人员 | 较低 | 较低 |
| 测试执行环境 | 测试工程师 | 较高 | 较高 |
| 预发布环境 | 测试+产品 | 高 | 很高 |
预发布环境是测试环境里特殊的一类,配置和生产基本保持一致,仅不对外提供用户访问,用来做上线前最后一轮全流程验证,预发布环境不会承载真实用户流量,数据一般使用脱敏的仿真数据。
环境配置记录需要随版本同步归档。
