This document provides an overview of machine learning application testing. It discusses common mistakes in data science like cherry picking and false causality. It describes different types of machine learning tasks like supervised classification and unsupervised clustering. The document outlines how to test various parts of a machine learning application including the data, model, and different phases. It provides examples of testing the boundaries, detecting outliers, and using generative adversarial networks. Finally, it discusses the role of a QA engineer in gathering data to validate a system works for non-standard situations and does not cause harm.