English 中文(简体)
单位测试? 融合试验 回归试验? 接受测试?
原标题:Unit Test? Integration Test? Regression Test? Acceptance Test?

是否有任何人能够明确界定这些测试水平,因为我认为在进行TDD或单位测试时难以区分。 请是否有任何人能够详细说明如何执行这些建议?

最佳回答

简介:

Unit testing - You unit test each individual piece of code. Think each file or class.

<>融合测试——在把几个互动单位聚集在一起时,你需要进行融合测试,以确保将这些单位合并起来不会产生任何错误。

<>回归测试——在整合(并可能确定)之后,你应再次进行单位测试。 这是一种回归测试,以确保进一步的变化不会打破已经测试的任何单位。 你们已经进行了单位测试,可以再次进行回归测试。

<>接受测试——当用户/客户/企业获得功能时(或贵测试部门)将进行 接受测试以确保该功能符合其要求。

你也不妨调查白箱和黑色检测箱。 还进行了性能和负荷测试,并测试了“零点”。

问题回答

单位测试:当它失败时,它告诉你需要确定哪一部你的法典。

Integration test: when it fails, it tells you that the pieces of your application are not working together as expected.

接受测试:当申请失败时,它告诉你,申请不是客户期望它做的事。

Regression test: when it fails, it tells you that the application no longer behaves the way it used to.

Here s a simple explanation for each of the mentioned tests and when they are applicable:

Unit Test A unit test is performed on a self-contained unit (usually a class or method) and should be performed whenever a unit has been implemented or updating of a unit has been completed.

这意味着,每当你写上某类/方法、固定ug、改变功能时,就会发生。

Integration Test Integration test aims to test how well several units interact with each other. This type of test should be performed Whenever a new form of communications has been established between units or the nature of their interaction have changed.

这意味着,一旦一个最近的书面单位并入系统其余部分,或一个与其他系统互动的单位得到更新(并成功完成了单位测试),就会运行。

Regression Test Regression tests are performed whenever anything has been changed in the system, in order to check that no new bugs have been introduced.

这意味着它是在所有配送、升级和装饰之后运行的。 回归测试可被视为联合单位测试和一体化测试的特殊案例。

Acceptance Test Acceptance tests are performed whenever it is relevant to check that a subsystem (possibly the entire system) fulfils its entire specifications.

这意味着它主要在完成新的可交付或宣布完成更大任务之前进行。 请将此视为你最后检查,以便你在接触客户/船只和宣布胜利之前真正完成你的目标。

This is at least the way I learned, though I m sure there are other opposing views. Either way, I hope that helps.

I ll try:

  1. Unit test: a developer would write one to test an individual component or class.
  2. Integration test: a more extensive test that would involve several components or packages that need to collaborate
  3. Regression test: Making a single change to an application forces you to re-run ALL the tests and check out ALL the functionality.
  4. Acceptance test: End users or QA do these prior to signing off to accept delivery of an application. It says "The app met my requirements."

Unit Test: is my single method working correctly? (NO dependencies, or dependencies mocked)

<>融合试验:是我两个单独开发的单元,在<>>共同投放时核心运作?

Regression Test: Did I break anything by changing/writing new code? (running unit/integration tests with every commit is technically (automated) regression testing). More often used in context of QA - manual or automated.

Acceptance Test: testing done by client, that he "accepts" the delivered SW

Can t comment (reputation to low :-| ) so...

@Andrejs makes a good point around differences between environments associated with each type of testing.

Unit tests are run typically on developers machine (and possibly during CI build) with mocked out dependencies to other resources/systems.

按定义进行的一体化测试必须具备(某些程度的)可依赖性;其他资源和系统被称作更具有代表性。 测试数据可能作模拟,或实际生产数据中小块混淆。

UAT/Acceptance testing has to represent the real world experience to the QA and business teams accepting the software. So needs full integration and realistic data volumes and full masked/obfuscated data sets to deliver realistic performance and end user experience.

Other "ilities" are also likely to need the environment to be as close as possible to reality to simulate the production experience e.g. performance testing, security, ...





相关问题
Selenium not working with Firefox 3.x on linux

I am using selenium-server , selenium rc for UI testing in my application . My dev box is Windows with FireFox 3.5 and every thing is running fine and cool. But when i try to run selenium tests on my ...

Best browser for testing under Safari Mobile on Linux?

I have an iPhone web app I m producing on a Linux machine. What s the best browser I can use to most closely mimic the feature-limited version of Safari present on the iPhone? (It s a "slimmed down" ...

Code Coverage Tools & Visual Studio 2008 Pro

Just wondering what people are using for code coverage tools when using MS Visual Studio 2008 Pro. We are using the built-in MS test project and unit testing tool (the one that come pre-installed ...

Is there any error checking web app cralwers out there?

Wondering if there was some sort of crawler we could use to test and re-test everything when changes are made to the web app so we know some new change didn t error out any existing pages. Or maybe a ...

热门标签