Maturing Software Engineering Knowledge through Classifications: A Case Study on Unit Testing Techniques
Issue No. 04 - July/August (2009 vol. 35)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TSE.2009.13
Sira Vegas , Universidad Politecnica de Madrid, Madrid
Natalia Juristo , Universidad Politecnica de Madrid, Madrid
Victor R. Basili , University of Maryland, College Park and Fraunhofer Center for Experimental Software Engineering, Maryland
Classification makes a significant contribution to advancing knowledge in both science and engineering. It is a way of investigating the relationships between the objects to be classified and identifies gaps in knowledge. Classification in engineering also has a practical application; it supports object selection. They can help mature Software Engineering knowledge, as classifications constitute an organized structure of knowledge items. Till date, there have been few attempts at classifying in Software Engineering. In this research, we examine how useful classifications in Software Engineering are for advancing knowledge by trying to classify testing techniques. The paper presents a preliminary classification of a set of unit testing techniques. To obtain this classification, we enacted a generic process for developing useful Software Engineering classifications. The proposed classification has been proven useful for maturing knowledge about testing techniques, and therefore, SE, as it helps to: 1) provide a systematic description of the techniques, 2) understand testing techniques by studying the relationships among techniques (measured in terms of differences and similarities), 3) identify potentially useful techniques that do not yet exist by analyzing gaps in the classification, and 4) support practitioners in testing technique selection by matching technique characteristics to project characteristics.
Classification, software engineering, software testing, test design techniques, testing techniques, unit testing techniques.
N. Juristo, V. R. Basili and S. Vegas, "Maturing Software Engineering Knowledge through Classifications: A Case Study on Unit Testing Techniques," in IEEE Transactions on Software Engineering, vol. 35, no. , pp. 551-565, 2009.