Testing Multi-Subroutine Quantum Programs: From Unit Testing to Integration Testing
Peixun Long, Jianjun Zhao

TL;DR
This paper explores testing strategies for multi-subroutine quantum programs, covering from unit to integration testing, and introduces novel principles and criteria to improve testing effectiveness in quantum software development.
Contribution
It presents a comprehensive testing framework for quantum programs, including new testing principles, criteria, and case studies, addressing unique quantum testing challenges.
Findings
Effective testing criteria improve quantum program reliability.
Case studies demonstrate practical applicability of proposed testing methods.
Analysis of failures offers insights into quantum testing effectiveness.
Abstract
Quantum computing has emerged as a promising field with the potential to revolutionize various domains by harnessing the principles of quantum mechanics. As quantum hardware and algorithms continue to advance, developing high-quality quantum software has become crucial. However, testing quantum programs poses unique challenges due to the distinctive characteristics of quantum systems and the complexity of multi-subroutine programs. This paper addresses the specific testing requirements of multi-subroutine quantum programs. We begin by investigating critical properties by surveying existing quantum libraries and providing insights into the challenges of testing these programs. Building upon this understanding, we focus on testing criteria and techniques based on the whole testing process perspective, spanning from unit testing to integration testing. We delve into various aspects,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsQuantum Computing Algorithms and Architecture · Software Testing and Debugging Techniques · Teaching and Learning Programming
