Halliburton’s Last Mile to Continuous Delivery

5- Hali case studyHow Halliburton leveraged outsourcing to achieve their goals.

Organizations are focusing on speed, both in Continuous Integration and rapid deployment as a competitive advantage. Many software development organizations can significantly shorten development cycles by implementing one or a combination of Agile practices, continuous integration & deployment methods, and feature branches. While these frameworks and techniques shorten development cycles, test teams can quickly fall behind in keeping up with the velocity of product releases. Getting assistance from the outside can be crucial to the success of the entire development organization.

This case study details how Halliburton leveraged LogiGear’s Professional Services team to develop a comprehensive test automation strategy for their Agile teams, and leverage test automaton and application lifecycle management (ALM) tools across the organization. The approach and strategic implementation resulted in a significant reduction in test cycles over prior releases, increased capacity of the test team, and minimized costs using outsourced test automation and Professional Services resources.

Background

Halliburton develops software applications that are extremely complex, with millions of lines of source code, N-Tier architecture and message queuing. The complex nature of the software requires extensive testing and significant resources. When the Production Enhancement (PE) software technology organization adopted continuous integration practices, it became apparent that the current approach to testing needed to change radically to meet deliver expectations.

Cheronda Bright took over the PE testing group at Halliburton shortly after the development team implemented feature branches. The main product team worked on functional enhancements in the development branch while the user experience team made updates to the user interface in a separate feature branch. Features from each branch were merged frequently, which significantly increased the testing workload.

In the past, after every two-week development sprint the software was handed over to the test team that executed all testing manually. New tests were created and run along with any necessary system integration regression testing. Test results were sent to the product management and development teams in order to prioritize fixes to software bugs. After the bugs were addressed the software was sent back to the team for verification testing. When the product management and development teams were satisfied with the results, the software was placed into production.

Testing Challenges

Cheronda knew from previous experience that the only way for testing to keep pace with a continuous integration model was to automate as much of the testing as possible. However, the solution it would not be as simple as just automating tests. The vision was to implement a solution that would result in a truly integrated development environment.

Even though the teams had adopted many Agile practices, collaboration was still a challenge due to separate process management platforms in use. Microsoft Team Foundation Server (TFS) was used by the development team for source control, and user story and bug management by scrum masters and product managers. The test team used Hewlett Packard’s Quality Center (QC) for test management, execution and status reporting. A significant issue for the test team was not having a reliable way to stay updated on what changes were made to the software other than direct communication with the developers. This often resulted in testers creating and running tests that duplicated previously done unit testing.

To begin, Cheronda asked both her testing team and the development team for their input on what they saw as essential to make the project a success. The test team was struggling to keep up with the additional testing required, and the product management team wanted to significantly shorten release cycles while increasing scope. So it was no surprise that reducing testing time for the 3,000 test cases was the top requirement for both teams, along with maintaining quality. The development team also wanted to see testing of impacted code changes executed automatically after each build. And both teams wanted better visibility and reporting for all aspects of the project.

Solution Selection

The first step was to determine if it was possible to implement a common platform for all teams. Ultimately it was determined the Visual Studio/TFS/MTM (Microsoft Test Manager) Integrated Development Environment (IDE) had the potential to improve collaboration across the teams. Using traceability would allow testers to select specific test suites and create test configurations based on the project plan in TFS, and give the entire scrum team access to the project plans and testing strategy in order to create any number of detailed test status reports.

The next step was to identify a viable test automation solution. Cheronda was familiar with keyword testing and made it a requirement that any tool considered would need to support a keyword test method. After evaluating a number of tool options the team settled on TestArchitect from LogiGear. The tool supports Action Based Testing (ABT), an advanced keyword method, and the testing framework provided plug-in integration with both TFS and MTM. Besides TFS/MTM integration, a major factor in the selection was that LogiGear’s Professional Service team was also able to provide implementation support and training for the testing team.

Implementation

Test automation added a level of complexity and required a new way of approaching testing for the PE test team. Going forward, there would be a manual test team and an automation test team working together in close collaboration with the development team.

