The testing of quantum applications can be approached from three perspectives. The first one concerns the certification of the accuracy of the quantum device where the application is run. The second one has to do with the classical verification of the result output by the applica
...
The testing of quantum applications can be approached from three perspectives. The first one concerns the certification of the accuracy of the quantum device where the application is run. The second one has to do with the classical verification of the result output by the application. Yet a third one addresses the problem from the software engineering perspective. As new quantum applications that run in Noisy Intermediate-Scale Quantum devices are developed, there is an increasing need for tools that can help to find bugs and verify that these applications work as expected. In this thesis we design and develop such a tool. We introduce QuTAF, a test automation framework for quantum applications that is based in the robot framework. To the best of our knowledge, this is the first test automation framework software developed and used for testing quantum applications in a real quantum node. We prove that our QuTAF is capable of detecting minor deficiencies in current state-of-the-art quantum hardware, by running tests for small quantum applications
executed in a networked quantum node. We also simulate and test two different
failure scenarios to validate the capabilities of our QuTAF. We simulate quantum
devices affected by depolarizing and dephasing noise, and find that our QuTAF is able to detect errors introduced by an increase in the depolarization probability, but is otherwise insensitive to the errors produced by the dephasing of quantum states. We also simulate bugs present in the quantum programs, and prove that our QuTAF is able to correctly identify these as failing test cases.