Test Automation
Testing an application manually is time-consuming and nerve-wracking. Tests should therefore be automated as much as possible. This not only increases their execution speed, but also avoids careless mistakes.
Small unit tests should be used to test as much functionality as possible simply, quickly, and in isolation. In addition, you should write as many system tests as necessary, but as few as possible. System tests ensure the correct behavior as well as the quality of the entire application. In between, mid-level integration tests ensure that multiple units of code work together as expected. However, the correct behavior of the individual units has already been ensured in isolation from each other by unit tests.
It all comes down to finding the right balance between these different tests. Whether one uses a pyramid , a trophy, or a honeycomb as a figurative metaphor to categorize the different types of tests is rather secondary.
In PHP projects, these different types of tests can be automated with PHPUnit . To develop better software faster, tests should drive the development .