Integrating Behavior Driven Testing Approach with Cypress and Cucumber
DOI:
https://doi.org/10.21015/vtse.v13i1.1969Abstract
Software testing is integral to ensuring the functionality and quality of applications. This study highlights the implementation of Cypress and Node.js by the Nokia RON team to address the challenges of GUI testing. The adoption of Cypress enabled comprehensive and targeted testing, alongside efficient resolution of dependency and third-party package issues through selective installation. By integrating Cypress with Cucumber, an easy-to-use interface was developed to transform smoke test checklists into Gherkin syntax, enhancing readability and adaptability. Additionally, the use of Mochawesome Reporter provided detailed HTML reports, facilitating issue tracking and quick resolutions. This methodology, supported by a structured questionnaire, fostered stakeholder satisfaction and collaboration, resulting in an interactive and effective testing environment. The findings emphasize the role of Behavior Driven Development (BDD) in streamlining automated testing, improving communication among stakeholders, and ensuring higher software quality.
References
Statista, “E-commerce worldwide - statistics & facts,” 2021. [Online]. Available: https://www.statista.com/topics/871/online-shopping/.
A. Hassanien and A. Naim, “The impact of web performance on e-commerce: A review,” Int. J. Web Eng. Technol., vol. 15, no. 4, pp. 401–417, 2020.
Cypress, “Writing your first test,” 2021. [Online]. Available: https://docs.cypress.io/guides/getting-started/writing-your-first-test.
Cucumber, “Gherkin language reference,” 2021. [Online]. Available: https://cucumber.io/docs/gherkin/reference/.
R. Mobaraya and S. Ali, “Comparative analysis of Selenium and Cypress for automation testing,” J. Softw. Eng. Appl., vol. 12, no. 8, pp. 274–284, 2019.
S. Barab and K. Squire, “Design-based research: Putting a stake in the ground,” The Journal of the Learning Sciences, vol. 13, no. 1, pp. 1–14, 2004.
W. Q. Report, “World quality report 2020-21,” 2020. Retrieved from https://www.sogeti.com/research-and-insight/world-quality-report-2020-21/.
W. Q. Report, “World quality report 2020-21,” 2020. Retrieved from https://www.sogeti.com/research-and-insight/world-quality-report-2020-21/.
Cypress, “Cypress documentation,” 2021. Retrieved from https://docs.cypress.io/.
M. Rojas, D. Pacheco, and J. Vargas, “Improving software quality with cypress and cucumber integration: An empirical study,” Software Quality Journal, vol. 29, no. 2, pp. 443–467, 2021.
Cucumber, “Gherkin language reference,” 2021. Retrieved from https://cucumber.io/docs/gherkin/reference/.
R. Mobaraya and S. Ali, “Comparative analysis of selenium and cypress for automation testing,” Journal of Software Engineering and Applications, vol. 12, no. 8, pp. 274–284, 2019.
B. Meyer, Introduction to Testing Software, Cambridge University Press, 2018.
N. Absharina, R. Mardiana, and R. Putra, “The role of automation testing in software development life cycle,” International Journal of Advanced Computer Science and Applications, vol. 11, no. 6, pp. 65–72, 2020.
Cypress, “Cypress documentation,” 2021. Retrieved from https://docs.cypress.io/.
M. Liikka, “Fast and reliable testing with cypress: A case study,” Journal of Software Engineering Research and Development, vol. 9, no. 1, pp. 27–34, 2021.
M. Fowler, Domain Specific Languages, Addison-Wesley, 2011.
R. Biddle, J. Noble, and S. Marshall, “The role of stakeholders in behavior-driven development,” in Proceedings of the International Conference on Agile Software Development, vol. 4, pp. 43–55, 2017.
M. López, R. Martinez, and S. Garcia, “Enhancing test automation using cypress and cucumber: A collaborative approach,” Journal of Computer Science and Technology, vol. 35, no. 4, pp. 654–667, 2020.
H. Khalil, H. Khattak, and M. Khan, “A review of automated testing tools: Comparative study and future directions,” Software Testing, Verification & Reliability, vol. 30, no. 10, p. e2210, 2020.
A. Gupta, R. Tiwari, and S. Sharma, “Exploring the integration of cypress with bdd principles for enhanced software testing,” Journal of Software Engineering and Applications, vol. 14, no. 8, pp. 305–317, 2021.
R. Sykes, D. Franklin, and A. Thompson, “Transitioning to cypress: Challenges and solutions,” International Journal of Information Technology and Management, vol. 18, no. 1, pp. 53–66, 2019.
S. Avasarala, Selenium WebDriver Practical Guide, Birmingham B3 2PB, UK: Packt Publishing, 2014.
N. Chanana and S. Goele, “Future of e-commerce in India,” International Journal of Computing & Business Research, 2021.
X. Zhang and Y. Liu, “Exploring the effectiveness of bdd in agile software development: A case study,” in Agile Processes in Software Engineering and Extreme Programming, vol. 35, no. 1, pp. 21–30, 2020.
S. Ashmore and K. Runyan, Introduction to Agile Methods, Crawfordsville, Indiana, United States: Pearson Education, Inc., 2015.
B. Morelli, “How to test javascript with mocha – the basics,” 2017. [Online]. Available: https://www.sitepoint.com/test-javascript-mocha-basics/.
RedHat, “What is application lifecycle management (ALM)?” 2021. [Online]. Available: https://www.redhat.com/en/topics/application-lifecycle-management. [Accessed: 13-Feb-2021].
K. K. S. A. Bhat and J. M. Khan, “A review paper on e-commerce,” Asian Journal of Technology & Management Research, vol. 6, no. 1, 2016.
Node.js, “Introduction to node.js,” 2021. [Online]. Available: https://nodejs.org/en/docs/.
T. Point, “SDLC – Overview,” 2014. [Online]. Available: https://www.tutorialspoint.com/software_engineering/software_engineering_sdlc.htm.
C. Solis and X. Wang, “A study of the characteristics of behavior-driven development,” in EUROMICRO Conference on Software Engineering and Advanced Applications, vol. 37, 2011.
V. K. Chauhan, “Smoke testing,” Int. J. Sci. Res. Publ., vol. 4, no. 1, pp. 2250–3153, 2014.
Guru99, “What is ALM? Application Lifecycle Management,” 2021. [Online]. Available: https://www.guru99.com/application-lifecycle-management.html. .
T. QA, “What is test design? Or how to specify test cases?,” 2021. [Online]. Available: https://www.testautomationguru.com/test-design-specifying-test-cases/.
Wikipedia, “Regression testing,” 2021. [Online]. Available: https://en.wikipedia.org/wiki/Regression_testing. [Accessed: 27-Mar-2021]
A. Khetarpal, “What is Cypress: Introduction and architecture?,” 2020. [Online]. Available: https://www.guru99.com/cypress-tutorial.html. [Accessed: 22-Mar-2021].
M. Company, “How to improve software delivery performance,” 2020. Retrieved from https://www.example.com.
Cucumber, “Gherkin language reference,” 2021. Retrieved from https://cucumber.io/docs/gherkin/reference/.
R. Mobaraya and S. Ali, “Comparative analysis of selenium and cypress for automation testing,” Journal of Software Engineering and Applications, vol. 12, no. 8, pp. 274–284, 2019.
M. D. V. M. Rangel, “Post-pandemic consumer behavior towards e-commerce and retail stores in the United States,” Revista Venezolana de Gerencia: RVG, vol. 26, no. 6, pp. 47–64, 2021
Downloads
Published
How to Cite
Issue
Section
License
Authors who publish with this journal agree to the following terms:
- Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution License (CC-By) that allows others to share the work with an acknowledgment of the work's authorship and initial publication in this journal.
- Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal.
- Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work (See The Effect of Open Access).
This work is licensed under a Creative Commons Attribution License CC BY