Display computers, controllers, communication devices


News archive

Testing ensures software quality

Written: Monday, March 22, 2010 12:30:00 PM

Article published in the iVT Magazine.

A new simulation-based test strategy for control system software can provide a test environment with higher observability, more controllability and greater interaction possibilities.

Testing is one of the single most important disciplines to improve in the embedded software industry today, if it is to ensure the production of high-quality products along with the ever-increasing demands for more functionality. Testing is the primary method to guarantee that a system works according to its specification, to locate problems and deviations, and to detect architectural mismatches in system integration. However, software testing in the industry is, in general, immature. A multitude of test methods may be applied, testing is often not well planned, and as a result there is a tradeoff between quality and far more expensive projects than planned.

One of the problems is that the engineers performing the tests are limited to working with the target hardware for testing very basic software functions. The access to this hardware is often limited, and it may take a while before an implemented function can be tested.

Furthermore, the observability of the application in the embedded computer is often not as good as the observability of software executing on a PC. Engineers report having to perform basic software tests at the sites where the machines are used, and needing to invent ad hoc test methods to be confident that a specific deeply embedded software function behaves as intended. In such cases the machines may only be available outside normal working hours, leading to an exhausting schedule and implying high risk and costs.
The CrossControl CCSimTech simulation technology enables the code for an embedded control system to be tested directly on the developer’s host PC. The target hardware can be exchanged and used in later stages when hardware-software integration can be in focus. Automated testing and fault injection, which might not even be possible to do on real target hardware, can also be performed easily in this simulated environment.

Read the whole article - Go one better