This course focuses on test automation, including automated acceptance testing and behavior driven development (BDD). Test automation came into its own in 1998 with the invention of jUnit, the Java-based automated unit testing framework that became a centerpiece of eXtreme Programming. BDD is a new, exciting approach to developing software that leverages and extends test automation, and which has been shown to reduce rework and increase customer satisfaction. While other testing tools focus primarily on “are we building the thing right?”, BDD tools attack the problem of software directly at its source: “are we building the right thing?” In this way, we can measure both test coverage and functional coverage. By retaining all the benefits of automated unit testing, while extending them upstream to cover requirements, we cut the Gordian knot of risk and complexity to unleash hyper-productivity.