FitNesse 是一个基于 wiki 的自动化测试框架,为软件测试目的而创建。它支持敏捷风格的黑盒测试、单元、集成、验收和回归测试。 FitNesse 使客户、测试人员和程序员能够了解他们的软件应该做什么,并自动将其与实际所做的进行比较。它将客户的期望与实际结果进行比较。它鼓励用户协作定义其软件的可执行规范。
FitNesse 完全专注于轻松创建测试,让测试人员和开发人员能够专注于创建高质量的测试,而不是迷失在执行测试的机制中。鉴于 FitNesse 的工作方式,创建测试很容易涉及三个因素:
1.轻松创建表格。
2. 轻松地将表转换为对被测系统的调用。
3. 允许轻松灵活地记录测试。
我们为什么要编写测试?
功能原因:
-
他们在开发过程的早期就需求提供明确的反馈。
-
他们鼓励开发人员和利益相关者之间的沟通。
-
他们降低了风险,因为一切都在不断测试。
-
它们充当系统的实时规范。
技术原因:
-
它们通过使开发人员能够进行正确的更改而不是影响最小的更改来提高代码质量。
-
它们充当可以随意以自动化方式执行的端到端测试。
-
它们形成了全面的回归测试套件,可在不断变化的需求中验证功能。
-
与手动测试相比,他们通过业务逻辑执行更多路径。
谁应该编写这些测试?
理想情况下,编写 FitNesse 测试是开发人员和非开发人员(用户、测试人员和业务分析师)之间的协作工作。
非开发人员负责定义规范,每个规范都涉及测试数据和预期结果。通过这种方式,他们可以尽早并经常参与开发过程。这是比散文更准确的捕获功能需求的方法。
开发人员负责将客户定义的规范转换为 FitNesse 代码夹具。通过这种方式,他们深入参与需求收集过程,并鼓励他们在正确构建代码之外构建正确的代码。
测试架构
优点
-
FitNesse 是 wiki 网络服务器——不需要额外的配置或设置。您可以轻松地在 wiki 页面上创建和编辑测试用例。
-
FitNesse 适用于 Java、C#、Smarttalk 和 Python。
-
FitNesse 与 JUnit 兼容,后者提供了将测试作为构建过程的一部分执行的优势。
-
可以在代码之前编写测试,以便此方法可以支持 TDD-Agile 方法。
-
FitNesse 相对于其他集成测试框架的最大优势在于,代码堆栈的入口点不是(Web)前端——固定装置是用 java/C# 编写的,并调用您正在测试的代码库的任何部分。这使我们能够测试单独的层以及测试一起工作的整个代码堆栈。
适用范围
-
FitNesse 是一个应用程序测试套件,可让您测试应用程序的业务层。
-
需要在广泛的数据集上测试复杂计算的软件测试。
-
测试可以在代码冻结发布之前运行。
FitNesse 的局限性
-
无法捕获和重放。
-
不用于 Web 界面测试。 (它可以与 selenium 等 UI 测试工具集成)。
-
不用于性能测试。