• Home
  • Submit Paper
  • Check Paper Status
  • Download Certificate/Paper
  • FAQs
  • Contact Us
Email: ijraset@gmail.com
IJRASET Logo
Journal Statistics & Approval Details
Recent Published Paper
Our Author's Feedback
 •  ISRA Impact Factor 7.894       •  SJIF Impact Factor: 7.538       •  Hard Copy of Certificates to All Authors       •  DOI by Crossref for all Published Papers       •  Soft Copy of Certificates- Within 04 Hours       •  Authors helpline No: +91-8813907089(Whatsapp)       •  No Publication Fee for Paper Submission       •  Hard Copy of Certificates to all Authors       •  UGC Approved Journal: IJRASET- Click here to Check     
  • About Us
    • About Us
    • Aim & Scope
  • Editorial Board
  • Impact Factor
  • Call For Papers
    • Submit Paper Online
    • Current Issue
    • Special Issue
  • For Authors
    • Instructions for Authors
    • Submit Paper
    • Download Certificates
    • Check Paper Status
    • Paper Format
    • Copyright Form
    • Membership
    • Peer Review
  • Past Issue
    • Monthly Issue
    • Special Issue
  • Pay Fee
    • Indian Authors
    • International Authors
  • Topics
ISSN: 2321-9653
Estd : 2013
IJRASET - Logo
  • Home
  • About Us
    • About Us
    • Aim & Scope
  • Editorial Board
  • Impact Factor
  • Call For Papers
    • Submit Paper Online
    • Current Issue
    • Special Issue
  • For Authors
    • Instructions for Authors
    • Submit Paper
    • Download Certificates
    • Check Paper Status
    • Paper Format
    • Copyright Form
    • Membership
    • Peer Review
  • Past Issue
    • Monthly Issue
    • Special Issue
  • Pay Fee
    • Indian Authors
    • International Authors
  • Topics

Ijraset Journal For Research in Applied Science and Engineering Technology

  • Home / Ijraset
  • On This Page
  • Abstract
  • Introduction
  • Conclusion
  • References
  • Copyright

Behavior Driven Development using Gauge Framework

Authors: M. Shamanth, Prof. Prashanth K

DOI Link: https://doi.org/10.22214/ijraset.2022.44745

Certificate: View Certificate

Abstract

Behavior Driven Development (BDD) focuses on the behavior of the system or the business point of view and captures the business specific requirements. Many BDD frameworks implement a strict syntax like Gherkin, this study proposes a solution to remove this by using Gauge Framework. The BDD Gauge Framework will be analyzed and studied in-depth. The drawback of this study is that a big industry level testing isn’t feasible hence will need to be dependent on external research papers. The emerging opportunity here is that Gauge Framework can be considered as a BDD tool with its unique inbuilt capability of parallelization or scaling of tests, data driven testing, no strict restricted syntax and also enhances agile development. Key findings of this study will be how Gauge Framework improves testing with better defect detection while maintaining good method coverage for various business scenarios and also how it can be used as a BDD framework by reducing manual effort. This paper will also determine the performance with respect to other competitive frameworks in the market like Cucumber, RSpec, SpecFlow.

Introduction

I. INTRODUCTION
Behavior Driven Development (BDD) is a software/application development idea which enhances the agile software development process [1]. The goal here is to identify user behavior and capture business specific requirements and convert them into test specifications. This process in general brings collaboration between involved parties like developers, product owners and management teams. It allows the members to use a shared pool of tools and processes. The main tool behind this development is the use of a Domain Specific Language (DSL) [2]. In this type of development normal English or simple language is used instead of complex code to express the behavior. BDD is a refinement of Test Driven Development (TDD). It is a way of formalizing TDD to make it more focused on delivering enterprise software.  In both Test Driven Development and Behavior Driven Development, the test cases will be written before any code is developed. BDD makes sure that Enterprise software is expected to last for years as it presents a user perspective. Its process is translating behavior language into a specialized language like Gherkin and then a parsing library such as Cucumber invokes unit testing framework. The figure 1 below shows an example test case for a login scenario using Gherkin language which uses a strict syntax.

The frameworks which use Gherkin language will need to define the scenarios using the specified keywords like Given, When and Then imposing strict syntax. This is where Gauge Framework is proposed to be used which uses natural language for writing down test specifications. The business readability factor increases significantly when Gauge Framework is used as compared to other frameworks. The scenarios can be written and that itself can act as a living document.

II. LITERATURE SURVEY

Behavior Driven Development has achieved higher customer satisfaction as compared to Test Driven Development. This also consumes more time for development and has been observed to have lower customer acceptance than BDD. This paper investigated the study results from previously published research papers and articles which were published in the years between 1999 till 2020 [3].

