测试环境、测试标准和方法
北京北大软件工程发展有限公司 Beijing Beida Software EngineeringDevelopment Co.,Ltd. 测试环境、测试标准和方法测试环境、测试标准和方法 编写 审核 批准 版本 生效日期 密级内部文件 V1.0 年月日 状态受控 修订记录修订记录 修改人修改人 版本号版本号发布日期发布日期 修改日期修改日期审核日期审核日期批准日期批准日期 审核人审核人批准人批准人 修订原因修订原因 测试环境测试环境 测试环境的定义测试环境的定义 测试环境包括设计环境、实施环境和管理环境。本章讲述的是通常意义上 的测试环境即测试的实施环境。 ● 测试设计环境编制测试计划/说明/报告及与测试有关的文件所基于的 软件/硬件设备和支持。在设计阶段根据客户的需求进行环境设计,当然期望测 试环境无限接近于客户所需软件运行的真实环境,但实际上由于各种资源的限 制,只能在近似的模拟环境中进行测试。 ● 测试实施环境对软件系统进行各级测试所基于的软件/硬件设备和支 持。测试实施环境包括被测软件的运行平台和用于各级测试的工具。实施环境 必须尽可能地模拟真实环境,以期望能够测试出真实环境中的所有问题,同时 也需要理想环境以便找出问题的真正原因。 测试环境是测试的基础测试环境是测试的基础 测试环境贯穿了测试的各个阶段,每个测试阶段中测试环境对测试影响是 不一样的。 在测试的计划阶段,充分理解客户需求,掌握产品的基本特性有助于测试 环境的设计,合理调度使用各种资源,申请获得未具备的资源,保证计划的顺 利实施。如果在测试计划中规划了一个不正确的环境,直到实施的过程中才发 现,浪费了大量的人力和物力取得一些无用的结果,即使只是遗漏了一些环境 配置,如不能及时发现,及时申请购买或调用,也会影响整个项目的进度。在 计划阶段,考虑周全很重要。 在单元测试和集成测试阶段,有部分测试工作是由开发人员完成的。开发 人员的测试环境通常为开发环境,近似于理想环境。理想环境有利于代码的调 试和分析,但测试结果不能视为真实结果。有这样一个例子,测试人员报告的 bug 在开发环境中无法重现,开发人员就在测试人员的测试环境中研究,原来 是环境系统的设置不同造成的,此时测试人员就应该分析修改系统设置是否合 理。如果合理,这就是一个很棒的解决方案,但要求用户手工修改系统设置, 或不能识别用户的系统设置通常都是不合理的,这应该是个严重的 bug。 在系统测试和验收测试阶段,测试环境必须模拟并最大限度地接近实际环 境。测试人员在设计测试案例时就得写明测试环境,因为在不同的环境中预期 的结果是不同的。测试中运行测试案例,报告 bug 时有一项基本的要求,就是 写明测试环境,以便开发人员再现 bug,减少不必要的交流和讨论。大型的软 件系统,特别是支持多平台的软件系统,往往测试环境比较复杂,而且在不同 的环境下,软件的特性有差异,问题的解决方案也不同。 测试环境是软件测试的基础,使用错误的测试环境,可能会遇到以下的情 形 ● 得出完全错误,甚至是相反的结果。 ● 得出的结果和实际使用中的结果有很大误差。 ● 忽略了实际使用可能会出现的严重错误,将严重的 bug 遗留到客户的手 中。 ● 导致项目返工,造成巨大的资源浪费。 ● 导致项目延期,信誉的损失。 所以,测试环境问题的重要性应该得到充分的重视。尽量将测试环境的因 素降到最小,避免因测试环境出现的问题。 测试标准测试标准 组织者在指定范围内选择软件测试遵循的标准, 并结合本软件系统的具体需 求,使之贯彻到整个软件测试的计划、实现和管理过程之中。根据标准,需要被 明确的内容包括测试阶段和测试文件类型。能从三个角度来划分测试阶段面 向测试操作类型的阶段划分、面向测试操作对象的阶段划分、面向测试实施者的 阶段划分。测试操作类型包括调试、集成、确认、验证、组装、验收、操作等。 测试操作对象能是单元、部件、设置项、子系统、系统等。测试实施者能是 研发者、测试者、使用者、验收者等。各类标准从不同角度定义测试评审阶段, 而测试组织者能在符合所选标准的同时, 结合多个划分因素规定本系统的测试阶 段。各标准规定的测试文件类型也不尽相同。如国标软件产品研发文件编制指 南规定了两类测试文件测试计划、测试分析报告;国标计算机软件测试文 件编制规范定义了八类测试文件测试计划、测试设计说明、测试用例说明、 测试规程说明、 测试项传递报告、 测试日志、 测试事件报告、 测试总结报告; XXX 软件工程化技术文件定义了三类测试文件测试计划、测试说明、测试报告。 我们认为最后这种规定较易操作因为, 太少的测试文件类型不利于有步骤有层 次地定义测试内容,也不利于测试用例和测试例程的良好表达;太多的测试文件 类型易使测试组织陷入到繁杂的文件规范和编制中去;而第三种定义较为适中。 其中 测试计划在系统分析/设计阶段提交, 着重定义测试的资源、 范围、 内容、 安排、通过准则等;测试说明在测试计划明确后开始编制,针对软件需求和设计 需求具体定义测试用例和测试规程;测试报告分析和总结测试结果,测试日志是 其必要附件。 方法方法 方法方法 1 1白盒测试白盒测试 指基于程序结构的测试, 测试目标是检查程序内部逻辑结构和逻辑路径,是 代码级的测试。 方法方法 2 2黑盒测试黑盒测试 基于程序功能的测试,根据输入输出的关系推断程序功能的正确性。 方法方法 3 3根据测试用例测试根据测试用例测试 编写测试方案, 包括数据输入和相应的期望输出。依据测试用例来执行具体 操作。 方法方法 4 4 根据测试流程, 对每个功能项进行测试, 单元测试完成后进行系统集成测试。