This document discusses how machine learning can be applied to various activities in software testing. It describes how machine learning works using training and test data to make predictions. Supervised and unsupervised learning techniques are discussed. Specific applications mentioned include software defect prediction, test planning, test case management, debugging, and refining blackbox test specifications. Challenges include availability of past data and finding predictable patterns, while potential steps forward include expanding machine learning to more blackbox techniques, identifying the right patterns for different test activities, algorithm analysis, and crowdsourcing.