Description in a paper suggested that there was an increased positive impact when BDD was used, increasing collaboration among team members, and less negative impacts, like difficulties in writing unit tests. This paper had investigated the BDD on agile teams’ software development where they had used this process in real life. The outcome was that more positive results than negative effects [4].

Best practices and examples of developing and writing automated test scripts for testing in simple natural language requirements using the Gauge framework is explained. Paper discusses the scenario where the BDD framework enforces a pretty strict syntax and analyzes the same with the easily readable syntax of Gauge Framework [5].

Comparison and the deep study of TDD is done with respect to Behavior-Driven Development and with Acceptance TDD(ATDD) while studying the 3 types of development process and its working. It concludes that BDD evolved from TDD eliminating its shortcomings enhancing the overall software development process [6].

Benefits of communication are investigated with respect to BDD. Also, the impact of alignment on stakeholders, the design in software, along with changes in code or refactoring of code, and fixing of bug are analyzed. Two experiences applying the BDD are explored and explained [7].

Characteristics of Behavior Driven Development are analyzed with relevant literature and available tools along with their features in the paper Behavior Driven Development: Tools and Challenges authored [8] by R. K. Lenka, S. Kumar and S. Mamgain,

Test-Driven-Development has greater issue/defect identification ability whereas lower methods coverage than Test Last Development. The study conducted in an industrial context resulted in test driven development being more effective than TLD. This study is beneficial to make future research using behavior driven development as it should be even more effective than test driven development [9].

There are various challenges which are faced during the development phase of test automation which need to be overcome to prevent issues. Auditing the key challenges faced by agile practitioners and different strategies to overcome those challenges while practicing test automation are investigated  [10].

Details about the benefits of test driven development is majorly because of the fact that Test Driven Development like scenarios encourage and improve very focused perfected, steady finite steps which are responsible for improving the flow. The paper discusses the benefits of testing first or testing last and provides an insight on whether it will have an impact with these two different approaches [11].

An approach of developing test automation software with closed collaboration with the product development team was discussed in the paper Developing software product and test automation software using Agile methodology authored by A. K. Sultanía [12].

III.  DISCUSSION

Behavior Driven mindset is used in software development planning where the team will clarify the requirements helping with better understanding of the objectives. According to research conducted [13] during the beginning stages of a software development, the usage of BDD has seemed to have a positive impact on the project specification and requirements. Also, the development team and the project managers have given positive feedback and they have felt an improved feature understanding. The study seems to have found that BDD could benefit the members involved in the development of the software. Since the features are understood in a better way the quality of implementation will also be improved and it will in turn result in better documentation. Usage of BDD has encouraged development team and product managers to collaborate in a better way, which is proven by a thesis written by Moraes [14].

In Gauge Framework, automated test cases are written in a simple natural language like English. These sentences are used as executable statements and the related test code is written in the development language, java in this case. The delivered output could be different from what was expected if there is no proper communication between the development team and the business representatives. This can be improved if the scenarios are properly defined during the initial stage. The product quality can be significantly improved and so will the stability of the product.

IV.  ANALYSIS OF GAUGE FRAMEWORK
Gauge Framework gives provision of tasks like logging, reporting, and having property files thereby reducing the setup time. Figure 3 shows a testing example using Gauge framework where the scenario of a file being uploaded to s3 is shown. Here the behavior can be defined in very simpler terms than the given-when-then format.

Figure 4 shows the implementation of the above scenario using java code. This could also be written in other languages like Javascript, C#, Python or Ruby. This same method could be reused for a different step as well, this capability of code reuse is provided inbuilt in Gauge Framework.

TABLE 1

COMPARISON BETWEEN BEHAVIOR DRIVEN DEVELOPMENT FRAMEWORKS

Features/BDD Frameworks

Gauge

Cucumber

SpecFlow

Rspec

Syntax

Markdown

Gherkin

Gherkin

Ruby

Passing large data files

Yes

Possible, with custom parsing logic

Yes

Possible, with custom parsing logic

Data Driven support

Yes

Yes, using scenario outline

Yes, using scenario outline

Yes, using custom logic

Parallel execution support

Default support

Yes, using plugins

Yes

Doesn’t support

Language support

Multi-languages

Multi-languages

.NET

Ruby

Environment specification support

Pass environment variables without writing related code

Need to write custom logic

Need to write custom logic

Need to write custom logic

Reporting

Inbuilt support and very easy to read

Uses a reporting service

Inbuilt support for reporting

Uses a reporting service

The advantage which gauge poses here is that it has many features inbuilt most of which can be made available in other frameworks using external plugins. Even though it has plenty of features it is lightweight and works well as intended. Since Gauge Framework doesn’t impose a syntax while writing the specifications or scenarios they can be written as per the companies set of formats and make the development better.

