验收测试与单元测试示例
Posted
技术标签:
【中文标题】验收测试与单元测试示例【英文标题】:Acceptance Tests vs Unit Test Examples 【发布时间】:2011-07-13 19:16:30 【问题描述】:好的,所以我一直在尝试查看有关测试的信息,不同的测试库等等。
在我看来,人们总是将这些测试的区别明确定义为一个是高水平的,一个是低水平的。并且经过适当测试的应用程序将包含样式测试以及集成测试等。
但似乎每篇关于测试类型的文章都以“在实践中可能很难看出实际差异是什么”之类的结尾。我觉得奇怪的是,人们似乎如此说教,以至于您必须同时进行测试才能达到任何类型的完整代码覆盖率,同时又没有任何关于每个可能是什么样子的好的信息/示例。
我之所以这么问,是因为我正在开始一个新项目,该项目有望比我过去所做的任何事情都更大、参与度更高。我想在我的测试中保持良好的工作流程,并确保我不会在我的测试中造成差距(过去的项目很小,我可能有的任何差距似乎都不会导致任何重大问题在生产中并不简单 t0 正确)
我知道这似乎是一个很好的验收测试,自然会引导你进行单元测试,一旦你得到它,就会发生这种神奇的事情,你的开发生活就会更加幸福。
不管怎样,有没有人知道关于开始一个好的测试工作流程的任何好的讨论,一个讨论在你的验收/集成测试到你的单元测试之间移动以及什么不是的。
.net 的示例会很棒,但由于大多数测试框架 cucumber(gherkin)/rspec 等都意味着可读性强,因此任何示例都应该是好的。
【问题讨论】:
Software Quality Assurance and Testing 论坛可能会更好地回答您的问题 感谢您在该论坛上提供的信息。我会在那里检查。 【参考方案1】:"in practice it could be hard to see what the difference actually is"
:
我只能提供一般测试建议。大型软件项目通常涉及某种层次结构。
在开发阶段,开发人员通常会对小单元进行白盒测试(单元测试)。这里可以使用内部知识来减少测试用例的数量(如果两个函数是正交的,则不需要测试所有可能的组合)。这是测试层次结构中的较低端。 在集成中,软件组件被放在一起,不同的人(测试人员)只测试接口处的行为(黑盒测试)。这些人不了解内部结构,只了解接口规范。 系统集成结合了更大的系统。 等等。为了使测试有效,每个级别都依赖于在较低级别测试的完全预先测试的组件。否则更高的测试级别必须包括其组件的基本功能,但只能使用黑盒测试(必须假设最坏的情况,即要测试的功能之间的依赖关系)。因此,测试用例的数量呈指数级增长,不可能进行全覆盖测试。
分层方法优化了这里的测试工作。
【讨论】:
我想我可能真的想多了。 “在实践中,可能很难看出实际的区别是什么”。他们这样说是因为这并不是测试本身的样子。它确实是“经受考验”的一个整体功能。或使该功能发生的部分。我刚刚开始接受那些说黄瓜非常适合验收测试和单元测试的 rspec 之类的人。而 cucumber 实际上只是 rspec 上的一层。 所以我明白了为什么一个看起来像这样的测试更像是一个验收测试,而不是你在 rspec 中所做的。我只是对此很愚蠢。【参考方案2】:请参阅video on different types of testing。不同类型的测试技术用一张表进行比较。
【讨论】:
以上是关于验收测试与单元测试示例的主要内容,如果未能解决你的问题,请参考以下文章