SIMULATeQCD is constantly being expanded and improved by physicists working in multiple places of the code and it is utmost importance that physics results and modules remain stable under these changes. To help check and protect agains bugs the SIMULATeQCD has large suite of test as well as some profilers. The merging into main branch only happens after all executables compile and all test pass(merging is required when we want to contribute to the code). Changes to lower level of code requires no significant loss in performance, for which profilers are used.
Also when new feature is implemented, testing script is required to provide, testing strategy vary depending on feature to be implemented, but they include comparision to old code; comparision to analytic results; performing calculation in antoher independent way; a link by link check against trusted configurations.