Testing is a very important part of the development life cycle, regardless of software or hardware. Every piece of equipment that leaves a manufacturing facility or each software that goes live is checked and rechecked for bugs. However, there are still some problems at times. Ever wondered why?
Testing is done in order to check if use cases work well with the equipment. However, in the case of manual testing, a person manually enters the inputs into the system and checks the output. Due to human involvement, exhaustive testing is not possible. More thorough testing could be done by automating the process. Create a test bench, code it for inputs, plug it in and you have a machine testing out the equipment for all possible use cases. Might not be as easy as it sounds, but it certainly is quicker.
Rohit Joshi, co-founder, Logic Fruit Technologies, explains some of the steps involved with custom-built solutions for testing. “We start with probing, where we connect to the device under test. Then, we acquire data from it. Data is stored and finally analysed. Today’s high-speed devices require on-the-fly analysis, with near-zero latency. We achieve this by using field programmable gate arrays with speeds up to 16Gbps.”
Importance of automated testing
High testing complexity with continuous daily tests of multiple application versions is just the beginning of the long list of use cases for automated testing. Regression cycle and test cases with a short test window of 40 hours for end-to-end testing further adds to it. If you had to manually enter inputs, for 40 hours on an end, you would probably have a lesser head of hair.
Additionally, managing a team of testers spread across multiple environments including mobile devices, desktops, browsers and gaming consoles becomes a hassle when everybody is manually putting in numbers. HCL’s electronics device automation testing (eDAT) services deployment showed that customers achieved 90 per cent reduction in test cycle time, per regression cycle. New devices can be added with minimal or negligible effort to a common framework of devices. It also reduces dependencies on human skill sets.
Taking data transfer bus as an example, automation platforms make it simple to test multiple devices at a time. The same user interface applies to different data buses like high-definition multimedia interface, peripheral component interconnect express or mobile industry processor interface physical layer specifications, which directly translates to productivity gains.
Automation is the trend
In testing any equipment, it has to be connected to some other equipment that can be automated. This automation is turning to more of a graphical interface for ease of access to you. This is reflected in other T&M equipment as well. “Test automation is maturing towards graphical user interface based test procedure implementation,” says Leela Krishna Achutanna, senior manager – market development, aerospace and development, Rohde and Schwarz.
Asish Jain, application engineer, Keysight Technologies India Pvt Ltd, adds, “Now, non-programmers can also construct and configure test plans as per test requirements.”
A majority of measurement equipment, be it an oscilloscope or a multimeter, are moving towards integration and control via a computer or smartphone. The move to control equipment via computers has resulted in the involvement of automation software to access equipment as well. Quickstep from R&S addresses the test automation of production and research and development.
“Another important trend is the modular architecture of the automation software,” says Jain. “This brings efficiency by allowing you to reuse pre-written code or write new software modules so that these can be re-used,” he adds.
Easing it up with automated configuration
Since most of the equipment is moving towards mobile control, calling for proper interfaces is important. Proper connectivity between test equipment and the computing device is very important. Several equipment call for installing specific drivers to get the system ready for work. This might go wrong in any number of steps.
BenchVue by Keysight has been a welcome change in this regard. By plugging an instrument into their PC over LAN, GPIB or USB, the instrument is automatically configured for use in BenchVue.
NI’s TestStand also allows for a similar feature to reduce hassle. Some other features include parallelisation and integration of codes written in multiple languages. This should be a significant advantage for people looking to build a team versed in different languages.
Working with multiple scripting languages
Jain says, “Support for multiple scripting languages is essential for acceptability of the test automation software.” According to NI Automated Test Outlook 2016, a need for a single scripting language was pointed out.
Shirin Bardia, media relations specialist, National Instruments India, suggests, “A newer approach to test system development that builds a heterogeneous system out of multiple languages, allowing a use of multiple systems that utilise the best of all languages to build powerful systems.”
An example would be to use Python for scripting validation, while C# could be used to develop an object-oriented interface for hardware. “Since all languages are designed to tackle specific applications, using each to its strengths would ultimately save time and money,” Bardia adds. However, this comes with its own set of problems, as user understanding between different languages might become an issue at a later stage.
“Test departments are now turning to commercial off-the-shelf test management software to act as a Rosetta Stone of sorts between different languages,” says Bardia. This way, each of you can turn to what you know best without having to worry about how to communicate with other portions of code.
She adds, “Test managers can take advantage of the full power of a heterogeneous design.” All the different modules can be created in different languages, making maintenance and upgrades much easier. R&S Quickstep at present supports C#, .net, C++ and Python scripts in an attempt to make the tool usable across multiple languages.
However, it brings along its own set of complications. Achutanna says, “Adding heterogeneous language support in a single software increases complexity, software dependencies and reduces portability.”
INERTIA is a test automation software designed as a software add-on for NI VeriStand to provide a seamless, integrated control solution for test-cell applications. INERTIA control add-on to NI VeriStand provides multi-mode PID support in developing a real-time software application for Ford. It allows control of a single loop to switch between temperature, pressure or flow mode dynamically as the system calls for it.
With similar solutions, we can look forward to improvements in test automation. Jain adds, “Test automation software uses add-on software in an encapsulated manner, and depending on the test plan, support for multithreading is an advantage when it comes to speed and efficiency.”
The automated future
With the introduction of automation in testing, the past 20 or so years have seen a lot of advances in aiding humans. Additions in automation might have begun with adding connectivity among devices; however, increasing dependence on computers requires many new practices in place.
The features of scripting through multiple languages in order to bring out the best person for the job are just the beginning. At this rate, we could very well look to a future where some glitch does not end up in your phone catching fire.
Saurabh Durgapal is working as technology journalist at EFY