Tests are an important part of any software project at every stage and tests should be at the forefront of every developer's mind. Standard testing suites have their advantages, however, it can be preferable to have a bespoke solution to your problem.
For the purpose of testing a quantum computer simulation software package QuEST (Quantum Exact Simulation Toolkit) a framework which could test all the QuEST features in a flexible way was required. QuEST is designed to be cross-platform, with serial, OMP, MPI, and GPU variants; the framework would also have to be able to handle these.
This talk will introduce the thought processes and choices behind the Python test suite we developed for this purpose. The test suite we developed interfaces directly with the C code to provide an intuitive test system with a simple test language to allow developers to prototype new "gates" by hand, and a facility to generate regression tests for these "gates", with the aim of making the final result the most simple and beneficial to the end-user.
All of this is integrated with a unified interface to be accessible with minimal effort for anyone from experts to end users, in order to encourage all users to test properly.