Abstract
This chapter presents a theory of testing that integrates into Hoare and He’s Unifying Theories of Programming (UTP). We give test cases a denotational semantics by viewing them as specification predicates. This reformulation of test cases allows for relating test cases via refinement to specifications and programs. Having such a refinement order that integrates test cases, we develop a testing theory for fault-based testing.
As discussed in Chapter 1, fault-based testing uses test data designed to demonstrate the absence of a set of pre-specified faults. A well-known fault-based technique is mutation testing. In mutation testing, first, faults are injected into a program by altering (mutating) its source code. Then, test cases that can detect these errors are designed. The assumption is that other faults will be caught, too. In this chapter, we apply the mutation technique to both specifications and programs.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Aichernig, B.K. (2010). A Systematic Introduction to Mutation Testing in Unifying Theories of Programming. In: Borba, P., Cavalcanti, A., Sampaio, A., Woodcook, J. (eds) Testing Techniques in Software Engineering. PSSE 2007. Lecture Notes in Computer Science, vol 6153. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-14335-9_8
Download citation
DOI: https://doi.org/10.1007/978-3-642-14335-9_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-14334-2
Online ISBN: 978-3-642-14335-9
eBook Packages: Computer ScienceComputer Science (R0)