有没有人可以清楚地定义这些测试级别,因为我发现在进行TDD或单元测试时很难区分。请任何人详细说明如何,何时实现这些?
发布于 2011-10-06 17:42:47
简要地说:
单元测试-您可以对每一段代码进行单元测试。考虑每个文件或类。
集成测试-当将几个交互的单元放在一起时,您需要进行集成测试,以确保将这些单元集成在一起没有引入任何错误。
回归测试-在集成(也许是修复)之后,你应该再次运行你的单元测试。这是回归测试,以确保进一步的更改不会破坏任何已经测试的单元。您已经完成的单元测试已经生成了可以反复运行以进行回归测试的单元测试。
验收测试-当用户/客户/企业接收到功能时,他们(或您的测试部门)将进行验收测试,以确保功能满足他们的要求。
您可能还想研究白盒和黑盒测试。还需要考虑性能和负载测试,以及对“功能”的测试。
发布于 2011-10-07 11:44:30
单元测试:当它失败时,它会告诉您需要修复代码的哪一部分。
集成测试:当它失败时,它会告诉您应用程序的各个部分没有像预期的那样协同工作。
验收测试:当它失败时,它会告诉您应用程序没有做客户期望它做的事情。
回归测试:当它失败时,它会告诉您应用程序的行为不再像以前那样。
发布于 2011-10-06 18:10:37
以下是所提到的每个测试的简单解释以及它们适用的时间:
Unit Test单元测试是在一个自包含的单元(通常是类或方法)上执行的,应该在单元实现或单元更新完成时执行。
这意味着只要你写了一个类/方法,修复了一个bug,改变了功能,它就会运行。
集成测试集成测试旨在测试多个单元之间的交互效果。只要单元之间建立了新的通信形式,或者它们的交互性质发生了变化,就应该执行这种类型的测试。
这意味着只要最近编写的单元被集成到系统的其余部分,或者与其他系统交互的单元已经更新(并成功完成了单元测试),它就会运行。
回归测试回归测试将在系统中发生任何更改时执行,以检查是否没有引入新的bug。
这意味着它是在所有补丁、升级、bug修复之后运行的。回归测试可以看作是组合单元测试和集成测试的特例。
验收测试验收测试在与检查子系统(可能是整个系统)是否满足其整个规范相关的时候执行。
这意味着它主要在完成新的交付内容或宣布完成更大的任务之前运行。在跑向客户/老板并宣布胜利之前,这是你的最后一次检查,看看你是否真的完成了你的目标。
这至少是我学到的方法,尽管我相信还有其他相反的观点。不管怎样,我希望这能有所帮助。
https://stackoverflow.com/questions/7672511
复制相似问题