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.
Aspects of Software Safety:
Functionality of software should not generate defects - Eg: Guiding the state of the art aircraft should NOT steer into the ocean
Monitoring systems must perform without any bug - Eg: Back-up computer Should start automatically when primary fails
Goals in Safety Testing:
In complex systems where there are many interactions involved, the safety-critical functionality should be identified and thoroughly analyzed.
Contributing factors and resultant defects integerated 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.