У роботі описано загальні відомості про організацію автоматизованого тестування та проаналізовано ефективність його застосування на проекті. Також досліджено різні підходи до організації
автоматизованого тестування за допомогою таких методів, як написання коду через тестування,
поведінковий підхід, підхід тестування за ключовими словами та набором даних. На підставі дослідження було побудовано систему автоматизованого тестування для покриття тестами графічного
інтерфейсу користувача та вебсервісів (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.