Founded over 100 years ago, our client is a multinational corporation and one of the largest oil field service companies in the world. The company operates in over 70 countries with hundreds of subsidiaries. Their major business segment is the energy services group, and they offer a variety of products and services to oil and gas customers.
LogiGear and our client share a longstanding testing partnership, successfully completing projects for various subsidiaries over the years. In this collaboration, LogiGear focused on testing the client’s suite of oil/gas exploration and production (E&P) applications. Covering the entire spectrum from exploration and reservoir development to well construction, production, and information management, our client aims to revolutionize the E&P industry.
To maintain a leading position in innovation, our client aimed to be the first among their competitors to transition their E&P applications to the cloud. Seeking an accelerated transition, they required assistance in refactoring and enhancing their applications to be cloud-native. Additionally, to align with their new cloud platform, they sought a testing revamp and aimed to shift-left their testing approach through an Agile Transformation.
The project had two primary focuses: an accelerated cloud transition and an Agile Transformation of testing. The accelerated cloud transition addressed the client’s urgent need to migrate swiftly to the cloud, utilizing a Lift and Shift approach for quick cost savings and relief from technical debt. This involved refactoring the suite of applications to be microservice/container-based, enabling reuse of languages, frameworks, and containers. Simultaneously, the LogiGear Team worked on creating new cloud-native development.
In parallel, the Agile Transformation discussions centered around aligning the software development life cycle (SDLC) with the deployment pipeline architecture. The key themes included test design, portability, scalability, and automation. Identifying gaps, the LogiGear Team provided solutions for QA, test coverage, and automation tool choices, contributing to a comprehensive Agile Transformation strategy.
To address these gaps, they began an Agile transformation following the Amazon model with a focus on shift-left testing and 1-week sprints. To do so, the LogiGear Team first focused their energy on instilling test design best practices into the client’s team, as well as training them to be more tool-agnostic. The LogiGear Team also rolled out a CI/CD pipeline using Jenkins, and transitioned that pipeline to and from various cloud environments.
This project has been ongoing for a few years now and has had some great results.
After implementing the CI/CD pipeline, the turnaround time of the Regression on combined platforms (Windows & Linux) has been reduced from 2-3 days to daily. Jenkins is triggered whenever the AUT has a new build early in the morning (between 4:00 AM – 5:00 AM); this helped to save around 4 hours in regression time. Jenkins also will connect to the slave virtual machines to automatically uninstall builds, install builds, run test cases on each machine, produce a summary report, and send the report via email for the client stakeholders before they arrive to work (in US time).
Using the TestArchitect queue feature, the pipeline has a smart dispatch mechanism that automatically distributes test cases to utilize free slave virtual machines, greatly increasing efficiency in testing.
Not only does the Jenkins pipeline implementation facilitate automated trigger and regression execution overnight, it also provides customized, flexible Ul support for Users to quickly begin Automated Testing on any machine. There are 3 modes:
• Full → performs all steps from build installation to running test cases
• Install Only → only installs the build without running the test cases
• Run Batch Files Only → only runs test cases without installing the build
Because the AUT is a complex oil and gas application with 3D graphics, environment variables, complication database configurations, etc., the Jenkins CI/CD pipeline runs a smoke test on each virtual machine that has installed the new build to ensure that the build is functioning. This greatly cuts down on debugging/troubleshooting time when investigating failed test cases if the cause was simply a bad build.
Due to the modular pipeline design, it was flexible and low-overhead to migrate the pipeline from one Cloud environment to another Cloud environment. For example, when moving from VMWare to AWS Cloud, there were only small pipeline script updates needed to incorporate the new Cloud platform-specifics for items.
Over the course of the project, there were 2 separate AUT Release Versions. The AUT Code Coverage has increased from 20% to 34.5% in the past 2 years.