Skip to Main Content
In order to detect and fix errors and bugs in software design and implementation, testing is a vital process in software engineering. It is recognized that testing a large-scale software system needs more intelligence and effort than code design and implementation do. The paper presents a new approach to specification-based test generation that enables test cases to be generated before the implementation of code. We adopt real-time process algebra (RTPA) to describe software system architectures, static and dynamic behaviors. Based on RTPA, a method of least completed set of tests (LCST) is developed, which reveals that the sufficient number of tests for a given software is O(4n), where n is the number of the input variables. The LCST method provides a new way to predict how many independent test cases exist for a given program, and how the tests may be generated on the basis of its RTPA specifications. Experimental case studies on applications of the LCST method are reported that demonstrate the usage and efficiency of this new method.