敏捷测试 - 工具
在敏捷项目中,测试人员负责以下日常任务 −
支持开发人员进行编码,并澄清系统的预期行为。
帮助开发人员创建有效且高效的单元测试。
开发自动化脚本。
将自动化测试工具/脚本与持续集成相结合以进行回归测试。
为了有效快速地执行这些任务,大多数敏捷项目都使用支持代码和测试组件 CI 的持续集成 (CI) 系统。
敏捷项目中的测试人员和开发人员可以从各种工具中受益,以管理测试会话并创建和提交缺陷报告。除了敏捷测试的专用工具外,敏捷团队还可以从测试自动化和测试管理工具中受益。
注意 − 记录和回放、测试最后、重量级和测试自动化解决方案并不像 − 那样敏捷。
此类工具鼓励的测试最后工作流程不适用于敏捷团队。
使用此类工具创建的无法维护的脚本成为变革的障碍
此类专用工具需要测试自动化专家,从而形成孤岛
广泛使用的工具是 −
S.No. | 工具 &目的 |
---|---|
1 | Hudson CI 框架 |
2 | Selenium 功能测试 – 与 Hudson 集成 |
3 | CruiseControl CI 框架 |
4 | Junit Java 单元测试 |
5 | Nunit .Net 单元测试 |
6 | Cobertura / JavaCodeCoverage / JFeature / JCover / Java 测试覆盖率 |
7 | Jester Java -变异测试/自动错误播种 |
8 | Gretel Java 测试覆盖率监控工具 |
9 | TestCocoon C/C++ 或 C# - 通过查找冗余测试和死代码来减少测试数量 |
10 | JAZZ Java - 分支、节点和消除覆盖率并实现 GUI、测试规划器、动态仪器仪表和测试分析器 |
11 | Ant Java – 自动化构建 |
12 | Nant .Net - 自动化构建 |
13 | Bonfire JIRA 的敏捷测试插件 |
敏捷测试自动化工具
有效敏捷测试自动化工具支持 −
使用测试优先方法进行早期测试自动化。
使用真实语言、领域特定语言编写测试自动化代码。
关注系统的预期行为。
将测试的本质与实施细节分开,从而使其独立于技术。
促进协作。
自动化单元测试(使用 Junit 或 NUnit)支持测试优先的编码方法。这些是白盒测试,可确保设计合理且没有缺陷。此类测试由开发人员在测试人员的支持下构建,并且可以独立于所需的功能。这会导致交付的产品可能无法满足客户要求,因此没有商业价值。
通过自动化验收测试来解决此问题,这些测试是在客户、其他利益相关者、测试人员和开发人员的协作下编写的。自动验收测试由客户或产品所有者/业务分析师编写,反映了产品的预期行为。开发人员的参与确保了代码的生成符合要求。但是,如果测试仅侧重于验收,则生成的代码可能仍然不可扩展。
因此,自动单元测试和自动验收测试是互补的,两者都是敏捷开发所必需的。
支持自动验收测试的敏捷工具和框架是−
- Fit
- Fitnesse
- Concordion
- Ruby
- Cucumber
Fit
Ward Cunningham 开发了可用于验收测试自动化的工具 Fit。 Fit 允许 −
客户或产品所有者使用 Microsoft Word 和 Microsoft Excel 提供产品行为示例
程序员可以轻松地将这些示例转换为自动化测试。
Fit 1.1 支持 Java 和 .NET。
FitNesse
FitNesse 是一个 wiki,这是一种 Web 服务器样式,允许任何访问者进行任何编辑,包括更改现有页面和创建新页面。简单的标记语言可让您轻松创建标题、使文本加粗、加下划线和斜体、创建项目符号列表以及进行其他类型的简单格式化。
在 FitNesse 中,验收测试自动化如下 −
将测试表达为输入数据和预期输出数据的表格。
使用 FitNesse 将测试表放在您可以编辑的页面上。
或者,将测试表放在 Microsoft Excel 中,复制到剪贴板,然后使用 Spreadsheet to FitNesse 命令让 FitNesse 正确格式化您的表格
运行测试
您可以通过测试表中单元格的颜色编码获得测试结果
绿色单元格代表获得预期值
红色单元格表示获得的值与预期值不同
黄色单元格表示抛出了异常
Cucumber
Cucumber 是基于行为驱动开发 (BDD) 框架的工具。主要功能是 −
用于编写 Web 应用程序的验收测试。
允许以易于阅读和理解的格式(如纯英语)自动执行功能验证。
在 Ruby 中实现,然后扩展到 Java 框架。两者都支持 Junit。
支持其他语言,如 Perl、PHP、Python、.Net 等。
可与 Selenium、Watir、Capybara 等一起使用。