The idea is to automatically setup the test environements using docker-compose, controlled by a Robo task (see RoboFile.php). The setup should not only serve core development, but also persue extension developers to use the testing environment to improve the quality of their products.
Unit Testing
For unit tests, there's not necessarily needed a separate environment, but it can help anyway (see Isolating PHPUnit).
[ ] Docker based test setup
[ ] Improve the current unit testing coverage
The overall coverage should at least be at 70%.
Coverage of a single package should at least be at 80%.
Integration (Functional) Testing
For integration (functional) tests, we need an installed Joomla, i.e., initialised database, mailcatcher, and so on.
[ ] Docker based test setup
System (Acceptance) Testing
For system (acceptance) tests, additionally the selenium grid is needed.
The idea is to automatically setup the test environements using docker-compose, controlled by a Robo task (see RoboFile.php). The setup should not only serve core development, but also persue extension developers to use the testing environment to improve the quality of their products.
Unit Testing
For unit tests, there's not necessarily needed a separate environment, but it can help anyway (see Isolating PHPUnit).
Integration (Functional) Testing
For integration (functional) tests, we need an installed Joomla, i.e., initialised database, mailcatcher, and so on.
System (Acceptance) Testing
For system (acceptance) tests, additionally the selenium grid is needed.
Security Testing
It makes sense to add a security test level using the OWASP Zed Attack Proxy and/or the Vega Vulnerability Scanner.