The rise of test management software
Most organisations that have been conducting automated test for a while would probably notice an increase in languages. This can be attributed to more specialised forms of abstraction in today’s higher level programming languages.
This evolution is rooted deeply in the history of programming languages and the thirst for higher levels of abstraction, and it starts with the first high-level programming language, FORTRAN. Developed in 1953 by John Backus, FORTRAN addressed the need for a greater level of abstraction for machine processes built around the way that humans naturally communicate their ideas — through language.
“We approach unique test challenges with the best language for each task at hand. By using commercial off-the-shelf test management software to act as a grand unifier during the whole product life cycle, we greatly increase our engineering productivity and minimise the time to market,” Festo AG & Co. KG Head of Automated Testing Architecture Simon Wiedemer said.
After the success of FORTRAN, more languages like C, Pascal, ATLAS and PAWS were developed, each bringing new constructs and models of computation. And with each new language came more powerful levels of abstraction, such as object-oriented programming, which is now one of the most widely used programming constructs. In addition, these newer models of computation often are developed to solve common problems. Some of these newer models of computation are developed for general-purpose programming tasks, but some are developed for a particular application. For example, LabVIEW was developed for test, measurement and control applications and Python was developed for quick code-scripting tasks.
These increasing levels of abstraction result in languages better suited to specific tasks. The best test managers now design test systems that leverage the power of multiple languages and save development time by using test management software.
Traditional test system development
Considering that software is the backbone of automation when building a test system, many organisations prefer to standardise on a single, fairly general language used for all aspects of test system design from individual component tests to test management across the board. The end result is the development of a homogenous test software approach. The main advantage is all members of a team can work in a single, standardised environment, which allows easier sharing of libraries and code modules across the team. The training for this approach is also greatly simplified since the team learns and works in a single environment.
However, standardising on one language does present some disadvantages. Using a single language can limit new hires to a certain skillset or force new employees into learning new tools. As students graduate, they often have a preference for and experience in one or more specific languages. Also, as new managers take over, they commonly opt to implement a language of their choice, which causes organisational whiplash. This can be a costly exercise that often requires code migration, revalidation of the codebase and additional training in the new language.
The best test managers must look towards a newer approach to test-system development that builds a heterogeneous system out of multiple languages. This kind of approach allows a team to use multiple languages, each for its own advantages, to build more powerful test systems. For instance, Python could be used for scripting validation and verification tests based on code developed by R&D engineers. In the same system, C# could be used to develop an object-oriented interface for custom hardware or to existing .NET libraries while LabVIEW communicates with and gathers data from hardware. Since all languages are designed to tackle specific applications, using each to its strength would ultimately save time and money.
Though beneficial, this approach can present a new challenge to test system development: different languages now need to work and communicate together to form a single system. To resolve this, all test engineers need to understand not just the one environment they specialise in but also the others to adequately interface with them.
The software solution
Test departments are now turning to commercial off-the-shelf test management software to act as a Rosetta Stone of sorts between different languages. This software not only offers users a common environment in which they can work with any type of test code but also completes executive tasks, such as sequencing and calling each test, handling data logging and generating reports. Each engineer can then focus on writing the best test for each component of the DUT without needing to worry about how to communicate with the other portions of code. And since engineers can use the environments they are most comfortable with, an organisation can focus on hiring engineers with skills unique to its applications, even if they don’t have prior knowledge of, or training in, the company’s required language.
Additionally, test managers can take advantage of the full power of a heterogeneous design while avoiding the new challenges that such a design introduces.
This includes the use of test management software for a more modular development process, which produces a system that’s easier to maintain and upgrade because each component can be updated individually without affecting the rest of the test system.
Ultimately, test executives typically include the support of commercial vendors that continually patch and upgrade the test software, which further offsets the cost of maintenance and increases the sustainability of these systems. These advantages, combined with the benefits of a heterogeneous test system design, are how the best test managers are building the future of automated testing.
Turning RFID tags into scalable passive sensors
Researchers from UC San Diego have used low-cost RFID tags to develop analog passive sensors that...
Smart buoy tech live streams data 24/7 from sea floor
A Perth-based company has developed the Nodestream protocol, a bespoke solution that uses...
Engineers discover a new way to control atomic nuclei as “qubits”
Using lasers, researchers can directly control a property of nuclei called spin, that can encode...