6. 测试的支持工具
6.1 测试工具分类
支持测试和测试件管理的工具
(D)表示该测试工具可能更适合开发人员
- 测试管理工具盒应用生存周期管理工具
- 需求管理工具
- 缺陷管理工具
- 配置管理工具
- 持续集成工具(D)
支持静态测试的工具
- 静态分析工具(D)
- 评审工具
支持测试设计和实施的工具
- 基于模型的测试工具
- 测试数据准备工具
支持测试执行和日志记录的工具
- 测试执行工具(例如:执行回归测试)
- 覆盖工具(例如:需求覆盖、代码覆盖(D))
- 测试用具(D)(又叫测试桩:包含执行测试需要的桩和驱动的测试环境)
支持性能测量和动态分析的工具
- 性能测试工具
- 动态分析工具(D)
- 监视工具
6.2 测试自动化的收益和风险
使用工具支持测试执行的潜在收益包括:
- 减少重复性的手工工作来节省时间(比如,执行回归测试、环境设置/拆除、重新输入相同测试数据,和代码规则检查)
- 更好的一致性和可重复性(比如,测试数据按照一致的方式产生,用工具按照相同的顺序和频率执行测试,以及始终从需求出发进行测试)更客观的评估(比如,静态测量、覆盖)
- 更容易得到测试的相关信息(比如,关于测试进展、缺陷发生率和性能的统计和图表)
用工具支持测试的潜在风险:
- 对工具过分依赖
- 忽视多个重要工具之间的关联和互操作性问题(例如:需求管理工具、配置管理工具、缺陷管理工具、和其他不同供应商获得的工具)
6.3 测试执行工具
测试执行工具使用自动化的测试脚本执行测试对象。
- 捕获测试方法:通过记录(捕获)测试工程师的手动操作而生成的测试脚本,看起来似乎
很吸引人,但是这种方法不适合大量的测试脚本。捕获的脚本只是一种线性表达,脚本内
包含特定数据和操作。当发生意外事件时,这类脚本可能会很不稳定,并且需要随着系统
用户界面的不断发展而需要不断进行维护。
- 数据驱动测试方法:这种测试方法是将测试输入和期望结果与脚本分离,通常可以存放在
一个电子表格中,这样可以使用更通用测试脚本读取输入数据,从而用不同的数据执行相
同的测试脚本。
- 关键字驱动测试方法:在这种测试方法中,通用脚本处理描述系统要执行操作的关键字(也
称为行为字),然后调用这些关键字脚本来处理相关联的测试数据。
上面这些测试方法都需要有脚本语言方面的专业技术人员(测试工程师、开发人员或测试自动
化专家)。当使用数据驱动或关键字驱动的测试方法时,不熟悉脚本语言的测试工程师也可以为这些 预定义脚本创建测试数据和/或关键字。
6.4 组织引入工具的试点项目
试点项目目的:
- 深入了解工具有关的知识,了解工具的优缺点
- 评估工具与现有过程以及实践的配合程度,确定哪些方面需要作修改
- 定义一套标准的方法来使用、管理、储存和维护工具及测试工作产品(比如,定义文件和测试的命名规则,选择编码标准,创建库和定义模块化测试套件)
- 评估在付出合理的成本后能否得到预期的收益
- 理解工具应该收集和报告的度量,并对工具进行配置,以保证度量的获取和报告