In the world of IT, even an ordinary development is full of complications. Testing is necessary because, when used determinedly, it saves ample time and cost.
With this perspective, we have a preference for automated tests, which we can run from the first line of code. This allows us to detect potential mistakes, even in the initial phase of development, and prevents added costs in the future.
During its implementation, we divide a project into three testing phases:
- Component Tests (including unit and TDD): Here, testing is directed toward separate sections. The developer writes expectations,which need to be complied by single methods. This phase is not complete until all component tests are done.
- BDD & ATDD Feature Tests: Here, we study the collective function of the system. These tests apply user modeling to find potential mistakes.
- Finally, on the last stage there is Manual Aacceptance Testing.