Поведінковий підхід (BDD) як ефективний метод для організації автоматизованого тестування у безперевному доставленні продукту
Loading...
Date
2020
Authors
Бенюх, Лада
Глибовець, Андрій
Афонін, Андрій
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
У роботі описано загальні відомості про організацію автоматизованого тестування та проаналізовано ефективність його застосування на проекті. Також досліджено різні підходи до організації
автоматизованого тестування за допомогою таких методів, як написання коду через тестування,
поведінковий підхід, підхід тестування за ключовими словами та набором даних. На підставі дослідження було побудовано систему автоматизованого тестування для покриття тестами графічного
інтерфейсу користувача та вебсервісів (API тестування), використовуючи поведінковий підхід. Також
було описано інструменти для організації поведінкового підходу тестування і переваги цього методу.
The global digitalization has transformed business dramatically, making it respond and adapt fast to the changing world and new challenges. The development teams face a global challenge of how to speed up product delivery time to the end user without losing product quality. Due to this, the demand for automation of routine tasks has significantly increased, because this process helps to minimize and optimize time and money for digital products delivery. Functional automation testing plays a very important role in the process of faster and more effective product delivery to the end users in a limited time. For example, test automation plays a key role when you need to test periodically the same functionality over and over again to check whether the product is ready for delivery to the end user or not, especially, when working with very complex systems. The development of the automated testing system architecture is influenced by such factors as the analysis of the possibility of coverage by automated tests, the creation of a strategy to build the automation testing on the project and the development of the automated testing system at its own. The test approach itself also plays an important role and could vary dramatically. For instance, Test-Driven Development, Behaviour-Driven Development, Keyword-Driven Testing, and Data-Driven Testing approaches. The behavioural approach (BDD) has been used to develop an automation testing system described in this work. This approach is a set of practices aimed to reduce the risks with communication between the development team and the client. There is a wide range of tools for BDD-based testing, namely Cucumber, JBehave, Gauge, and more. As a result, the automated testing system, described in this paper, has been built using Cucumber practices, which in turn allows functional verifications to be performed simultaneously at such levels as graphical interface (UI) and web service (testing API). Cucumber recognizes the specification for the tested functionality, which is described in a simple language, then looks whether testing scenarios are present in the feature files and only then runs test scripts. Each scenario consists of a set of steps that Cucumber processes and verifies against a given expected business logic. It should also be noted that this system has been integrated into Continuous Integration, based on the Jenkins service. Test automation framework integration with CI tool helps to constantly monitor the project source code repository for changes, and this enables fast feedback and high quality of the product in the process of continuous development.
The global digitalization has transformed business dramatically, making it respond and adapt fast to the changing world and new challenges. The development teams face a global challenge of how to speed up product delivery time to the end user without losing product quality. Due to this, the demand for automation of routine tasks has significantly increased, because this process helps to minimize and optimize time and money for digital products delivery. Functional automation testing plays a very important role in the process of faster and more effective product delivery to the end users in a limited time. For example, test automation plays a key role when you need to test periodically the same functionality over and over again to check whether the product is ready for delivery to the end user or not, especially, when working with very complex systems. The development of the automated testing system architecture is influenced by such factors as the analysis of the possibility of coverage by automated tests, the creation of a strategy to build the automation testing on the project and the development of the automated testing system at its own. The test approach itself also plays an important role and could vary dramatically. For instance, Test-Driven Development, Behaviour-Driven Development, Keyword-Driven Testing, and Data-Driven Testing approaches. The behavioural approach (BDD) has been used to develop an automation testing system described in this work. This approach is a set of practices aimed to reduce the risks with communication between the development team and the client. There is a wide range of tools for BDD-based testing, namely Cucumber, JBehave, Gauge, and more. As a result, the automated testing system, described in this paper, has been built using Cucumber practices, which in turn allows functional verifications to be performed simultaneously at such levels as graphical interface (UI) and web service (testing API). Cucumber recognizes the specification for the tested functionality, which is described in a simple language, then looks whether testing scenarios are present in the feature files and only then runs test scripts. Each scenario consists of a set of steps that Cucumber processes and verifies against a given expected business logic. It should also be noted that this system has been integrated into Continuous Integration, based on the Jenkins service. Test automation framework integration with CI tool helps to constantly monitor the project source code repository for changes, and this enables fast feedback and high quality of the product in the process of continuous development.
Description
Keywords
поведінковий підхід (BDD), автоматизоване тестування, тестування графічного інтерфейсу, тестування вебсервісів (API тестування), система для побудови автоматизованого тестування, стаття, behavioral driven development (BDD), automated testing, user interface testing, web services testing (API testing), continuous integration
Citation
Бенюх Л. І. Поведінковий підхід (BDD) як ефективний метод для організації автоматизованого тестування у безперевному доставленні продукту / Бенюх Л. І., Глибовець А. М., Афонін А. О. // Наукові записки НаУКМА. Комп'ютерні науки. - 2020. - Т. 3. - С. 62-68.