Success Story: Manual to Automated Testing
Test Automation Framework Integrated with Azure DevOps
The client is the Department of Records for a major U.S. city, responsible for maintaining records and fulfilling report requests.
The client was having difficulty identifying repetitive legacy manual test cases and their migration to be able to adopt a test automation framework. They had a goal to reduce cost and increase productivity by integrating the automated testing process inside their CI/CD pipeline which would automate the testing, reporting and deployment of the application.
Data-Core decided the best option was to create a custom framework that would benefit the client, not just from the test automation perspective, but also help in reducing the manual effort in test execution and deployment of the application. Hence, the solution built comprises the following:
Data-Core designed a data driven framework in Selenium that had all test data managed from Microsoft Excel. This allowed execution of same test cases for various types of data without having to execute each of them manually. The commonly reusable features encourages reusability of test codes by reducing scripting time and effort. Consequently, plugging new features into the framework was greatly reduced.
In this project, we have utilized Azure Repos Git to store our project and test source codes. Both codes are located in their respective branches. The screen shows the automation codes residing in master branch of Azure repo.
The next step was to create a release pipeline in order to implement the CI/CD architecture. The basic steps in implementing the release pipeline are as follows:
The first job of this build process is to configure a Pipeline in Azure. When it comes to automated testing, the pipeline consists of source codes for automation residing in Azure Repos. The next step is to queue the codes for execution in the CI pipeline and produce results. Once the results are published, the same is saved as an artifact to automatically trigger the next step, i.e. shipping application code to production branch.
The next step in this automated CI/CD pipeline is to create a release in order to test application code and deploy the same in production branch.
While the Pipeline jobs are running, Data-Core could go in and see the list of jobs and their respective logs.
Azure DevOps has built-in dashboards to display the test execution result. Various graphical charts and presentations are available and can be shared with concerned stakeholders.
The out-of-the-box approach Data-Core & the client embraced has allowed for verification with graphs and charts. This would have been impossible with a single automation tool alone. The automation effort covers areas that would have been difficult to test manually, considering the combinations of data, and thereby has resulted in at least 50% lesser testing cycle per release of the application.