A Goal-Oriented Software Testing Methodology Technical Report

Goal-oriented requirements engineering methodologies have been investigated for more than a decade, aiming at better supporting requirements engineering. They help elicit users’ requirements, deal with stakeholders’ goals and strategic dependencies among them. Moreover, they allow representing alternative solutions so that stakeholders and developers can negotiate and choose the one that meets their business demands. Some methodologies offer specification-based formal verification, allowing software developers to correct errors at the beginning of the development process. However, a structured testing process for goaloriented methodologies that complements formal verification is still missing. In this report, we introduce a novel methodology for goal-oriented software testing. It specifies a testing model that complements the goaloriented methodology Tropos and strengthens the mutual relationship between goal analysis and testing. Furthermore, it provides a systematic way of deriving test cases from goal analysis. To support the proposed methodology, a testing framework was integrated into an existing tool (TAOM4E) that supports Tropos.

[1]  Mehdi Dastani,et al.  Goal types in agent programming , 2006, AAMAS '06.

[2]  Aaas News,et al.  Book Reviews , 1893, Buffalo Medical and Surgical Journal.

[3]  Dorothy R. Graham,et al.  Requirements and Testing: Seven Missing-Link Myths , 2002, IEEE Softw..

[4]  Fausto Giunchiglia,et al.  Tropos: An Agent-Oriented Software Development Methodology , 2004, Autonomous Agents and Multi-Agent Systems.

[5]  Fausto Giunchiglia,et al.  The tropos software development methodology: processes, models and diagrams , 2002, AAMAS '02.

[6]  Michael Wooldridge,et al.  The Computational Complexity of Agent Verification , 2001, ATAL.

[7]  Michael Winikoff,et al.  An exploration of bugs and debugging in multi-agent systems , 2003, AAMAS '03.

[8]  Stephen Fickas,et al.  Goal-Directed Requirements Acquisition , 1993, Sci. Comput. Program..

[9]  Ana I. Anton,et al.  Goal identification and refinement in the specification of software-based information systems , 1997 .

[10]  Bernhard Bauer,et al.  Extending UML for agents , 2000 .

[11]  Michael D. Ernst,et al.  An experimental evaluation of continuous testing during development , 2004, ISSTA '04.

[12]  John Mylopoulos,et al.  Why Goal-Oriented Requirements Engineering , 1998, Requirements Engineering: Foundation for Software Quality.

[13]  Michael D. Ernst,et al.  Reducing wasted development time via continuous testing , 2003, 14th International Symposium on Software Reliability Engineering, 2003. ISSRE 2003..

[14]  John Mylopoulos,et al.  Specifying and analyzing early requirements in Tropos , 2004, Requirements Engineering.

[15]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[16]  Kent Beck,et al.  Extreme Programming Explained: Embrace Change (2nd Edition) , 2004 .

[17]  Eric S. K. Yu,et al.  Towards modelling and reasoning support for early-phase requirements engineering , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[18]  Rafael Heitor Bordini,et al.  Verifying Multi-agent Programs by Model Checking , 2006, Autonomous Agents and Multi-Agent Systems.

[19]  Kent L. Beck,et al.  Test-driven Development - by example , 2002, The Addison-Wesley signature series.

[20]  John Mylopoulos,et al.  From Capability Specifications to Code for Multi-Agent Software , 2006, 21st IEEE/ACM International Conference on Automated Software Engineering (ASE'06).

[21]  Uirá Kulesza,et al.  Unit testing in multi-agent systems using mock agents and aspects , 2006, SELMAS '06.