Modern software development trends are focused on speed. But tasks need to be performed
not only quickly, but also with high quality. To this end, we offer Quality Gates Next.
Quality Gates Next is a solution built on tools that provide continuous monitoring and improvement of product quality through state-of-the-art development methodologies, such as Agile and DevOps. This solution is already available. It is well-tuned and can be quickly adapted.
QGN provides 8 quality gates that a product must pass before it is released. These gates are
positioned at the end of each significant stage in the development life cycle.
Distinctive features of application of the methodology:
Our customer is a leading bank, providing a wide range of banking products and services to retail and corporate clients. The bank’s main activities are retail, corporate, and investment banking.
The customer asked us to help automate the processes used to test the banking system. The purpose of the project was to move deliveries into production more quickly and to increase quality.
Folks on the business team wanted to get a more meaningful metric than simply the number of API tests passed, since each API test could consist of a completely different number of checks. Accordingly, we needed to compile statistics regarding passed, failed, and skipped checks.
Unfortunately, neither standard test frameworks (TestNG and JUnit) nor the RestAssured tool make it possible to collect such detailed statistics. To overcome this problem, we reworked the test automation framework to work around this problem, and also customized the Allure report template to display these statistics in a special information block.
The infrastructure of the tested application and the environment itself was built on container technologies that provide lower performance overhead compared to the classic full virtualization approach. Therefore, when implementing the UI autotests, we decided to change the approach to organizing the browser infrastructure. We migrated from Selenium Grid to Selenoid, which gave us the optimal way to put the automation solution into the Kubernetes cluster environment, gave us a more flexible configuration, and gave us the ability to rapidly restart containers with target browsers.
There was network with the servers had no direct access to network Internet. To solve this problem, a local Docker image repository: Harbor Docker Registry. This solution made it possible to provide secure access to the repository via SSL, and to flexibly manage access rights for writing and reading images in the repository.
When running the project on a test bench, it was necessary to quickly deploy the stubs for two systems. We weighed all the possible solutions. Instead of writing a stub from scratch, we selected the Mountebank application, which we were able to easily configure in order to quickly and easily create the working stubs for these systems.
While analyzing information about the system, we learned that the business is unable to provide statistical information about users’ activities on the production server. Using our rich experience in testing online banking systems for other banks, we were able to successfully build a load profile, which later allowed us to carry out high-quality tests.