测试环境对于测试执行至关重要,因此,需要预留足够的时间和工作量进行测试环境的计划和管理。尽管在测试环境上可能存在一些管理混乱和冲突,测试经理仍然可以在某些方面进行改进,使得测试环境能够更加符合测试要求,提高测试效率,进而提高测试质量。测试环境管理可以从下面的几个方面来进行改进,从而降低测试环境给测试带来的风险。
(1)熟悉用户使用环境
在高级别的测试执行中(例如:系统测试和验收测试),要求测试环境能够尽量贴近用户的使用环境,其主要优点表现在:一方面,可以在测试执行过程中发现软件产品和其他协同工作的产品之间的兼容性,避免软件发布给用户之后才发现这些问题;另一方面,也可以用来检验产品是不是用户真正需要的。
为了达到这个目标,测试团队必须了解用户的软件产品使用环境,例如:用户使用该软件产品的操作系统、与该软件产品对接的产品、用户使用该产品可能的网络拓扑结构等。因此,测试团队在了解和熟悉系统需求和实现之外,也需要去了解用户可能的使用场景,以及其他竞争对手产品的一些功能和特征属性。另外,在可能的情况下,邀请产品的潜在用户参与测试环境的搭建,或者征询用户在环境搭建方面的一些要求和建议,模拟搭建用户的使用环境,从而减少可能和用户使用环境不同而导致的风险,提高测试效率和测试质量。
(2)尽早计划测试环境
测试环境的规划,例如:测试平台和测试工具,应该在测试计划阶段进行考虑,而不是在测试执行阶段才进行规划和实施。
测试环境的范围非常广泛,包括软件系统运行的硬件配置(例如:对于通信系统,可能会使用不同的硬件机架、不同的控制模块、不同的用户模块等)、外部设备的型号规格、网络配置等。这些测试平台相关的硬件应尽可能与用户实际使用中的硬件一致。使用的软件系统的配置、版本、性能应尽可能与用户使用的一致。表2‑1是系统测试中环境配置清单的一个模板。
表1 环境配置需求清单
类别 |
序号 |
数量 |
设备名称 |
配置要求 |
使用时间 |
服务器 |
|
|
|
|
|
PC终端 |
|
|
|
|
|
软件 |
|
|
|
|
|
网络要求 |
|
|
|
|
|
数据线 |
|
|
|
|
|
网络线 |
|
|
|
|
|
测试工具主要是指测试执行过程中需要运用的各种工具,例如:对于复杂的通信产品系统测试,需要包括用户数据发生器和模拟器、协议分析仪、自动化测试的工具、测试管理工具(例如:缺陷管理工具、测试进度管理工具等)。
对于所有上面提及的测试环境方面的要求,都需要在测试计划阶段进行规划。而在实际测试过程,测试环境的规划常常会在测试计划阶段被忽视,而在测试执行阶段才被考虑。在测试执行阶段才考虑测试环境的规划,可能会给测试执行带来很大的风险,特别是测试执行过程需要使用的一些硬件设备和测试工具,需要购买或者租用的时候。因此,需要尽早对测试环境进行计划,避免影响测试执行的进度和质量。
(3)测试环境管理员
通常来说,测试环境并不仅仅供单个项目使用。组织内建立的测试实验室在不同的项目之间需要进行共享。这个时候,对测试环境进行管理就变得非常重要。因为任何组织在建立测试实验室的时候,都需要考虑测试环境建立的成本和它的效率。不同的项目之间需要共享测试平台和测试工具。这种情况下,需要专门的测试环境管理人员来对这些资源进行合理的管理和分配,以提高测试资源的利用效率和测试效率。测试环境管理员的主要职责为:
ü 负责测试环境所需的网络规划和建设,维护网络的正常运行。
ü 建立、设置和维护测试环境所需的应用服务器或软件平台。
ü 对实验室的硬件、软件资源进行登记、分配和管理。
ü 申请所需的新的硬件资源和软件资源,并协助有关部门进行采购和验收。
ü 对使用实验室的硬件、软件资源的权限进行设计和设置,保证其安全性。
ü 安装新的测试平台,协助安装被测试的系统等。
ü 优化测试环境,提高测试环境中网络、服务器和其他设备运行的性能。
(4)保持测试环境的独立性
测试环境独立于开发环境,可以使测试工作持续开展,能够避免开发人员占用测试环境。对于成熟的组织,应该有明确的开发人员和测试人员的角色和相应的职责定义。从测试人员的角度来说,经常会碰到的问题是:开发人员在修改测试人员提交的缺陷的时候,经常会要求在测试环境中对缺陷进行复现和定位。这种情况打乱了测试活动,并会影响测试的进度。为了避免这种情况,在提交缺陷的时候,测试人员应该尽量提供详细的复现缺陷的步骤,提供尽量多的信息以及测试所使用的资源和配置情况。而开发人员首先应该根据缺陷步骤的描述,在开发环境中复现和定位这个问题,从而找出引起缺陷的原因。在这个过程中,假如开发人员需要测试人员提供协助,测试人员应该帮助复现这个问题。但是开发人员必须明确:调试和定位问题是开发人员的职责。开发人员不应该让测试人员来定位,也尽量不要占用测试人员的测试环境和测试资源。开发人员必须有一个独立的环境来解决缺陷。
更多资料,欢迎访问:http://blog.csdn.net/Wenqiang_Zheng