on validation and testing
Every time we release a new product or add a new feature to an existing product, the software is sent to a build system.
The build system is a fairly straightforward set of commands to compile the software, create different formats of the software, validate the plug-ins, and then create installers.
At the end of the build, the software is packaged together and signed with a certificate authority, but prior to the packaging of each product, the plug-in is sent to a testing suite, either pluginval (VST3) or auval (AU).
When a plug-in is tested, a number of tests will occur, including testing the plug-in with different buffer sizes, different sample rates, and so on….
Apotheca parameter testing in pluginval.
Pluginval testing allows the tests to run at various strictnesses. Our plug-ins receive a level 10 test, the strictest level of testing.
This means the plug-ins are not only tested to be able to load and unload from a DAW safely, but parameter settings are tested, plug-in states are tested, so that presets are changed safely, and the ability to close and reopen the plug-in is tested as well.
The plug-ins are also tested for seg faults, which happen when trying to access invalid memory locations, which will ensure a crash if not caught before release.
Although testing is never perfect, we do try to vet our plug-ins before release. Nonetheless, if there is ever a crash, please feel free to report it here or on the support page.
