Title :
Structural conformance checking with design tests: An evaluation of usability and scalability
Author :
Brunet, João ; Serey, Dalton ; Figueiredo, Jorge
Author_Institution :
Dept. of Comput. Sci./DSC, Software Practices Lab./SPLab, Paraíba, Brazil
Abstract :
Verifying whether a software meets its functional requirements plays an important role in software development. However, this activity is necessary, but not sufficient to assure software quality. It is also important to check whether the code meets its design specification. Although there exists substantial tool support to assure that a software does what it is supposed to do, verifying whether it conforms to its design remains as an almost completely manual activity. In a previous work, we proposed design tests - test-like programs that automatically check implementations against design rules. Design test is an application of the concept of test to design conformance checking. To support design tests for Java projects, we developed DesignWizard, an API that allows developers to write and execute design tests using the popular JUnit testing framework. In this work, we present a study on the usability and scalability of DesignWizard to support structural conformance checking through design tests. We conducted a qualitative usability evaluation of DesignWizard using the Think Aloud Protocol for APIs. In the experiment, we challenged eleven developers to compose design tests for an open-source software project. We observed that the API meets most developers´ expectations and that they had no difficulties to code design rules as design tests. To assess its scalability, we evaluated DesignWizard´s use of CPU time and memory consumption. The study indicates that both are linear functions of the size of software under verification.
Keywords :
Java; application program interfaces; conformance testing; formal specification; program diagnostics; program testing; program verification; public domain software; software performance evaluation; software quality; API; DesignWizard; JUnit testing framework; Java projects; Think Aloud Protocol; design tests; functional requirements; open-source software project; software design specification; software development; software quality; software scalability evaluation; software usability evaluation; software verification; structural conformance checking; Calculators; Java; Protocols; Scalability; Testing; Usability; design test; strucutural conformance checking;
Conference_Titel :
Software Maintenance (ICSM), 2011 27th IEEE International Conference on
Conference_Location :
Williamsburg, VI
Print_ISBN :
978-1-4577-0663-9
Electronic_ISBN :
1063-6773
DOI :
10.1109/ICSM.2011.6080781