Developing a TTCN-3 test harness for legacy software
Proceedings of the 2006 international workshop on Automation of software test
Software Testing Research: Achievements, Challenges, Dreams
FOSE '07 2007 Future of Software Engineering
The influence of multiple artifacts on the effectiveness of software testing
Proceedings of the IEEE/ACM international conference on Automated software engineering
Programs, tests, and oracles: the foundations of testing revisited
Proceedings of the 33rd International Conference on Software Engineering
Hi-index | 0.00 |
Software testing is a process in which a software system''s dynamic behaviours are observed and analysed so that the system''s properties can be inferred from the information revealed by test executions. While the existing software testing theories might be adequate in describing the testing of sequential systems, they are not capable to describe the testing of concurrent systems that can exhibit different behaviours on the same test case due to non-determinism and concurrency. This paper presents a theory of behaviour observation in software testing. We first introduce and formally define the notion of observation scheme that characterises systematic and consistent methods of behaviour observations and recordings. We propose a set of desirable properties for observation schemes and study the relationships among the properties. We provide several constructions of observation schemes that have direct implications in current software testing practice. We then explore the relationships between different observation schemes and examine these observation schemes with regard to the desirable properties. Finally, we apply the theory to a concrete computation model for concurrent systems, high-level Petri nets, and demonstrate how to use observation scheme to define test adequacy criteria.