In Episode 2, Gabriel and the test automation team worked with his company’s Open Source Program Office (OSPO) to overcome resistance to change in general and to adoption of a new open source test automation platform in particular. Their efforts resulted in a highly visible and very successful OpenTAP pilot.
But a pilot isn’t the same as production deployment. Team members in Gabriel’s organization are still uneasy with using open source for mission-critical operations. Their concerns include
Leakage of code or other critical information
Loss of control
Abandoning familiar practices
The Power of Metrics
Nothing is more convincing than measurable results – actual, testable metrics. But compelling metrics take time to collect and analyze. Our heroes, Gabriel, lab-tech Francisco and OSPO lead Codie, decide on measuring three key factors:
Migrating to a new platform doesn’t mean that existing code should be thrown away. Legacy test code can represent years of invested time and effort. Whenever possible, avoid starting over — use wrappers and other migration tools to salvage known-working test code.
To accelerate the OpenTAP pilot, Francisco integrates legacy test code in Python and other code using OpenTAP plugins. Multiple testbeds can use the same code to implement identical functions. Increasing the level of code re-use is a good measure of collaboration, best design/implementation practices and development cost savings.
There are many types of, and use cases for, code re-use. Most organizations are accustomed to re-using some amount of code from project to project. Some organizations even share code across groups. Real efficiencies are achieved when entire organizations consume shareable internal and/or proprietary code (Inner Source) as well as employ standard software components, frameworks, libraries, and platforms from open source projects. If you are looking to get started with inner source some of the best practices, thought leaders, and resources can be engaged via InnerSource Commons.
An open test automation platform supports more flexible testing, promotes re-use, and lets developers access a growing ecosystem of plugins and other off-the-shelf and ready-to-use functionality. These capabilities positively impact time-to-deployment by eliminating the need to “re-invent the wheel” and also benefit from debugging and testing by other users and developers. Faster time-to-deployment of test code can also mean faster time-to-market for devices under test.
Since the team had kept careful records of the time required for all phases of testing on their legacy platforms, the comparison was a snap.
Many aspects of a software platform can impact efficiency. A key efficiency factor lies in available tools and workflows. The OpenTAP Package Manager is a case in point. Most legacy, in-house test automation systems don’t even have the concept of a package, leaving test developers to fend for themselves, relying on ad hoc archiving and custom-built scripts for packaging, re-installation, and deployment.
Using the OpenTAP package manager, the team can deploy more tests, more quickly and more efficiently. Francisco and his colleagues can test multiple aspects of devices under test in parallel, cutting total test time in half. No longer concerned about execution failures, the lab can also run tests overnight and remotely.
Metrics in Context
The above metrics and benefits they represent don’t materialize by themselves. High code re-use, shorter time-to-deployment and efficient operation are the direct result of the advantages conferred by using the OpenTAP platform: consistent interfaces, excellent scalability and high performance execution.
Plus, as Codie reminds us, OpenTAP is open source. Standing behind OpenTAP is a global community of users and developers, sharing development and maintenance, overseeing quality and security, and ensuring interoperability.
Gabriel and Francisco are building their case for using OpenTAP, but is it strong enough to green-light open source test automation for production deployment? Find out in the next episode of OpenTAP – the Open Source Path to Effortless Test Automation.
Your Next Steps
Building a plugin that leverages existing code? If you are coding in Python, check out the OpenTAP Python plugin, is your legacy code is in VEE? There’s a plugin for that too! There’s no limit to what you can interface with OpenTAP. Let us know what you create!
As you start building plugins, you will want to become more familiar with creating Test Steps, shown in the videos below. And don’t just keep those plugins all to yourself. Learn how to use the OpenTAP Package Manager to share your plugins with other members of your team and the OpenTAP developer community.