Cheronda worked with LogiGear Professional Services to develop the project plan and direct various parts of the project through the initial ramp-up. The challenges that had to be addressed included:

  • Implementing test automation without impacting project schedules
  • Analyzing manual tests in Quality Center
  • Training the test team on Action Based Testing and the TestArchitect automation tool
  • Training all testers on MTM
  • Migrating manual tests from QC to MTM Auto mating manual tests and validating each one before moving them into production
  • Setting up tests to run unattended by auto-deploying the execution as apart of the build definition and Continuous Integration processes
  • Creating detailed status reports that included images and log files on failure
  • Defining the workflow between the manual and automation teams

To begin the project, two Halliburton managers were assigned to be automation leads. These individuals worked with the LogiGear team to identify tests that would be the most beneficial to automate. From 3,000 test cases, 600 were selected for automation. The initial test design and automation work of creating tests using the ABT method was outsourced to LogiGear’s automation engineers. Leveraging LogiGear’s automation expertise allowed the PE test team to continue ongoing testing in parallel with the automation ramp-up.

LogiGear’s Automation Engineers started by creating a library of custom actions. This initial work of populating the action library minimized the programming required for future test creation. The action creation was so that test engineers could begin developing the initial test cases in parallel with the creation of the action library.

While the automation team worked on test creation, LogiGear’s project manager worked closely with the PE configuration management team to integrate TestArchitect with TFS and MTM. As the automated tests were completed, they were checked-in into TFS. A beta test was performed by creating a test plan and then selecting and running tests from MTM on a single machine. After verifying the success of the execution from the Microsoft IDE, the team configured seventeen virtual machines with various setups in order to limit the time to run a full suite of tests to no more than 5 hours.

Next, the team focused on migrating manual tests from QC to TFS. The Halliburton project manager asked LogiGear to investigate the potential of automating the migration. Within a short time, LogiGear’s software development developed a program to automate the migration of tests from QC to MTM.

In parallel with the test automation effort LogiGear trainers provided hands-on instruction in test design and the correct approach for building complex tests required for the PE toolkit. At times the instructors worked alongside individual testers to develop the ideal test solution.

Outcome

LogiGear automation experts worked with the Halliburton team to create a test automation infrastructure consisting of the TestArchitect automaton tool, Microsoft’s TFS and MTM. The PE test team was also trained on the ABT test method that was implemented for both manual and automated testing.

After automating 600 tests, the regression suite that had previously taken eight weeks to complete was run in five hours with TestArchitect using a combination of seventeen virtual and physical machines. The migration to TFS/MTM provided managers and all team members with a much greater level of visibility across the entire project. The work improved testing and team collaboration and met the primary objective of delivering very short-cycle releases by facilitating testing for Continuous Integration deployment, multiple branches and variations.

From the beginning of the project the plan was for test automation to be completely handed off to the PE test team when the integration and transition was complete. Ultimately the decision was made to outsource the automation engineering and execution of automated tests to LogiGear. This approach resulted in much more efficient use of the domain expertise of Halliburton’s testers while leveraging the efficiency and low-cost of LogiGear Automation Engineering staff.

Today Halliburton and LogiGear work collaboratively, constantly fine-tuning the testing workflows, while strategizing across an integrated manual and automated team. The PE team designs and creates test cases in-house, and relies on remote LogiGear Automation Engineers to assist with day-to-day automation programming needs. In cases where actions are required for custom controls LogiGear Automation Engineers review the test requirements and discuss any concerns or suggestions before creating the automation and adding the actions to the shared library.

LogiGear’s test team works one sprint behind software development and provides release notes with every new build delivered. The Halliburton team certifies every test delivered by LogiGear before they are moved to production. This verification step is completed within five hours by utilizing up to 70 virtual machines.

Summary

Halliburton’s PE team embarked on a project to make Continuous Integration and rapid delivery possible. By leveraging test automation and testing expertise and talent from outside their organization they were able to achieve their objectives and implement a sustainable testing solution that allows rapid, high quality testing. The partnership between Halliburton and LogiGear Professional Services proved to be a winning combination.

LogiGear Corporation

