1. 测试环境重要性及意义
1、稳定、可控的测试环境,可使测试人员花费较少时间完成测试用例的执行;
2、 可保证每一个被提交的缺陷被准确的重现;
3、经过良好规划和管理的测试环境,可以尽可能的减少环境的变动对测试工作的不利影响,并可以对测试工作的效率和质量的提高产生积极的作用。
2. 测试环境搭建原则
测试环境搭建之前,需要明确以下问题:
1、所需计算机数量,以及对每台计算机的硬件配置要求,包括CPU的速度、内存和硬盘的容量、网卡所支持的速度等;
2、部署被测应用的服务器所必需的操作系统、数据库管理系统、中间件、WEB服务器以及其他必需组件的名称、版本,以及所要用到的相关补丁的版本;
3、用来执行测试工作的计算机所必需的操作系统、数据库管理系统、中间件、WEB服务器以及其他必需组件的名称、版本,以及所要用到的相关补丁的版本;
4、是否需要专门的计算机用于被测应用的服务器环境和测试管理服务器的环境的备份;
5、测试中所需要使用的网络环境;
6、执行测试工作所需要使用的文档编写工具、测试管理系统、性能测试工具、缺陷跟踪管理系统等软件的名称、版本、License数量,以及所要用到的相关补丁的版本。对于性能测试工具,则还应当特别关注所选择的工具是否支持被测应用所使用的协议;
7、测试数据的备份与恢复是否需要;
8、模拟实际生产环境或用户环境搭建。
3. 测试环境管理
一、设置专门的测试环境管理员
每条业务线或测试小组应配备一名专门的测试环境管理员,其职责包括:
ü 测试环境搭建。包括操作系统、数据库、中间件、WEB服务器等必须软件的安装,配置,并做好各项安装、配置手册编写;
ü 记录组成测试环境的各台机器硬件配置、IP地址、端口配置、机器的具体用途,以及当前网络环境的情况;
ü 完成被测应用的部署,并做好发布文档的编写;
ü 测试环境各项变更的执行及记录;
ü 测试环境的备份及恢复;
ü 操作系统、数据库、中间件、WEB服务器以及被测应用中所需的各用户名、密码以及权限的管理;
ü 当测试组内多名成员需要占用服务器并且相互之间存在冲突时(例如在执行性能测试时,在同一时刻应当只有一个场景在运行),负责对服务器时间进行分配和管理。
二、测试环境文档管理
需要维护如下文档是最新版本:
ü 组成测试环境的各台计算机上各项软件的安装配置手册,记录各项软件的名称、版本、安装过程、相关参数的配置方法等,并记录好历次软件环境的变更情况;
ü 组成测试环境的各台机器的硬件环境文档,记录各台机器的硬件配置(CPU/内存/硬盘/网卡)、IP地址、具体用途以及历次的变更情况;
ü 被测软件或产品的发布手册,记录被测软件或产品的发布/安装方法,包括数据库表的创建、数据的导入、应用层的安装等。另外,还需要记录历次被测软件或产品的发布情况,对版本差异进行描述;
ü 测试环境的备份和恢复方法手册,并记录每次备份的时间、备份人、备份原因(与上次备份相比发生的变化)以及所形成的备份文件的文件名和获取方式;
ü 用户权限管理文档,记录访问操作系统、数据库、中间件、WEB服务器以及被测软件或产品所需的各种用户名、密码以及各用户的权限,并对每次变更进行记录。
三、测试环境访问权限管理
按照如下要求维护测试环境权限:
ü 访问操作系统、数据库、中间件、WEB服务器以及被测软件或产品等所需的各种用户名、密码、权限,由测试环境管理员统一管理;
ü 测试环境管理员拥有全部的权限;
ü 除对被测软件或产品的访问权限外,一般不授予开发人员对测试环境其他部分的访问权限。如的确有必要(例如查看系统日志),则只授予只读权限(user权限);
ü 除测试环境管理员外,其他测试组成员不授予删除权限;
ü 用户及权限的各项维护、变更,需要记录到相应的“用户权限管理文档”中。
四、测试环境变更管理
确保每次变更是可追溯和可控:
ü 测试环境的变更申请由测试人员提出邮件申请,由测试环境管理员负责执行。测试环境管理员不接受非正式的变更申请(例如口头申请);
ü 对测试环境的任何变更,测试负责人均应记入相应的文档;
ü 每次变更相关的变更申请文档、软件、脚本等均应保留原始备份,作为配置项进行管理;
ü 对于被测软件或产品的发布,开发人员负责打包、测试人员核对发布包。
五、测试环境备份与恢复
1、确保测试环境程序版本、数据是可恢复;
2、对于功能或性能测试,测试数据需定期进行备份或从生产环境导入测试数据;
3、通过备份软件工具备份数据,同时保障备份数据可快速恢复。
4. 测试环境维护执行流程附件
1、测试机器申请流程
2、测试机器维护列表格式
3、测试环境部署文档维护列表格式
4、发布手册维护列表格