Expose latent software defects quickly

Software health check through stress testing

Subtle software faults can remain hidden in complex systems despite exhaustive testing. Often, such faults emerge later when the systems are operational, with significant performance demand and numbers of users. The errors reported are usually difficult to trace, especially when the software is executed under laboratory conditions. 

As these faults are typically associated with scaling, performance and synchronisation between tasks, software stress testing is considered an excellent means of exposing them. A special method systematically varies the application’s resources. These can include CPU cycles, memory size, memory bandwidth, etc. 

The method can be used to expose software faults, analyse performance degradation and exceptions handling. It can also be applied to prove that a system can operate successfully within its allocated resources, increasing the confidence that future upgrades will have sufficient resources to operate correctly.

Expose latent software defects quickly

Method details


Method description

  1. Set up tasks in the system which ‘consume’ system resources in a controlled manner
  2. Carry out normal testing but now with controlled levels of resource constraints
  3. Progressively increase the level of the constraints until the system begins to malfunction
  4. Carry out root cause analysis to determine why the system failed
  5. Answer the question, ‘Should it fail in this manner?’
  6. If the answer is ‘no’ then weaknesses in the design are present
  7. Update the design and retest looking for the next point of sensitivity

Research project

Partners

Industrial partners:

  • NXP Semiconductors
  • TASS technology solutions

Contact

Business manager:

Frans Beenker

Telephone:

+31 (0)88-866 5420

Email:

frans.beenker@tno.nl