LogiGear Corporation provides global solutions for software testing, and offers public and corporate software-testing training programs worldwide through LogiGear University. LogiGear is a leader in the integration of test automation, offshore resources and US project management for fast and cost-effective results. Since 1994, LogiGear has worked with hundreds of companies from the Fortune 500 to early-stage startups, creating unique solutions to exactly meet their needs. With facilities in the US and Vietnam, LogiGear helps companies double their test coverage and improve software quality while reducing testing time and cutting costs.

For more information, contact Joe Hughes + 01 650.572.1400

LogiGear Corporation
LogiGear Corporation provides global solutions for software testing, and offers public and corporate software testing training programs worldwide through LogiGear University. LogiGear is a leader in the integration of test automation, offshore resources and US project management for fast, cost-effective results. Since 1994, LogiGear has worked with Fortune 500 companies to early-stage start-ups in, creating unique solutions to meet their clients’ needs. With facilities in the US and Viet Nam, LogiGear helps companies double their test coverage and improve software quality while reducing testing time and cutting costs.

The Related Post

How to ensure a successful test-driven environment In order to ensure a higher quality product is released in the end, many teams have turned to test-driven development. Under this scenario, quality assurance metrics professionals first create various QA tests, and then software engineers code based on these tests, typically while using a robust enterprise test management ...
Continuous Testing and Continuous Monitoring What is the goal of Continuous Integration? Is it to enable Continuous Delivery of the code developers’ produce out to users? Yes, eventually. But first and foremost it is to enable ongoing test and verification of the code. It is to validate that the code produced and integrated with that ...
Having the right skills and experience, even if you have to go outside, is essential for designing tests for large-scale cloud deployments. Moving existing applications to a cloud environment adds new dimensions to testing. One of the primary reasons for moving to the cloud is scalability. Capacity to handle traffic and data transfer can be ...
Times have changed, the tools have improved, and with books like this available you have no reason to not give CI a go. I still remember the first time I was on a project that used NAnt and CruiseControl.NET. It was years ago and both were new tools with plenty of bugs. The project manager ...
In this article, I share some of my experiences and observations on training teams, mainly in corporate settings. The operative word here is “team”, not “individual”. When training teams or groups in an organization, many of the considerations and benefits are different than those for the individual. We’ll examine those differences and I will share successful solutions. ...
This post is part of the Pride & Paradev series With continuous deployment, it is common to release new software into production multiple times a day. A regression test suite, no matter how well designed, may still take over 10 minutes to run, which can lead to bottlenecks in releasing changes to production. So, do ...
Throw away clunky hyper-visors, and stop thinking about computer hardware and software license during your development projects. The first thing you think about when you hear “The Cloud” may not be development and testing. The Cloudy market is filled with SaaS applications, hosting, and cloud-based file systems. All are very useful, and offer a clear ...
Aligning the Dev and Ops Teams DevOps as a philosophy has had as its centerpiece the principle that Dev and Ops teams need to align better. This is a people and organizational principle, not a process centric principle. To me this is more important when adopting DevOps than any other capability or tool. My last post ...
Do you want to speed up your automated tests by a factor of 10 and deploy your application continuously? In this article we share how the JIRA development team at Atlassian has accomplished this using Stages in Bamboo. Stages have allowed the JIRA Development team to take a week’s worth of testing and condense it ...
Fitting QA into a modern DevOps group In a traditional software engineering organization, the QA group is often seen as separate from the Development group. Developers and testers have different roles, different responsibilities, different job descriptions, and different management. They are two distinct entities. However, for folks outside the engineering team – say in Operations ...
…On what you need to know before making the transition to EaaS 1. What are the main differences between cloud-based environments and cloud infrastructure? An environment is a collection of infrastructure elements working in conjunction to enable an application stack to work. For example, a simple 3-tier application, with a web front-end component, a business logic ...
Making the leap to CT is easier than you think— follow this guide to transform your testing process No pain, no gain! Achieving Continuous Testing shouldn’t take a “Hans and Franz” attitude. It should be painless, more like a natural progression from implementing certain practices over time.

Leave a Reply

Your email address will not be published.

Stay in the loop with the lastest
software testing news

Subscribe