DevOps Working Model for Continuous Testing (CT) With Katalon
Continuous Testing in DevOps
Continuous testing was first introduced in order to reduce the time taken to get feedback to developers. The main goal being to test more often, especially at an early stage of development, and then to test the unified codebase in its entirety.
Continuous testing generally involves many automated tests that are carried out at regular intervals each time code changes are made. These tests are performed as part of the software delivery pipeline in order to drive rapid feedback on recent changes which have been pushed to the code repository.
Every software instance is built differently and it needs constant updating in order to meet customer requirements. Previously, when the development and deployment of processes were rigid, it took extensive time to make changes and deploy features. This was mainly down to the fact that there were strict timelines for development and QA stages, with codebase transferred from team to team.
Continuous testing in DevOps helps teams explore critical issues in the initial stages of development, mitigating the risk of bugs beforehand, saving companies the cost of fixing errors further down the line.
DevOps Working Model of Continuous Testing?
To achieve the best results for a continuous testing process there are some proven processes to follow.
Once the code is uploaded to the source code platform it undergoes testing with the assistance of test automation. Even minor changes in code require testing in order to reduce business risk.
Whenever a change to source code is made, or there’s been a check-in, code is built and tests are run to ensure it’s ready to move from Dev into next SIT/UAT environments. This diagram explains the DevOps working model with Continuous Integration (CI), Continuous Deployment (CD) and Continuous Testing (CT) process workflow.
At every stage quality gates are introduced to get early feedback delivering quickly with quality standards creating “shift left” approach using early build verification testing (BVT), API and SIT testing using modular test automation early in SIT environment. Post that end to end journey test automation in UAT and finally keep updating regression Testing pack continuously.
Continuous delivery is the next-gen software delivery model. Continuous Testing plays a crucial role in Continuous Delivery. It uses agile development for testing; hence this offers a more efficient testing process. Continuous Testing requires an automated end-to-end testing suite. The suite must be integrated into existing development processes enabling continuity throughout SDLC.
How Katalon- all-in-one Test Automation Platform Can Support in CT?
The Katalon platform is the first end-to-end quality automation platform of its kind, providing solutions to meet the needs of users across a spectrum of team size, complexity of tasks, and budget capacity. This platform is capable of integrating with all favourite Agile, DevOps, and CI/CD tools to seamlessly support existing software development processes and rapidly improve capabilities and capacity in testing.
Create Continuous Testing (CT) Framework Using Katalon Platform?
- The following are key capabilities of the Katalon platform:
- Automation authoring with Katalon Studio: Easy to use, low-code test automation with self-healing and advanced AI capabilities such as AI enabled visual testing to create tests to meet any need whether desktop app, API, web, or mobile.
- Orchestration and AI Enabled Insights with Katalon TestOps: Reporting, scheduling and orchestration, and integration with Agile and DevOps tools to integrate your testing activities with all your development teams across large or small organizations.
- Scale on-prem or on-demand with Katalon Runtime and TestCloud: Run your tests on your systems or use TestCloud to securely test on demand in the cloud with multiple browsers and devices.
Below is CT framework created using Katalon platform for test automation. Katalon Studio supports continuous testing through seamless Jira Agile integration and native CI/CD integration with the most popular CI tools (e.g. Jenkins, Bamboo, Azure, and CircleCI).
Katalon Studio is recognized as easy to use, with codeless test creation for beginners and advanced extension for experts. The plugins in Katalon Store can help you extend automation capabilities and easily integrate with other CI/CD software.
The solution provides full infrastructure support. You can execute tests on all OSs, browsers, and devices, as well as on cloud, on premise, and hybrid environments.
1.Katalon Studio and Bitbucket Integration: -
Lastly, Katalon Studio offers a comprehensive set of insightful reports, real-time monitoring, and instant feedback mechanism. You can completely control your product quality as well as your team performance. Katalon instant feedback loop will help you detect any rising issues as soon as they appear.
As many Automation engineers (AEs) working on same automation project and developing low-code or no-code automation test script using Katalon studio they can create common code repository with Git and its cloud-hosted services, including:
2.Katalon Studio and Jira Integration: -
and can integrate Katalon Studio with Git easily with built in feature in KSE. AEs can create branching strategy in Bitbucket in above example and can keep pulling latest code and pushing updated code which can be merged with raising PRs (Pull requests) in Bitbucket and always keeps latest code available for execution on agent machines.
- Link a Katalon Studio project with a Jira project.
- Import Test Cases from Jira to Katalon Studio to create test cases and run BDD tests.
- Automatically submit test results and test reports to the linked Jira issue.
- Submit Bugs to Jira.
Katalon Studio can integrate with Jira Cloud, Jira Server, and Jira Data Center. This integration helps you:
3.Katalon Studio and TestOps Integration: -
We can enable Jira integration from KSE project settings by providing Jira authentication and project details.
Katalon TestOps is an enterprise-class platform for QA orchestration, test analytics, and advanced reports.
With Katalon TestOps, you can coordinate various activities, cycles, and frameworks in software testing. By doing so, you can ensure software quality at every stage without the need to sacrifice speed or require DevOps expertise.
We can enable TestOps integration in Katalon Studio by providing TestOps credentials and Selecting Org, Team and Project created in TestOps.
4.Katalon TestOps and Katalon Run-time Engine Integration: -
It will allow to upload test results executed through KSE to Katalon TestOps for test management and reports.
Katalon Runtime Engine (KRE) is the test execution add-on of Katalon Studio. KRE allows you to execute automation tests in CLI mode. It can be used in a variety of scenarios, such as scheduling your tests, integrating with CI/CD system, or bundling your tests to execute in virtual containers like Docker.
5.Katalon TestOps and Bitbucket Integration: -
KRE agents Status can be checked in TestOps and Test plan created in TestOps can be executed and scheduled on KRE agent machines for execution.
Bitbucket (or any GIT Repository services) can be integrated with Katalon TestOps to get latest code for execution whenever scheduled or manual triggered test plan has to be executed on KRE agent machines.
6.Katalon TestOps and Jira Integration: -
This integration can be created by adding script repository in TestOps configuration with Bitbucket Repository URL, API Key Authentication details.
TestOps can be integrated with Jira to get active sprints requirement details. These requirements will have respective connected Test cases from Katalon studio which can be used to derive Requirements Traceability Matrix (RTM) in TestOps.
7.TestOps and Jenkins Integration: -
Also, defects raised in Jira for failed test cases can be tracked in TestOps and RTM will give end-to-end picture of Requirements🡪 Test Cases🡪 Defects.
We can integrate Jenkins with Katalon Studio and execute Katalon tests with Jenkins. CI/CD Pipeline get triggered after developers do code check-in, when we have setup the CT Job after build get deployed it will trigger execution on KRE agent machines using TestOps.
There are two possible ways to integrate Katalon with Jenkins:
Katalon Plugin for Jenkins helps execute Selected Test Suite collection, Test Plan from Katalon TestOps.
CLI Command can be configured and triggered on KRE agent machine to trigger execution using Command-line/Console Mode Execution.
IF KRE is not installed it can be automatically deployed on given machine during execution and also Docker Image can be used in execution, this image contains up-to-date browsers, including Google Chrome, Mozilla Firefox, and Katalon Studio.
In this article, I presented a blueprint for continuous test automation using Katalon Automation Platform. I explained why continuous test automation is important to improve both agility and quality at the same time, as expected with DevOps transformations. DevOps working Model with CI/CD and CT is described. Tried to explain how to setup the continuous test automation framework with sample set of tools. For more information on each part of this integration I will create detail blog very soon. This is my first blog and I am feeling better as today I started sharing with community and thanks QATalk Community for this amazing platform and motivation which I got from last codeless conference.
Rupesh Sanjay Sawant
Software Automation Testing Solution Architect working with Quality Kiosk Technologies Pvt Ltd. Having more than 10 years of experience in Software testing fields in Banking domain. Having experience in traditional automation tools Selenium/Appium and Current Low-code-no-Code automation tools like Katalon, UiPath etc. Part of many banking digital transformation projects with expertise in automation, DevOps-CI/CT, ETL/Database Testing. Also, experience in app/web developments and analytics tools.
Originally published at https://medium.com on June 2, 2022.