Options
2007
Diploma Thesis
Title
Analyzing and visualizing defect data in combination with software architecture
Abstract
Since testing is a time-consuming and cost-intensive activity in the software life cycle, testers are looking for methodologies and tools to optimize this process. Approximately 40% of the whole development expenses are spent for testing, thus, optimizing the testing process has the highest potential for improvements. A problem that complicates the testing process is the fact that the required testing effort for each architectural component of a software system is hard to estimate. A common risk is to focus testing on the wrong components and thus overlook faults from more critical components with a higher error-proneness. Undiscovered faults risk the quality of the whole product and in times of increasing component reuse for other software products, a high quality of components is even more important. Further, the determination of the reason for a high error-proneness is an important issue in order to plan other quality assurance activities. The market offers many tools that support the developers addressing those problems. In general, however, such tools address just single aspects like the evaluation of the software architecture, quality measurements or defect tracking and management. Hence, developers have to combine the results of those tools by their own since the combination is often more useful than a separate consideration. This requires complex manual effort that is again time-consuming and cost-intensive. This thesis had the goal to combine such tools with a special focus on analyzing defect data in order to plan testing and other quality assurance activities. Thereby, a tool for software architecture visualization and evaluation and its extending tool for software metrics provided a basis. Those two tools already allow combining their results and this thesis extends those existing functionalities by functionalities to analyze and visualize defect data. The overall idea of this thesis is to analyze defect data that was collected during the development of past software products in order to predict the error-proneness of future products of the same product line or of future versions of the same product. This defect data is extracted from a repository and related to components of the considered software architecture. A structuring by components is close to the developers' viewpoint and allows combining the defect data with other architectural information like architectural- and source code metrics. Furthermore, the results of the analysis can directly be used to improve the quality of a component. The analysis of the defect data is supported by special defect metrics and the visualization of the metrics results. Thus, it is possible to highlight certain aspects of a components' error-proneness. This thesis makes also some suggestions how those metrics result could be interpreted and what metrics could be used to answer certain questions. In order to validate the usefulness of the developed defect management tool, an experiment was conducted. This experiment compared the defect management tool with a traditional tool setup for analyzing defect data and other software quality measures. The results of the experiment show that analyzing defect data with the defect management tool is beneficial. Whereat aspects like time, difficulty, and correctness of tasks were considered.
Thesis Note
Mannheim, Hochschule für Technik und Gestaltung, Dipl.-Arb., 2007
Publishing Place
Mannheim