Beast methodology: An agile testing methodology for multi-agent systems based on behaviour driven development

Abstract

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.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13

Notes

  1. 1.

    A literate review of ATDD can be found in Haugset and Hanssen (2008).

  2. 2.

    http://github.com/gsi-upm/BeastTool/

References

  1. Adzic, G. (2009). Bridging the communication gap: specification by example and agile acceptance testing. UK: Neuri Limited.

  2. Adzic, G. (2011). Specification by example: how successful teams deliver the right software, 1st ed. Greenwich: Manning Publications Co.

  3. Agarwal, N., & Rathod, U. (2006). Defining success for software projects: an exploratory revelation. International Journal of Project Management, 24(4), 358–370.

    Article  Google Scholar 

  4. Almeida, J., Iacob, M.E., Eck, P. (2007). Requirements traceability in model-driven development: applying model and transformation conformance. Information Systems Frontiers, 9(4), 327–342.

    Article  Google Scholar 

  5. Bellifemine, F.L., Caire, G., Greenwood, D. (2007). Developing multi-agent systems with JADE, Wiley series in agent technology (Vol. 5). West Sussex:Wiley.

    Book  Google Scholar 

  6. Bordini, R.H., Hübner, J.F., Wooldridge, M. (2007). Programming multi-agent systems in AgentSpeak using Jason (Vol. 8). West Sussex:Wiley.

    Book  Google Scholar 

  7. 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.

  8. 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.

  9. 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.

  10. 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.

  11. Evans, E. (2004). Domain-driven design: tackling complexity in the heart of software. Boston:Addison-Wesley Professional.

  12. Foundation TAS (2011). Apache maven project. Accessed 23 October 2012. http://maven.apache.org.

  13. 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.

  14. 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.

  15. Guerra-García, C., Caballero, I., Piattini, M. (2013). Capturing data quality requirements for web applications by means of dqwebre. Information Systems Frontiers, 15(3), 433–445.

    Article  Google Scholar 

  16. Hamill, P. (2004). Unit test frameworks, 1st edn. California:O’Reilly.

  17. 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).

  18. Houhamdi, Z. (2011). Multi-agent system testing: a survey. International Journal of Advanced Computer Science and Applications (IJACSA), 2(6), 135–141.

    Google Scholar 

  19. 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.

  20. Luke, S., Cioffi-Revilla, C., Panait, L., Sullivan, K., Balan, G. (2005). Mason: a multiagent simulation environment. Simulation, 81(7), 517–527.

    Article  Google Scholar 

  21. 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).

  22. Martin, R., & Melnik, G. (2008). Tests and requirements, requirements and tests: a möbius strip. IEEE Software, 25(1), 54–59.

    Article  Google Scholar 

  23. Mockito Project (2012). Mockito framework. Accessed 25 March 2012. http://mockito.org.

  24. Mugridge, R., & Cunningham, W. (2005). Fit for developing software: framework for integrated tests. Upper Saddle River, NJ:Prentice Hall.

  25. Nguyen, C.D. (2009). Testing techniques for software agents. PhD thesis. International Doctorate School in Information and Communication Technologies.

  26. 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.

  27. Nguyen, C.D., Perini, A., Tonella, P. (2010). Goal oriented test ing for mass. International Journal of Agent-Oriented Software Engineering, 4(1), 79–109.

    Article  Google Scholar 

  28. 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.

  29. North, D. (2007). Introducing: behaviour-driven development. Accessed 28 March 2012. http://dannorth.net/introducing-bdd.

  30. North, D. (2011). JBehave. A framework for behaviour driven development (BDD). Accessed 28 March 2012. http://jbehave.org.

  31. 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.

  32. Pavon, J., Gomez-Sanz, J.J., Fuentes, R. (2005). The ingenias methodology and tools. Agent-Oriented Methodologies, 9, 236–276.

    Article  Google Scholar 

  33. Schwaber, K., & Sutherland, J. (2009). Scrum guide. Scrum Alliance, 19(6), 21.

    Google Scholar 

  34. 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).

  35. Sun, L., Ousmanou, K., Cross, M. (2010). An ontological modelling of user requirements for personalised information provision. Information Systems Frontiers, 12(3), 337–356.

    Article  Google Scholar 

  36. 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.

  37. 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.

  38. Uhrmacher, A.M., Uhrmacher, A., Weyns, D. (2009). Multi-agent systems: simulation and applications. Boca Raton, FL: CRC Press.

    Google Scholar 

  39. 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.

  40. Wynne, M., & Hellesøy, A. (2008). Cucumber. Behaviour driven development with elegance and joy. Accessed 28 March 2012. http://cukes.info.

  41. 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.

Download references

Acknowledgments

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.

Author information

Affiliations

Authors

Corresponding author

Correspondence to Álvaro Carrera.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Carrera, Á., Iglesias, C.A. & Garijo, M. Beast methodology: An agile testing methodology for multi-agent systems based on behaviour driven development. Inf Syst Front 16, 169–182 (2014). https://doi.org/10.1007/s10796-013-9438-5

Download citation

Keywords

  • Test
  • Behaviour-driven development
  • Multi-agent systems
  • Mock-agents
  • Agile
  • Methodology