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