The World of Testing3:29 with Alena Holligan
For all us imperfect programmers, I have some great news. There are tools that can help you keep those mistakes from breaking your application. They can also help you find and fix bugs faster, while at the same time, preventing those bugs from ever coming back. Many of these tools revolve around testing.
Types of Testing
Unit testing is the foundation of our testing would. Unit tests are written to verify that individual modules, these small units of code, are functioning the way that you expect. They do NOT talk to outside components such as a database or API. If you're familiar with Interfaces, it's kind of the same idea. If we pass the correct information, we should get back the expected results.
Integration testing is the next layer. While unit tests are isolated from other components, integration tests are not. For example, a unit test for database access would not talk to a real database, but an integration test would. Integration testing is for making sure your individual modules can work together.
Functional testing takes us to the next level. It ignores the internal parts and instead verifies that the application is actually meeting the requirements. All the pieces may work together, but have they built a dog or a fish? A house or a bicycle?
Acceptance testing is very much like the functional testing, only instead of a development or QA team verifying the results, the business person responsible for the application will verify that the results meet their expectations.
You need to sign up for Treehouse in order to download course files.Sign up