Software testing strategies are developed based on fault removal—deterministic and random. Based on literature search, it is appears that this is the first research that has evaluated these strategies. Deterministic fault removal is determined by the ranking of deviations of the time of fault occurrence from statistical control chart upper limit. Random removal of faults is selected by random number generation. Counterintuitively, random fault removal proved to be the better strategy based on improvement in reliability metrics across a series of tests. Contrariwise, deterministic fault removal was better when the cost effectiveness of fault removal was considered. Fault and failure data from three diverse projects were used to make the strategy assessment: NASA Space Shuttle flight software, Japanese University application, and a database application.
Read full abstract