Alex Rivera | Logout

What are the differences between unit tests, integration tests, smoke tests, and regression tests?

Asked 2009-02-06T12:08:34.317
814

What are unit tests, integration tests, smoke tests, and regression tests? What are the differences between them and which tools can I use for each of them?

For example, I use JUnit and NUnit for unit testing and integration testing. Are there any tools for the last two, smoke testing or regression testing?

Edit
Report

1 Answer

1

There are some good answers already, but I would like further refine them:

Unit testing is the only form of white box testing here. The others are black box testing. White box testing means that you know the input; you know the inner workings of the mechanism and can inspect it and you know the output. With black box testing you only know what the input is and what the output should be.

So clearly unit testing is the only white box testing here.

  • Unit testing test specific pieces of code. Usually methods.
  • Integration testing test whether your new feature piece of software can integrate with everything else.
  • Regression testing. This is testing done to make sure you haven't broken anything. Everything that used to work should still work.
  • Smoke testing is done as a quick test to make sure everything looks okay before you get involved in the more vigorous testing.
answered 2009-02-06T12:31:31.683

Your Answer