笔者曾就职于一家J2EE外包公司,其核心产品是可跨平台的信息系统。期间做过Test Lab的搭建维护工作,期间积累了一些经验。整理出来,和大家共享。
搭建Test Lab首先需要研究测试部门对测试环境的需求。简单了列了一下产品运行的平台:
如果加上PRODUCT,APPLICATION SERVER,DB SERVER,和OS的版本,集群环境,安全服务器,那么要维护的就是一个很复杂的测试环境了。笔者是以测试工程师的身份配合IT,可以说是IT的客户。所以更多的是从测试需求,管理需求,和软件的角度考虑。如何在IT人力短缺,成本有限的条件下,维护一个健壮的,有效率的,便于管理的复杂测试环境是本文要探讨的问题。
环境策略:
1.实体服务器,提供性能测试,压力测试,自动化测试,和交付产品环境前的完整功能测试环境。< /p>
2.虚拟化技术,为tester提供功能测试,缺陷验证的环境,为配置管理员,提供配置,部署脚本调试环境。
3.磁盘阵列,提供异常崩溃后的快速恢复,以及客户驱动的测试平台快速切换。
为了便于管理,实体服务器安装完成后,备份,执行命名规范,输出机器配置文档。
EX:
虚拟机,由配置管理员搭建,IT克隆,入虚拟机服务器,由IT发布,供tester申请,日常使用。
磁盘阵列,由IT维护,测试经理,启动切换程序。
几种角色的职责
1、IT负责测试服务器OS,DB SERVER, APPLICATION SERVER裸环境的安装,虚拟架构的搭建,磁盘阵列,测试服务器的管理,权限控制。确保提供给配置管理员的是一个符合指标的,干净的,可供配置部署的裸环境。
2、配置管理员负责产品的部署,测试环境的配置,自动化部署脚本的编写和维护,就绪测试环境的管理,发布,维护,以及协助测试人员完成性能测试,自动化测试人员完成测试环境的初始化,和处理跟环境相关的缺陷跟踪。
3、手工测试人员和自动化测试人员在配置管理员的协调下使用环境,维护自己的数据库,避免由于环境资源竞争,造成测试数据丢失,测试结构不准确,或出现等待环境就绪的效率低下状况。
4、测试管理者,根据配置管理员所发布的环境状态,拟定测试计划,分配测试任务。
工具需求:
需要一个局域网服务器管理工具,供IT, TESTER,测试经理,配置管理员,实时查看服务器的运行状态和使用情况。接受服务器开启,重启,建库,数据导入,迁移。
综上说述,维护一个复杂测试环境,必须要建立规范的环境管理流程,由独立的配置管理员,借助局域网服务器管理工具,协调普通测试者之间的工作竞争关系。这样才能,把普通测试者从环境的不确定性中解放出来,专注于BUG追踪定位;让测试管理者更容易的制定测试日程。
文章来源于领测软件测试网 https://www.ltesting.net/