1 / 16

Automated Discovery of Faults and Fault Domains using Random Testing

Automated Discovery of Faults and Fault Domains using Random Testing. Mian Asbat Ahmad 24-01-2013. Why random testing?. Exhausting testing not possible. Infinite values from 0 and 1. Compatibility across multiple systems. Limited Time and Resources Simple algorithm for data selection

noe
Download Presentation

Automated Discovery of Faults and Fault Domains using Random Testing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Automated Discovery of Faults and Fault Domains using Random Testing Mian Asbat Ahmad 24-01-2013

  2. Why random testing? • Exhausting testing not possible. • Infinite values from 0 and 1. • Compatibility across multiple systems. • Limited Time and Resources • Simple algorithm for data selection • Easy implementation • Free from human bias • Quick and effective in finding faults • Code Privacy • Source code not required for Testing

  3. Random Testing • Black-box testing technique • Dynamic testing process • Input Domain • Random Selection • Test Input • Test modules • Test Execution • Test Evaluation • Specifications • Language exceptions • Test Output

  4. Automated Random Testing • Automating the process of random testing that include reading specifications, test data generation, test execution, result analysis and identification of the faulty tests. • Examples of Automated Random testing tools are YETI, JCrasher, JUnit, Haskel etc…

  5. Fault Domains • Fault lies in Domains [Chan et al] • Input Domain • Fault Domain • Point Fault Domain • Block Fault Domain • Strip Fault Domain

  6. Enhancement in Random Testing • Test Strategy? • Need of test strategy variations? • High No of Faults • Less time • Low resources • Famous Variations in Random Strategy • ART • MART • RRT • FD-ART • R+ • QRT • …

  7. Dirt Spot Sweeping Random Strategy • Combination of strategies • Random • Input and module selection at random • Random Plus • Random testing with border values • Spot Sweeping • Move around it when fault found

  8. Working of DSSR • Start with R and R+ • Switch to DSSR, when Fault found • After Evaluating block/strip, switch back to R and R+

  9. Evaluation of DSSR • 60 classes selected from 32 different projects • In 43 classes all the strategies found same number of faults • In 17 classes strategies performed different than one another • DSSR found the highest number of faults • No strategy performed better than DSSR

  10. Test Results of 17 classes • DSSR performed better than R and R+ • DSSR up to 33% better than R • DSSR up to 17% better than R+

  11. Example of DSSR • Implementation

  12. What is ADFD • Implementation

  13. Searching for Fault Patterns

  14. Working of ADFD

  15. Graphs Generated by ADFD

  16. Daikon etc invariants border values…

More Related