- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 Fit/FitNesse 代替 xUnit 风格的集成测试有什么意义?在我看来,它的语法非常奇怪且非常不清楚。
真的只是为了让产品负责人编写测试吗?他们不会!这对他们来说太复杂了。那么为什么每个人都应该 Fit/FitNesse 呢?
更新那么它完全适合仅用于业务规则测试吗?
最佳答案
重点是与非程序员(通常甚至是完全非技术人员,例如业务应用程序的潜在用户)合作,研究应用程序应该做什么,然后将其投入测试。虽然进行测试对他们来说确实太复杂了,但他们应该能够讨论填写的示例数据表,例如单词。最棒的是,与传统规范不同,这些文档与您的应用程序一起存在,因为自动化测试迫使您更新它们。
参见Introduction To Fit和 Fit Workflow作者:James Shore,如果需要,请点击链接查看其余文档。
<小时/>更新:取决于您所说的业务规则是什么意思? ;-) 有些人会非常狭隘地理解它(例如业务规则引擎等),而其他人则非常广泛。
在我看来,Fit 是一个工具,允许您在文档中写下业务(如在领域中)用例以及丰富的实际示例,最终用户或领域专家(在某些领域)可以理解、验证这些用例并讨论。同时,这些示例是机器可读的形式,因此它们可以用于驱动自动化测试,您既不需要完全自己编写文档,也不需要要求他们这样做。相反,它是仔细讨论和讨论的产物,反射(reflect)了双方对应用程序将要做什么的理解不断加深。随着您的进步,示例会变得更加丰富,并且解决了更多的极端情况。
重要的是应用程序将做什么,而不是如何做。这是功能规范的一种形式。因此它相当广泛,并不是真正按模块组织的,而是按使用场景组织的。
来自示例的测试将从业务角度来看重要的方面测试应用程序的外部行为。是的,您可以称之为业务规则。但让我们看一下迭戈·扬西奇的信用评分示例,只是稍作改动。如果适合文档的一部分是 1) 列出属性及其分数,然后 2) 提供客户数据并检查结果,那么实际的业务规则是:评分表(属性及其分数)或计算每个客户分数的应用程序逻辑(根据评分表)?哪些是经过测试的?
Fit/FitNesse 测试似乎更适合验收测试。其他测试(当您不关心与客户、用户、领域专家等的合作时,您只想自动化测试)可能会更容易以更传统的方式编写和维护。 xUnit 非常适合单元测试和 API 测试。每个 Web 框架都应该在其修改-构建-测试-部署周期中集成一些用于 Web 应用程序/服务测试的工具,例如。 django 有它的小测试客户端。您有很多选择。
并且您始终可以编写自己的工具(或者最好调整一些现有工具)以更好地适应(双关语)您感兴趣的特定领域中的某些测试。
<小时/>还有一个普遍的想法。通常(并非总是!!!)更好地以某种形式的明确定义的数据对您的测试、“业务规则”和任何东西进行编码,并由一些简单的通用代码片段进行解释。然后很容易以其他方式使用数据:生成文档、迁移到新的测试框架、将应用程序移植到新的环境/编程语言、用于检查与某些外部规则或其他系统的一致性(只需发挥您的想象力)。从代码中提取此类信息要困难得多,例如。简单的硬编码单元测试或业务规则。
Fit 将测试用例存储为数据。由于其用途,采用非常具体的格式,但仍然如此。您的特定领域测试可能使用不同的格式,例如简单的 CSV、JSON 或 YAML。
关于fitnesse - 为什么选择健身/健身?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/598863/
使用 Fit/FitNesse 代替 xUnit 风格的集成测试有什么意义?在我看来,它的语法非常奇怪且非常不清楚。 真的只是为了让产品负责人编写测试吗?他们不会!这对他们来说太复杂了。那么为什么每个
我正在尝试连接到 Googlefit,但我收到如下奇怪的错误代码 E/GooglePlayServicesUtil:意外错误代码5005 有人对此有任何想法吗?提前致谢 最佳答案 我借助这篇文章中的答
我有一个与 Google 健身集成的应用程序。其中一项要求是显示用户最喜欢的 Activity (最频繁),即:骑自行车。我假设这将通过 History API 完成,但我不确定如何收集所有 Acti
我正在尝试从我的应用程序中将距离数据插入 Google-Fit: insert(DataType.AGGREGATE_DISTANCE_DELTA, distanceMeters, fromMilli
我写了一个简单的健身测试,效果很好。今天我发现 fitnesse 生成的输出页面 (NoSuchElementException) 显示的错误与控制台显示的输出 (java.lang.Exceptio
我们使用 Fitnesse [FitSharp],我们需要一个单一的拟合测试,该测试将调用和运行跨越多个套件的单个测试。 我知道我们可以把它放在一个批处理文件中并从那里运行单独的测试 C:\Fitne
我是一名优秀的程序员,十分优秀!