Subscribe by Email

Thursday, August 11, 2011

How to test real-time systems?

Real time applications are time dependent and asynchronous in nature. Time is the new factor that adds complication in testing real time systems. The test cases should be designed so that they consider event handling, timing of data and parallelism of tasks handling the data. Also, the relationship that exists between real time software and hardware can cause testing problems.

An effective strategy for testing a real time system are:
- One should test each task independently and tests are designed and executed for each task. This task testing uncovers errors in logic and function but not timing or behavior.
- The behavior of real time system can be simulated by using system models and this behavior can be examined and it can be served as a basis for test case design.
- Testing shifts to time related errors once errors in individual tasks and in system behavior have been isolated. Asynchronous tasks are tested with different data rates and load to test whether inter task synchronization errors will occur.
- System tests are done to uncover errors at the interface. Generally, real time systems process interrupts therefore, testing and handling of boolean events is essential.

No comments:

Facebook activity