Automated functional tests have traditionally been a sore point in software development because they can be very effective in catching bugs, yet typically run very slow compared to pure unit tests. A solid set of functional tests is essential to achieving Continuous Delivery and these tests must provide fast and reliable feedback in order not to block the delivery pipeline. Running functional tests in parallel is the answer, but maintaining hundreds of servers in the data center for the purpose of testing has traditionally only been affordable by very few software shops. Today, on-demand public clouds, allow this technique to be utilized at a fraction of the cost -- making it widely accessible. In this talk, we will examine how to design functional tests for the greatest ROI and testing impact, including selective, parameterized, exploratory, pseudo-random, and concurrent testing. We will include a live demonstration of tests running on Amazon AWS cloud using the Koality (koalitycode.com ) test parallelization service.
David Vydra is the Principal Consultant and Coach at testdriven.com He specializes in designing test strategies for maximum ROI, and provides hands-on coaching to development and QA on using modern techniques such as Test-driven Development, Behavior-driven Development and Exploratory Testing.