Re-using generators of complex test data
2015 (English)In: 2015 IEEE 8th International Conference on Software Testing, Verification and Validation, IEEE Computer Society, 2015, Article number 7102605- p.Conference paper (Refereed)
The efficiency of random testing can be improved by sampling test inputs using a generating program that incorporates knowledge about the types of input most likely to detect faults in the software-under-test (SUT). But when the input of the SUT is a complex data type - such as a domain-specific string, array, record, tree, or graph - creating such a generator may be time- consuming and may require the tester to have substantial prior experience of the domain. In this paper we propose the re-use of generators created for one SUT on other SUTs that take the same complex data type as input. The re-use of a generator in this way would have little overhead, and we hypothesise that the re-used generator will typically be as least as efficient as the most straightforward form of random testing: sampling test inputs from the uniform distribution. We investigate this proposal for two data types using five generators. We assess test efficiency against seven real-world SUTs, and in terms of both structural coverage and the detection of seeded faults. The results support the re-use of generators for complex data types, and suggest that if a library of generators is to be maintained for this purpose, it is possible to extend library generators to accommodate the specific testing requirements of newly-encountered SUTs. Â© 2015 IEEE.
Place, publisher, year, edition, pages
IEEE Computer Society, 2015. Article number 7102605- p.
Testing; Trees (mathematics); Verification, Domain specific; Library generators; Prior experience; Random testing; Sampling test; Test efficiency; Testing requirements; Uniform distribution, Software testing
IdentifiersURN: urn:nbn:se:bth-10674DOI: 10.1109/ICST.2015.7102605ScopusID: 2-s2.0-84935074162ISBN: 978-147997125-1OAI: oai:DiVA.org:bth-10674DiVA: diva2:854352
8th IEEE International Conference on Software Testing, Verification and Validation, ICST 2015; Graz; Austria