Subscribe by Email

Thursday, February 10, 2011

Testing for Real-Time Systems - Effective Strategy for testing real time systems

The nature of real time systems is time-dependent and its asynchronous nature. This nature adds a difficult element to the testing mix and that is time. Test case designer need to consider:
- event handling
- timing of the data
- parallelism of the tasks that handle the data
The intimate relationship between real time software and its hardware environment causes testing problems.

An effective four step strategy for testing a real time system are:
Task Testing:
The first step is to test each task independently. Each task has conventional tests designed for them and each task is executed. It helps to uncover errors in logic, function.
Behavioral Testing:
The behavior of a real time system can be simulated using system models created with automated tools. These analysis activities can serve as the basis for the designing of test cases.
Intertask Testing:
Once the task and system related errors are identified, asynchronous tasks that communicate with one another with different data rates and load are tested against errors. Tasks that communicate through a message queue or data store are tested to uncover errors.
System Testing:
System tests are done to uncover errors at the software/hardware interface. Testing the handling of boolean events is essential. The tester develops a list of possible interrupts using state diagram and control specification. Tests that are designed are:
- Interrupt priorities are properly assigned and handled?
- Processing for interrupt is correct?
- Does performance procedure conform to requirements?
- Does high volume of interrupts arriving at critical times create problems in performance?

No comments:

Facebook activity