What are unit testing and integration testing, and what other types of testing should I know about?

integration-testing, testing, unit-testing

Solution

Off the top of my head:

- Unit testing in the sense of "testing the smallest isolatable unit of an application"; this is typically a method or a class, depending on scale.

- Integration testing do these things talk to each other properly?

- Feature testing: this may cut across units, and is the focus of TDD.

- Black-box testing: testing only the public interface with no knowledge of how the thing works.

- Glass-box testing: testing all parts of a thing with full knowledge of how it works.

- Regression testing: test-cases constructed to reproduce bugs, to ensure that they do not reappear later.

- Pointless testing: testing the same basic case more than one way, or testing things so trivial that they really do not need to be tested (like auto-generated getters and setters)

Problem

I've seen other people mention several types of testing on Stack Overflow. The ones I can recall are unit testing and integration testing. Especially unit testing is mentioned a lot. What exactly is unit testing? What is integration testing? What other important testing techniques should I be aware of? Programming is not my profession, but I would like it to be some day;stuff about production etc is welcomed too.

Original source

Related problems