Software Fault Insertion Testing for Fault Tolerance
Ming-Yee Lai, Steve Y. Wang · 1995
Fault tolerance of a telecommunications system is critical to provide high-quality services to users during abnormal conditions and failures. Insufcient design, implementation, and testing for fault tolerance could lead to signicant outages, impacting millions of users for long hours, as seen in the recent Common Channel Signaling (CCS) and Internet networks outages. This chapter focuses on improving fault tolerance through testing. A clear testing methodology, supporting tools, and a concept of testing adequacy is essential to the completion of testing a large and complex telecommunications software. Toward this end, a methodology for testing of fault tolerance through Software Fault Insertion Testing (SFIT) is discussed. Those logical system components responsible for handling faults and providing services are dened as the fault manager and service manager, respectively. The goal is to reduce the complexity of testing a system by testing its fault manager. A notion of itesting adequacyi depending on the structure of the system is also proposed in the methodology as the basis to guide the selection of test cases. The proposed methodology is a systematic approach to testing fault tolerance of existing and new telecommunications systems. This methodology has been used in testing fault tolerance of various telecommunications systems with large scale software, such as circuit switches, digital cross connects, signal transfer points, and broadband switches. The experiences of applying the methodology are also discussed.