使用健身与自动化集成测试的优势是啥?

Posted

技术标签:

【中文标题】使用健身与自动化集成测试的优势是啥?【英文标题】:What's the advantage of using Fitness versus automated Integration Tests?使用健身与自动化集成测试的优势是什么? 【发布时间】:2013-02-03 20:46:23 【问题描述】:

使用 Fitness 与自动集成测试相比有什么优势?在旨在提供经过全面测试的解决方案时,我正在努力了解 Fitness 适合的确切位置。当然,如果开发人员对他们的代码进行了单元和集成测试,那么这就足够了。为什么团队需要重复集成测试工作?

【问题讨论】:

【参考方案1】:

敏捷环境中的测试用例主要有四种主要类型:

1) 自动化单元测试(例如,使用 J-unit);

2) 自动特征验证测试(例如,使用 Fitnesse);

3) 自动化功能/回归测试(例如,使用 Selenium 或 QuickTestPro);

4) 手动测试。

对于类型 1-3,当然有指定的自动化测试用例。对于类型 4,测试用例往往是逻辑(或高级)测试用例,这需要测试人员具备更高水平的技能和领域知识。此外,还会发生大量基于经验的测试,例如探索性测试、缺陷分类测试等。

请参阅 RBCS 博客here:

【讨论】:

【参考方案2】:

使用健身的主要原因是如果您要让非技术人员编写测试。例如,假设我们必须支持大量不同的佣金支付方式。非技术人员可以制作电子表格,显示一个花花公子赚取了一定数量的面团,询问系统他们应该获得多少佣金,然后断言计算是正确的。

就我个人而言,我发现 FIT 带来的麻烦多于其价值。我认为如果制造商认真并制作了一些工具来设置和配置它,它可能是一个非常引人注目的工具。

但主要的是,只有在您确定要使用大量业务规则类型的东西来验证 BA 甚至客户可以直接参与时才使用它。这并不是为了断言轨道常数正在被正确计算。

【讨论】:

【参考方案3】:

Fitness 应该让业务分析师更容易拥有和运行测试。开发人员创建夹具;业务分析师提供数据并确认测试通过。

根据我的经验,业务分析师既没有背景也没有兴趣做这样的事情。

适应性测试更像是集成测试。它们可能涉及多个组件。单元测试应该由开发人员对单个组件进行。因此得名“单位”。

我更喜欢单元测试。

【讨论】:

【参考方案4】:

这个问题暗示了错误的二分法; FitNesse 一个自动化的集成测试解决方案。只是测试是(打算)创建为 wiki 页面中的标记。

我目前正在使用它作为我的集成测试解决方案;我使用the command line 运行所有集成测试。测试也可以通过 JUnit 或 REST API 运行(这需要运行 FitNesse 服务器)。

As Rob mentions in their answer,设置和配置不是(非常)容易,虽然我没有觉得太难。我对 Rob 的说法提出异议,即“这不是为了断言轨道常数正在被正确计算。”;事实上,它完全可以用于此目的。

我遇到这个问题是因为我正在搜索使用或使用过 Fit 或 FitNesse 进行单元测试的人的评估。我之所以有这个想法,是因为作为一名开发人员,我发现以 FitNesse wiki 页面的形式理解一组测试比理解代码文件要容易得多。

以下是我的一个项目中的测试页示例。这些测试是集成测试,但我想不出为什么这对于单元测试也不起作用。测试代码没有什么特别之处,会阻止单元被测试。

【讨论】:

以上是关于使用健身与自动化集成测试的优势是啥?的主要内容,如果未能解决你的问题,请参考以下文章

jenkins是啥

jenkins是啥

Jenkins UI与接口自动化测试持续集成实战

匠心·求TFS与Jmeter集成测试实践

iOS测试与集成

iOS测试与集成