The idea behind software safety is that it cannot be allowed to function independently of the total effort. A software specification error, design flaw, or the lack of generic safety-critical requirements can contribute to or cause a system failure or erroneous human decision.
It’s generally believed that software systems safety engineering should be given emphasis early in the requirements definition and system conceptual design process in order to achieve an acceptable level of safety, especially for software used in critical applications.
Many companies fall into the trap of accepting software solely based on the user acceptance test (UAT), also commonly known as black-box or functional testing in the software industry, where a set of pre-defined scenarios (or functional tests) was applied to the software system to verify actual results obtained against the expected results.
Main activities in the process of software safety testing include:
· Software Safety Test Planning – Identify system hazard then select suitable safety analysis techniques to identify the condition and constrains which prevent the hazards from occurring.
· Software Safety Test Implementation – Tests of safety-critical components should be conducted in strict accordance with the approved test plans, and the results should be accurately logged, recorded and documented.
· Software Safety Test Assessment – The safety risk assessment of software is based on an assessment by the analyst that sufficient analysis and testing have been performed.
The issues of software safety mainly come from the incomplete, inaccurate or inconsistent software safety requirements. So, the critical part in software safety testing is to get complete, accurate and consistent SSRs, based on which software safety test requirements could be developed.
A preferred method today of software safety testing is white box testing — testing of a software solution’s internal structure, design, and coding. In this type of testing, the code is visible to the tester. It focuses primarily on verifying the flow of inputs and outputs through the application, improving design and usability as well as strengthening security.
Want to learn more? Tonex offers Software Safety Training, a 3-day course that covers all aspects of Software Safety focusing on philosophies and methods in software safety and its primary objectives.
Additionally, Tonex offers nearly 400 classes, seminars and workshops in close to four dozen categories of systems engineering training, including:
—Agile Software Development Training (4 days)
—Aerospace Systems Engineering Training (3 days)
—Autonomous Driving Fundamentals (3 days)
—Electronic Warfare Training Crash Course (4 days)
—Embedded Systems Engineering Certificate (4 days)
For more information, questions, comments, contact us.