Beast methodology: An agile testing methodology for multi-agent systems based on behaviour driven development
- 955 Downloads
This paper presents a testing methodology to apply Behaviour Driven Development (BDD) techniques while developing Multi-Agent Systems (MASs), termed BEhavioural Agent Simple Testing (BEAST) Methodology. This methodology is supported by the open source framework (BEAST Tool) which automatically generates test cases skeletons from BDD scenarios specifications. The developed framework allows the testing of MASs based on JADE or JADEX platforms. In addition, this framework offers a set of configurable Mock Agents with the aim of being able to execute tests while the MAS is under development. The BEAST Methodology presents transparent traceability from user requirements to test cases. Thus, the stakeholders can be aware of the project status. The methodology and the associated tool have been validated in the development of a MAS for fault diagnosis in FTTH (Fiber To The Home) networks. The results have been measured in quantifiable way obtaining a reduction of the tests implementation time.
KeywordsTest Behaviour-driven development Multi-agent systems Mock-agents Agile Methodology
This research work is supported by the Ministry of Economy and Competitiveness under the R&D project CALISTA (TEC2012-32457). The authors want to acknowledge the cooperation of Telefónica R&D, and Javier García-Algarra, Javier García-Ordás, Beatriz Fuentes, Raquel Toribio and Andrés Sedano-Frade.
- Adzic, G. (2009). Bridging the communication gap: specification by example and agile acceptance testing. UK: Neuri Limited.Google Scholar
- Adzic, G. (2011). Specification by example: how successful teams deliver the right software, 1st ed. Greenwich: Manning Publications Co.Google Scholar
- Braubach, L., Pokahr, A., Lamersdorf, W. (2005). Jadex: A BDIagent system combining middleware and reasoning. In R.Unland, M. Calisti, M. Klusch, M. Walliser, S. Brantschen, T. Hempfling (Eds.), Software agent-based applications, platforms and development kits. Whitestein series in software agent technologies and autonomic computing (pp. 143–168). Basel: Birkhäuser.Google Scholar
- Clynch, N., & Collier, R. (2007). Sadaam: software agent development-an agile methodology. In Proceedings of the workshop of languages, methodologies, and development tools for multi-agent systems (LADS007). Durham.Google Scholar
- Coelho, R., Kulesza, U., von Staa, A., Lucena, C. (2006). Unit testing in multi-agent systems using mock agents and aspects. In Proceedings of the 2006 international workshop on software engineering for large-scale multi-agent systems, SELMAS 06 (pp. 83–90). New York: ACM.Google Scholar
- Dikenelli, O., Erdur, R.C., Gumus, O. (2005). Seagent: a platform for developing semantic web based multi agent systems. In Proceedings of the fourth international joint conference on autonomous agents and multiagent systems, AAMAS ’05 (pp. 1271–1272). New York: ACM.Google Scholar
- Evans, E. (2004). Domain-driven design: tackling complexity in the heart of software. Boston:Addison-Wesley Professional.Google Scholar
- Foundation TAS (2011). Apache maven project. Accessed 23 October 2012. http://maven.apache.org.
- García-Magariño, I., Gómez-Rodríguez, A., Gómez-Sanz, J., González-Moreno, J. (2009). Ingenias-scrum development process for multi-agent development. In International symposium on distributed computing and artificial intelligence 2008 (DCAI 2008) (pp. 108–117). Springer.Google Scholar
- Gómez-Sanz, J., Botía J., Serrano, E., Pavón, J. (2009). Testing and debugging of MAS interactions with INGENIAS. In M. Luck, & J. Gomez-Sanz (Eds.), Agent-oriented software engineering IX. Lecture notes in computer science (Vol. 5386, pp. 199–212). Heidelberg: Springer.Google Scholar
- Hamill, P. (2004). Unit test frameworks, 1st edn. California:O’Reilly.Google Scholar
- Haugset, B., Hanssen, G. (2008). Automated acceptance testing: A literature review and an industrial case study. In Agile, 2008. AGILE ’08. Conference (pp. 27–38).Google Scholar
- Houhamdi, Z. (2011). Multi-agent system testing: a survey. International Journal of Advanced Computer Science and Applications (IJACSA), 2(6), 135–141.Google Scholar
- Iglesias, C., Garijo, M., González, J., Velasco, J. (1998). Analysis and design of multiagent systems using mas-commonkads. In M. Singh, A. Rao, M. Wooldridge (Eds.), Intelligent agents IV agent theories, architectures, and languages. Lecture notes in computer science (Vol. 1365, pp. 313–327). Berlin: Springer.Google Scholar
- Marnewick, A., Pretorius, J.H., Pretorius, L. (2011). A perspective on human factors contributing to quality requirements: a cross-case analysis. In 2011 IEEE international conference on industrial engineering and engineering management (IEEM) (pp. 389–393).Google Scholar
- Mockito Project (2012). Mockito framework. Accessed 25 March 2012. http://mockito.org.
- Mugridge, R., & Cunningham, W. (2005). Fit for developing software: framework for integrated tests. Upper Saddle River, NJ:Prentice Hall.Google Scholar
- Nguyen, C.D. (2009). Testing techniques for software agents. PhD thesis. International Doctorate School in Information and Communication Technologies.Google Scholar
- Nguyen, D., Perini, A., Tonella, P. (2008). A goal-oriented software testing methodology. In M. Luck, & L. Padgham (Eds.), Agent oriented software engineering VIII. Lecture notes in computer science (Vol. 4951, pp. 58–72). Berlin: Springer.Google Scholar
- Nguyen, C., Perini, A., Bernon, C., Pavón, J., Thangarajah, J. (2011). Testing in multi-agent systems. In M.P. Gleizes, & J. Gomez-Sanz (Eds.), Agent-oriented software engineering X. Lecture notes in computer science (Vol. 6038, pp. 180–190). Berlin: Springer.Google Scholar
- North, D. (2007). Introducing: behaviour-driven development. Accessed 28 March 2012. http://dannorth.net/introducing-bdd.
- North, D. (2011). JBehave. A framework for behaviour driven development (BDD). Accessed 28 March 2012. http://jbehave.org.
- Padgham, L., & Winikoff, M. (2003). Prometheus: a methodology for developing intelligent agents. In F. Giunchiglia, J. Odell, G. Weiß (Eds.), Agent-oriented software engineering III. Lecture notes in computer science (Vol. 2585, pp. 174–185). Berlin: Springer.Google Scholar
- Schwaber, K., & Sutherland, J. (2009). Scrum guide. Scrum Alliance, 19(6), 21.Google Scholar
- Solis, C., & Wang, X. (2011). A study of the characteristics of behaviour driven development. In 2011 37th EUROMICRO conference on software engineering and advanced applications (SEAA) (pp. 383–387).Google Scholar
- Thangarajah, J., Jayatilleke, G., Padgham, L. (2011). Scenarios for system requirements traceability and testing. In The 10th international conference on autonomous agents and multiagent systems international foundation for autonomous agents and multiagent systems, AAMAS ’11 (Vol. 1, pp. 285–292). Richland.Google Scholar
- Tiryaki, A., ztuna, S., Dikenelli, O., Erdur, R. (2007). SUNIT: a unit testing framework for test driven development of multi-agent systems. In L. Padgham, & F. Zambonelli (Eds.), Agent-oriented software engineering VII. Lecture notes in computer science (Vol. 4405, pp. 156–173). Berlin: Springer.Google Scholar
- Uhrmacher, A.M., Uhrmacher, A., Weyns, D. (2009). Multi-agent systems: simulation and applications. Boca Raton, FL: CRC Press.Google Scholar
- Wooldridge, M., Jennings, N.R., Kinny, D. (2000). The Gaia methodology for agent-oriented analysis and design. Autonomous Agents and Multi-Agent Systems, 3(3), 285–312.Google Scholar
- Wynne, M., & Hellesøy, A. (2008). Cucumber. Behaviour driven development with elegance and joy. Accessed 28 March 2012. http://cukes.info.
- Zhang, Z., Thangarajah, J., Padgham, L. (2011). Automated testing for intelligent agent systems. In M.P. Gleizes, & J. Gomez-Sanz (Eds.), Agent-oriented software engineering X. Lecture notes in computer science (Vol. 6038, pp. 66–79). Berlin: 925 Springer.Google Scholar