Machine learning in software testing
Machine learning in software testing
- 1. MACHINE LEARNING IN SOFTWARE TESTING Mithun Kumar S R
- 2. IDENTIFY THE MOVIE a machine can actually learn if we communicate with it
- 3. MACHINE LEARNING Machine Learning is the study of computer algorithms that improve automatically through experience - Tom Mitchell
- 4. Traditional Programming Computer Data Program Output Computer Data Machine Learning Output Program
- 5. HOW THIS WORKS Training Data Test Data Learning Machine Analyzed data for prediction
- 6. SOFTWARE TEST LIFE CYCLE Pre-execution • Test planning • Code Review • Test case management Execution • Automated run • Defect analysis Post- execution • Debugging • Regression suite update
- 7. SOFTWARE TESTING Critical task in Software development process Overspend in time and resources Automation limited to test execution
- 8. SUPERVISED LEARNING http://www.astroml.org/sklearn_tutorial/general_concepts.html
- 9. UNSUPERVISED LEARNING http://www.astroml.org/sklearn_tutorial/general_concepts.html
- 10. SOFTWARE TEST LIFE CYCLE Pre-execution • Test planning • Code Review • Test case management Execution • Automated run • Defect analysis Post- execution • Debugging • Regression suite update
- 11. SOFTWARE TEST ACTIVITIES AND ML Software defect prediction Test Planning Test case management Debugging
- 12. BAYESIAN ALGORITHM FOR SOFTWARE DEFECT PREDICTION
- 13. CLASSIFICATION https://alliance.seas.upenn.edu/~cis520/wiki/index.php?n=Lectures.Classification
- 14. NAÏVE BAYES ALGO Branch Count LOC Defective 5 15 No 3 5 No 9 20 No 15 40 Yes 16 35 Yes Branch Count = 16 LOC = 39 C = No -> 0.000000912 C = Yes -> 0.0181 Leandru Minku: Automated Software Defect Prediction Using Machine Learning
- 15. LINEAR REGRESSION – DEFECT DENSITY http://openclassroom.stanford.edu/MainFolder/DocumentPage.php?course=MachineLearning&doc=exercises/ex2/ex2.html LOC DefectDensity
- 16. TEST PLANNING Database formation Data collection Classification of software Analyzing the results Test Cost prediction Thomas J. Cheatham, Jungsoon P. Yoo, and Nancy J. Wahl. Software testing: a machine learning experiment. Complexity Cost
- 17. MELBA – MACHINE LEARNING BASED REFINEMENT OF BLACKBOX TEST SPECIFICATION Lionel C. Briand. Novel applications of machine learning in software testing. Quality Software, International Conference on, 0:3–10, 2008.
- 18. AREAS OF APPLICATION Machine Learning-based Software Testing: Towards a Classification Framework Mahdi Noorian1, Ebrahim Bagheri1,2, and Wheichang Du1
- 19. CHALLENGES Past data availability Predictable pattern
- 20. STEPS FORWARD Black Box techniques Finding the right patterns Algorithm analysis for different types of test activity Crowdsourcing
- 21. DO CONNECT @ MithunKumar.SR@Gmail.Com