Skip to content

How do test methods keep up with increasingly complex implementations?

Digital twins provide a wonderful opportunity for simulating physical products even before the actual product exists at all. Because product development takes place in these kinds of digital environments, tools and methods must be present in these environments that can test products and preferably in an effective way. Testing a product by a human operator is of course possible, but in many cases not feasible. Humans tend to make mistakes, repeatability is not identical, and of course the speed of testing is usually slower, not to mention the work itself, which can be quite monotonous if the same products have to be tested repeatedly.

IN SHORT

This is the headline

As the world becomes increasingly complex with products controlled by diverse software implementations, testing methods must be able to keep up.

This is the headline

Digital twins offer a wonderful opportunity for simulating physical products even before the actual product exists at all.

This is the headline

The strength of modern automated tools and technologies for software testing lies in the fact that they can be integrated into a variety of environments.

For these reasons, automation provides a solution for software testing. With automated testing, the software design industry has a powerful tool in its hands that can keep product quality at a high level. Today, many industrial machines rely on programmable logic controller (PLC) technology. PLCs are present in many industrial sectors in numerous different applications. Ultimately, PLC software development is quite close to traditional software development, although it may not require coding skills from the developer. With respect to quality, the same high-level problem exists in both - software regression. Software regression refers to a problem or bug in the program that previously worked but no longer works due to the development of new features. These new features have usually, for various reasons, affected the operation of the older parts of the software code. The main purpose of automated software testing is to detect these regression bugs by constantly running different tests. Some other areas where automated software testing can be very powerful are non-functional testing scenarios, such as performance or load testing.

"Software regression refers to a problem or bug in the program that previously worked but no longer works due to the development of new features."

Automated software testing is suitable for many areas

The strength of modern automated tools and technologies for software testing lies in the fact that they can be integrated into a variety of environments. For example, Etteplan offers design services for software and hardware and solutions in the field of automation technologies for integrated, cloud, Internet, mobile and industrial applications. Therefore, it makes sense for us to apply the best possible regression testing practices regardless of the technology area.

A while ago, we started looking for the best way to automate PLC software testing and run these tests in a digital twin simulator. Once we knew that our digital twin partner Mevea offers an API (Application Programming Interface) in its product and that it has a suitable demo machine available in its simulator, an excavator to be exact, it was quickly clear that we wanted to build a demo for automated testing of the PLC software that controls the excavator.

Using Python scripts and Robot Framework, we established a test procedure that automatically sends the excavator control commands to PLC software running in the PLD hardware and then checks from the simulator whether the given control commands lead to the correct response at the simulated excavator model. This solution offers the possibility of replacing a human tester with a computer and thus making testing very reliable, effective and fast.

"This solution provides the ability to replace a human tester with a computer, making testing very reliable, effective and fast."

Automated software testing is suitable for many areas

Sometimes automated software testing requires additional automation to enable fully autonomous processes. Imagine that you are a PLC automation developer who designs PLC programs. In traditional software development, the designer keeps the different code versions under version control. In order to track the new versions of the code, some kind of Continuous Integration / Continuous Delivery (CI/CD) process or tool is used by default. The purpose of this tool is to automate various process steps, such as building, targeted programming and deploying the new code versions. Of course, automated testing can also be just one step in such a process.

In the same way as traditional software development, PLC software design can also benefit from these types of CI/CD workflows and tools. So perhaps the next goal of our demo will be automated programming of a new PLC software version for PLC hardware after the new program version becomes available at a site with additional automated testing.

Source: https://www.etteplan.com/nl/kennisportaal/wereld-van-digital-twins-en-programmable-logic-controllers-plcs

TIPS

This is the headline

Testing a product by a human operator is not feasible in many cases. Humans tend to make mistakes, repeatability is not identical, the work is often monotonous, and speed is typically slower.

This is the headline

Automation offers a solution to software testing. With automated testing, the software design industry has a powerful tool that can keep product quality at a high level.

This is the headline

Sometimes automated software testing requires additional automation to enable fully autonomous processes.

Weidmüller

Weidmüller

Weidmüller offers dedicated technology and solutions in hardware & software around Industrial Automation & IoT. Thus, we bring extensive industrial expertise in both hardware components and software solutions.

View Business
Sign up for our newsletter and receive updates.