Abstract
Game-based learning represents a promising alternative to teach computing in higher education. This paper presents “BDD Assemble!”, a paper-based game proposal for teaching Behavior Driven Development (BDD) competences. For this, the proposed game and the evaluation approach with software engineering students are described. As a result, a simple, interactive and colaborative game was provided, able to teach BDD concepts in a practical, competitive and fun way.
You have full access to this open access chapter, Download conference paper PDF
1 Introduction
Originally developed by North [8], Behavior Driven Development (BDD) is an “increasingly prevailing agile development approach in recent years, and has gained attentions of both research and practice” [10]. It is focused on defining fine-grained specifications of the behaviour of the targeting system, in a way that they can be automated as executable specifications of a system [8, 10]. It is also an outside-in agile software development process for agile teams that helps in a cooperative way to reduce this type of rework and regain time for new development work [9].
BDD uses the Gherkin language to describe software behaviors [5], providing a specific ubiquitous language that helps stakeholders to specify their system tests [10]. It starts with textual descriptions of the requirements using specific keywords that tag the type of sentence (Given, When, Then), indicating how the sentence is going to be treated in the subsequent development phases [1, 5].
Regarding serious games, “they combine the entertainment value of games with additional objectives such as players acquiring knowledge or skills, receiving guidance and feedback on tasks to perform, or contributing partial solutions to problems” [2]. They are “intentionally designed to attract, engage, and retain (even addict) players by applying psychology principles” [2], whose impact for educational purposes has received considerable attention.
Considering the relationship between BDD and serious games, BDD has been used to document user stories as an approach to identify game rules [3]. Stakeholders who are exposed to gamified elements can produce more BDD user stories in better quality and with more creative ideas [6]. Moreover, as a cooperative game, BDD can be used to demonstrate how issues can arise when requirements are not communicated effectively or clarified with other team members [4].
This paper presents the “BDD Assemble!”, a paper-based game proposal able to complement the list of BDD game options, as well as improve the BDD design competence among agile development students.
2 Related Work
Regarding BDD usage to design a game, BDD Warriors [3] is a card game that describes fictional scenarios as sets of Given-When-Then constructs that must be completed by the players to get points and win the game. Players score collaboratively by completing scenarios, which should make sense for the other players to consider them as complete.
By the application of gamification strategies, the UserStory Game [6] is a game on BDD-based requirements elicitation with diversified game elements. It is an online gamified platform for eliciting requirements through user stories and acceptance tests, which was developed to test the effect of gamification on engagement and on performance in requirements engineering (Fig. 1).
Finally, focusing on the agile perspective, and without face-to-face communication, software teams playing the BDD Game rely on their interpretation of a set of instructions - while under the pressure of time and resources, which are based on a drawing in a booklet that represents a set of user requirements that need to be implemented [4].
3 Methodology
“BDD Assemble!” is a competition among player teams to combine in short time proposed Gherkin sentences. Each team receives a story and 4 possible scenarios related to it. Similar pieces of Gherkin sentences for Given, When and Then are distributed for each team to be fit into their respective scenarios. Teams are challenged to produce correct sentences using the distributed pieces in each scenario, under the pressure of time against the other players. The team wins if it can complete more correct scenarios before the other competitors. Figure 2 illustrates some prepared Gherkin sentences for possible scenarios in a ATM (Account is in credit, Account is overdrawn past the overdraft limit, Deposit money and Transfer between accounts) to be combined by each player team.
As a verification approach for the game, the same was used by master degree students in a Software Engineering (SE) classroom (Fig. 3). In this activity, the students participated in a game match with 4–5 players each team, which was performed after the conclusion of the Acceptance Test class.
4 Conclusions and Future Work
This paper introduced “BDD Assemble!”, a paper-based entertainment approach that allows the production of BDD scenarios by proposed Gherkin sentences in a colaborative and competitive way.
Satisfaction, usefulness, ease of learning and ease of use attributes was also identified during the game play by the evaluated students via USE questionnaire [7], confirming that the proposed game can combine fun and engaging with BDD learning.
As future work, it is intended to produce a digital version of the proposed game, as well as more BDD scenarios together with the application and evaluation of the game in different SE classes.
References
de Carvalho, R.A., Manhaes, R.S., et al.: Mapping business process modeling constructs to behavior driven development ubiquitous language. arXiv preprint arXiv:1006.4892 (2010)
Dalpiaz, F., Cooper, K.M.: Games for requirements engineers: analysis and directions. IEEE Software (2018)
Hermann, A.C.: BDD warriors & other games, December 2016. https://pt.slideshare.net/inovacaoDBServer/bdd-warriors-and-other-games. Accessed 31 May 2019
Hindsight: Try our BDD game. https://www.hindsightsoftware.com/bdd-game
Kudryashov, K.: The beginner’s guide to BDD. Dan North Q & A. https://inviqa.com/blog/bdd-guide (2015)
Lombriser, P., Dalpiaz, F., Lucassen, G., Brinkkemper, S.: Gamified requirements engineering: model and experimentation. In: Daneva, M., Pastor, O. (eds.) REFSQ 2016. LNCS, vol. 9619, pp. 171–187. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-30282-9_12
Lund, A.M.: Measuring usability with the use questionnaire12. Usability Interface 8(2), 3–6 (2001)
North, D.: Introducing BDD, March 2006. https://dannorth.net/introducing-bdd/. Accessed 31 May 2019
Rahman, M., Gao, J.: A reusable automated acceptance testing architecture for microservices in behavior-driven development. In: 2015 IEEE Symposium on Service-Oriented System Engineering, pp. 321–325. IEEE (2015)
Solis, C., Wang, X.: A study of the characteristics of behaviour driven development. In: 2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications, pp. 383–387. IEEE (2011)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 IFIP International Federation for Information Processing
About this paper
Cite this paper
Sarinho, V.T. (2019). “BDD Assemble!”: A Paper-Based Game Proposal for Behavior Driven Development Design Learning. In: van der Spek, E., Göbel, S., Do, EL., Clua, E., Baalsrud Hauge, J. (eds) Entertainment Computing and Serious Games. ICEC-JCSG 2019. Lecture Notes in Computer Science(), vol 11863. Springer, Cham. https://doi.org/10.1007/978-3-030-34644-7_41
Download citation
DOI: https://doi.org/10.1007/978-3-030-34644-7_41
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-34643-0
Online ISBN: 978-3-030-34644-7
eBook Packages: Computer ScienceComputer Science (R0)