Thursday, May 28, 2015

Machine learning in software testing

Machine learning in software testing

Published in: EngineeringSoftwareTechnology

Transcript

  • 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