Safety testing in software systems aims at optimizing system safety in the design, development, use, and maintenance of software systems and their integration with safety-critical hardware systems in a production environment.
Functioning software should not generate hazards - Eg: Guiding the state of the art aircraft should NOT steer into the ocean
Monitoring systems must perform flawlessly - Eg: Back-up computer Should start automatically when primary fails
In complex systems where there are many interactions involved, the safety-critical functionality should be identified and thoroughly analyzed.
Contributing factors and resultant hazards associated with the system are identified and eliminated.
The number of safety critical interfaces are kept low to avoid injury or death.
Safety attributes are to be addressed as part of all the levels of software testing.