Tool for Generating Behavior-Driven Development Test-Cases
Downloads
Background: Testing using Behavior-Driven Development (BDD) techniques is one of the practices of Agile software development. This technique composes a test-case based on a use case scenario, for web application acceptance tests.
Objective: In this study, we developed a tool to generate test case codes from BDD scenario definitions to help and facilitate practitioners to conduct testing.
Methods: The generated test case code is made according to the codeception framework format so that it can be directly executed by the tester. The procedure is performed as follows: map the correlation of the language used in BDD (gherkin language) and the code syntax of the test code in the codeception framework, designed the GUIs in such a way that users can easily transform the Use Case Scenario, built the tool so that it can generate test cases codes. Evaluation is done by gathering respondents; ask to run the application and gathering feedback from respondents.
Results: This tool can generate a codeception test-case file based on the BDD scenario. Generated test cases can be directly used on codeception tools. The results of the evaluation show that the tools can help entry-level programmers in developing automated tests.
Conclusion: The tool can help user especially entry-level programmers to generate BDD test-case and make easy for the users for testing the web applications.
C. Solís and X. Wang, "A Study of the Characteristics of Behaviour Driven Development," in Conference on Software Engineering and Advanced Applications (SEAA), 2011.
A. Aitken and V. Ilango, "A Comparative Analysis of Traditional Software Engineering and Agile Software Development," in 2013 46th Hawaii International Conference on System Sciences, 2013.
M. Soeken, R. Wille and R. Drechsler, "Assisted Behavior Driven Development Using Natural Language Processing," in International Conference on Modelling Techniques and Tools for Computer Performance Evaluation, Berlin, 2012.
I. Lazar, B. Parv and S. Motogna, "Behaviour-Driven Development of Foundational UML Components," Electronic Notes in Theoritical Computer Science, vol. 264, pp. 91-105, 2010.
B. George and L. Williams, "A structured experiment of test-driven development," Information and Software Technology, vol. 46, p. 337–342, 2004.
D. Janzen and H. Saiedian, "Test-Driven Development: Concepts, Taxonomy,and Future Direction," Computer, pp. 43-50, 2005.
H. Erdogmus, M. Morisio and M. Torchiano, "On the effectiveness of the test-first approach to programming," IEEE Transactions on Software Engineering, vol. 31, no. 3, 2005.
B. Haugset and G. K. Hanssen, "Automated Acceptance Testing: a Literature Review and an Industrial Case Study," in Agile 2008 Conference, 2008.
F. D. Davis and V. Venkatesh, "Toward Preprototype User Acceptance Testing of New Information Systems: Implications for Software Project Management," IEEE Transactions on Engineering management, vol. 51, no. 1, pp. 31-46, 2004.
P. Rathi and V. Mehra, "Analysis of Automation and Manual Testing Using Software Testing Tool," International Journal of Innovations & Advancement in Computer Science, vol. 4, pp. 709-713, 2015.
M. Rahman and J. Gao, "A Reusable Automated Acceptance Testing Architecture for Microservices in Behavior-Driven Development," in IEEE Symposium on Service-Oriented System Engineering, San Francisco, 2015.
A. Carrera, C. A. Iglesias and M. Garijo, "BEAST methodology: An agile testing methodology for multi-agent systems based on behaviour driven development," Information System Frontiers, vol. 16, no. 2, pp. 169-182, 2014.
H. L. Tavares, G. G. Rezende, V. M. Santos, R. S. Manhí£es and R. A. Carvalho, "A tool stack for implementing Behaviour-Driven Development in Python Language," Instituto Federal Fluminense, Brazil, 2010.
J. Patton and P. Economy, User Story Mapping: Discover the Whole Story, Build the Right Product, United States of America: O' Reilly Media Inc., 2014.
I. K. Raharjana, D. Siahaan and C. Fatichah, "User Story Extraction from Online News for Software Requirements Elicitation: A Conceptual Model," in The 16th International Join Conference on Computer Science and Software Engineering (JCSSE19), Pattaya,Thailand, 2019.
I. K. Raharjana, Pengembangan Sistem Informasi Menggunakan
Metodologi Agile, Yogyakarta: depublish, 2017.
G. Lucassen, F. Dalpiaz and J. M. E. M. van der Werf, "The use and effectiveness of user stories in practice," in International working conference on requirements engineering: Foundation for software quality, Cham, 2016.
T. R. Silva, J.-L. Hak and M. A. Winckler, "An Approach for Multi-Artifact Testing Through an Ontological Perspective for Behavior-Driven Development," Complex Systems Informatics and Modelling Quarterly, pp. 81-107, 2016.
D. North, "What's in a story?," 2016. [Online]. Available: https://dannorth.net/whats-in-a-story/. [Accessed 29 February 2020].
M. Cohn, User Stories Applied: For Agile Software Development, Addison-Wesley Professional, 2004.
blog.lepine.pro, "Behat Cheat Sheet," 6 Mar 2012. [Online]. Available: http://blog.lepine.pro/php/ressources-tutos-php/cheat-sheet-behat. [Accessed 3 Mar 2020].
I. Papadopoulos, D. Kogias, C. Patrikakis and C.-. C. Marinou, "Enhancing the Student's Logical Thinking with Gherkin Language," in 2017 IEEE Global Engineering Education Conference (EDUCON), Athens, Greece, 2017.
R. DÄsa, "Test-Driven Development," Learn CakePHP, pp. 18-21, 2016.
C. Team, "Codeception," 2011. [Online]. Available: https://codeception.com/docs/03-AcceptanceTests. [Accessed 29 February 2020].
Sugiarto, B. Nugroho and A. D. Putri, "Penggunaan Metode Acceptance Test Driven Development pada Proses Acceptance Test Menggunakan Codeception," Scan, pp. 45-50, 2019.
M. Rahman and J. Gao, "A Reusable Automated Acceptance Testing Architecture for Microservices in Behavior-Driven Development," in 2015 IEEE Symposium on Service-Oriented System Engineering, San Francisco Bay, CA, USA, 2015.
M. LandhauíŸer and A. Genaid, "Connecting User Stories and code for test development," in 2012 Third International Workshop on Recommendation Systems for Software Engineering (RSSE), Zurich, Switzerland, 2012.
Authors who publish with this journal agree to the following terms:
All accepted papers will be published under a Creative Commons Attribution 4.0 International (CC BY 4.0) License. Authors retain copyright and grant the journal right of first publication. CC-BY Licenced means lets others to Share (copy and redistribute the material in any medium or format) and Adapt (remix, transform, and build upon the material for any purpose, even commercially).