Conclusion

In this paper, the impact of BDD in agile software development teams has been analyzed using previous research conducted by other papers. Testing a software completely is not possible and it takes more than 50% of the project budget hence a better modularized automation testing will be required to be in place to keep everything in check. Creating scenarios using strict syntax like gherkin could be a challenge, hence with the usage of Gauge framework the BDD scenarios can be written seamlessly without much of the readymade strict given-when-then format and still consume the advantages of behavior driven development.

References

[1] Marko Anastasov, “Behavior-Driven Development”, Internet: https://semaphoreci.com/community/tutorials/behavior-driven- development, May 26, 2022 [2] Bas Dijkstra, “Making Test Frameworks Readable: The Domain Specific Language”, Internet: https://medium.com/@bas.dijkstra54/making-test-frameworks-readable-the-domain-specific-language-c154c9a9abcb, September 08, 2020 [3] Abushama, Hisham M., Hanaa Altigani Alassam, and Fatin A. Elhaj. \"The effect of test-driven development and behavior-driven development on project success factors: A systematic literature review based study.\" 2020 International Conference on Computer, Control, Electrical, and Electronics Engineering (ICCCEEE). IEEE, 2020. [4] Nascimento, Nicolas, et al. \"Behavior-driven development: A case study on its impacts on agile development teams.\" Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops. 2020. [5] Garousi, Vahid, et al. \"Test automation with the Gauge framework: Experience and best practices.\" International Conference on Computational Science and Its Applications. Springer, Cham, 2020. [6] Moe, Myint Myint. \"Comparative study of test-driven development (TDD), behavior-driven development (BDD) and acceptance test–driven development (ATDD).\" International Journal of Trend in Scientific Research and Development (2019): 231-234. [7] Scandaroli, André, et al. \"Behavior-driven development as an approach to improve software quality and communication across remote business stakeholders, developers and QA: two case studies.\" 2019 ACM/IEEE 14th International Conference on Global Software Engineering (ICGSE). IEEE, 2019. [8] Lenka, Rakesh Kumar, Srikant Kumar, and Sunakshi Mamgain. \"Behavior driven development: Tools and challenges.\" 2018 International Conference on Advances in Computing, Communication Control and Networking (ICACCCN). IEEE, 2018. [9] Tosun, Ayse, et al. \"On the effectiveness of unit tests in test-driven development.\" Proceedings of the 2018 International Conference on Software and System Process. 2018. [10] Tyagi, Sulabh, Ritu Sibal, and Bharti Suri. \"Adopting Test Automation on Agile Development Projects: A Grounded Theory Study of Indian Software Organizations.\" International Conference on Agile Software Development. Springer, Cham, 2017. [11] Fucci, Davide, et al. \"A dissection of the test-driven development process: Does it really matter to test-first or to test-last?.\" IEEE Transactions on Software Engineering 43.7 (2016): 597-614. [12] Sultania, Ashish Kumar. \"Developing software product and test automation software using Agile methodology.\" Proceedings of the 2015 Third International Conference on Computer, Communication, Control and Information Technology (C3IT). IEEE, 2015. [13] Nascimento, Nicolas & Santos, Alan & Sales, et al, “Behavior-Driven Development: A case study on its impacts on agile development teams”, Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops, 2020. [14] Lauriane Moraes. 2016. An Empirical Study on the Use of BDD and its Support to Requirements Engineering. Master’s thesis. Pontifical Catholic University of Rio Grande do Sul, Brazil

Copyright

Copyright © 2022 M. Shamanth, Prof. Prashanth K. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

IJRASET44745

Download Paper

Authors : M Shamanth

Paper Id : IJRASET44745

Publish Date : 2022-06-22

ISSN : 2321-9653

Publisher Name : IJRASET

DOI Link : Click Here

About Us

International Journal for Research in Applied Science and Engineering Technology (IJRASET) is an international peer reviewed, online journal published for the enhancement of research in various disciplines of Applied Science & Engineering Technologies.

Quick links
  • Privacy Policy
  • Refund & Cancellation Policy
  • Shipping Policy
  • Terms & Conditions
Quick links
  • Home
  • About us
  • Editorial Board
  • Impact Factor
  • Submit Paper
  • Current Issue
  • Special Issue
  • Pay Fee
  • Topics
Journals for publication of research paper | Research paper publishers | Paper publication sites | Best journal to publish research paper | Research paper publication sites | Journals for paper publication | Best international journal for paper publication | Best journals to publish papers in India | Journal paper publishing sites | International journal to publish research paper | Online paper publishing journal

© 2022, International Journal for Research in Applied Science and Engineering Technology All rights reserved. | Designed by EVG Software Solutions