Torben Christensen, recognized authority in test and measurement automation and co-founder of Rebase Systems, agreed to share his views with the OpenTAP® team from his four decades in our field.
Torben: I have spent my best years on test & measurement (T&M) automation, and now I am a grumpy old man. There is far too much bad test system software out there!
OpenTAP Team: Test automation has progressed greatly since you were a junior engineer. How were things different when you were just getting started?
Torben: In the past, T&M was dominated by the hardware engineers who also developed test system software, both for production and R&D. Many systems started out as one-man projects without real specifications or a vision for the future. Efforts focused on the task in front of you – it was relatively easy to perform a few tests and log the results to a file. Gratification was almost instantaneous – you’d see a ‘final’ test system after a few days programming. But as a platform, the results were really awful and expensive to support, especially after 15 years. But don’t blame the engineers – managers are often accomplices in ordering quick and dirty solutions (and are seldom properly punished).
OpenTAP Team: And today?
Torben: Luckily, times have changed. People working in this area with hardware and modern measurement techniques and hard-won knowledge are better educated about software structure and common programming environments.
T&M automation requires a good software architect, someone who understands real-world requirements and that it is expensive to build a robust, future-proof solution from scratch. I tell my customers and my team members “Don’t go there! The only way forward is to build on T&M automation software frameworks that are truly object-oriented and reusable.”
OpenTAP Team: It sounds like you’ve been around the block and seen a lot of different projects.
Torben: I have been involved in more than sixty different test system projects. From mechanical stress testing to telecommunication systems to test of software in embedded targets, in both R&D and production environments. The best solutions in my experience have been those built on mature object-oriented T&M automation software frameworks. Those frameworks traditionally evolved as in-house platforms. I worked for many years for large European companies that provided the resources to develop reusable software frameworks, software that supported development of many nice systems over the years.
OpenTAP Team: What advice can you share with our newsletter readers evaluating T&M automation frameworks?
Torben: Avoid hybrid systems building on more software programming languages; the world is complicated enough without them. You often have to go there when using development environments that are specialized for T&M automation. However, generic object-oriented software languages are the way to go. Some test engineers find them hard to learn, but they have to try harder! I have never met people wanting to go backwards, away from generic object-oriented software languages.
OpenTAP Team: What makes object-oriented languages better for testing frameworks?
Torben: The object-oriented paradigm is a perfect fit for designing test systems. In very few words, let’s outline the typical structure for an object-oriented test solution:
- Test step classes are built on an abstract / virtual base class that are included in the generic T&M automation framework.
- Logging modules can be built using the observer pattern, test steps will have no knowledge about how logging modules implementation.
- Separation is a good practice with superior maintainability.
- An instrument driver is an implementation of an interface for a specific class of instruments.
- A new instrument model is supported by making a new implementation of the same interface, supporting interchangeability.
A good software framework can be re-used for various automation tasks, from mechanical stress testing to software test. If someone claims otherwise it is because they want to do the creative process from scratch. They are probably unaware that they will get really fed-up maintaining the system in the long run.
OpenTAP Team: So, what are the attributes of a good framework?
Torben: A good T&M automation software framework offers much more than reusable functionality, such as a sequencer, configuration editor, logging solutions, instrument driver system and perhaps a user interface. A good framework must define a thoroughgoing software system that supports instrument interchangeability and module-level reuse of test cases, drivers and logger modules. Such re-usability supports organization-wide building of systems with the exact same structure and with module reuse. Developers can easily start working with another system — everything will look and feel familiar. Even time estimates for new tasks will be simpler more accurate when using a mature framework and a well-known software structure.
OpenTAP Team: And what is the impact of open source frameworks?
Torben: Likewise, with open source projects, the real benefit is not that you have access to the source code. It is that open source project lifecycles are in most cases much more agile and have more frequent, incremental releases. So, the time for introducing new requirements and implementing new functionality is usually much shorter than for vendor-specific solutions.
OpenTAP Team: Our conversation today has been very informative. What closing thought would you like to leave with OpenTAP Newsletter readers?
Torben: the real benefit of reusable test automation platforms, especially those built using open source software, is maintainability. Software maintenance is typically a huge burden, a major resource sync. Maintenance of existing projects is often the activity that derails new efforts and prevents organizations from using time to make those same systems more maintainable. Test organizations need to fight to get out of this vicious cycle.
OpenTAP Team: Well thank you Torben for your time and your perspective. I’m sure well speak again soon…maybe even over at the recently launched OpenTAP Forum!