2009-05-11

每日一题:测试环境

通过搜索和资源整合,可获得如下信息:(文末有金大侠点评)
1.测试环境的定义
软件测试环境包括设计环境、实施环境和管理环境。本章讲述的是通常意义上的测试环境即测试的实施环境。

软件测试设计环境:编制测试计划/说明/报告及与测试有关的文件所基于的软件/硬件设备和支持。
在设计阶段根据客户的需求进行环境设计,当然期望测试环境无限接近于客户所需软件运行的真实环境,但实际上由于各种资源的限制,只能在近似的模拟环境中进行测试。

软件测试实施环境:对软件系统进行各级测试所基于的软件/硬件设备和支持。
测试实施环境包括被测软件的运行平台和用于各级测试的工具。实施环境必须尽可能地模拟真实环境,以期望能够测试出真实环境中的所有问题,同时也需要理想环境以便找出问题的真正原因。

软件测试管理环境:管理测试资源所基于的软件/硬件设备和支持。
广义的测试管理环境包含测试设计环境、测试实施环境和专门的测试管理工具。例如,对bug的跟踪、分析管理,对CASE的分类管理,对测试任务的分派、资源管理等。

2.测试环境是测试的基础
测试环境贯穿了测试的各个阶段,每个测试阶段中测试环境对测试影响是不一样的。
在测试的计划阶段,充分理解客户需求,掌握产品的基本特性有助于测试环境的设计,合理调度使用各种资源,申请获得未具备的资源,保证计划的顺利实施。如果在测试计划中规划了一个不正确的环境,直到实施的过程中才发现,浪费了大量的人力和物力取得一些无用的结果,即使只是遗漏了一些环境配置,如不能及时发现,及时申请购买或调用,也会影响整个项目的进度。在计划阶段,考虑周全很重要。
在单元测试和集成测试阶段,有部分测试工作是由开发人员完成的。开发人员的测试环境通常为开发环境,近似于理想环境。理想环境有利于代码的调试和分析,但测试结果不能视为真实结果。有这样一个例子,测试人员报告的bug在开发环境中无法重现,开发人员就在测试人员的测试环境中研究,原来是环境系统的设置不同造成的,此时测试人员就应该分析修改系统设置是否合理。如果合理,这就是一个很棒的解决方案,但要求用户手工修改系统设置,或不能识别用户的系统设置通常都是不合理的,这应该是个严重的bug。
在系统测试和验收测试阶段,测试环境必须模拟并最大限度地接近实际环境。测试人员在设计测试案例时就得写明测试环境,因为在不同的环境中预期的结果是不同的。

金大侠点评:
作为专业测试,必须保证测试环境的可控性。版本控制可以说是测试的基础。