Roy van Rijn explains what mutation testing is and how it works, comparing several Java frameworks (PIT, Jester, Jumble) that enable automatic mutation testing in a continuous build.
Kevlin Henney discusses unscalable tests, tricks and tips that make tests more specification-like and scalable to large codebases, and choosing between scenario-based and property-based test cases.
Ben Christensen discusses the mental shift from imperative to declarative programming, working with blocking IO such as JDBC and RPC, service composition, debugging and unit testing.
Nicolas Frankel discusses the pros and cons of unit testing and integration testing, and looks at the unique challenges posed by integration testing, presenting tools and techniques to deal with them.
Reid Draper shows how real world distributed database work, communicate and are tested, trading RPC for messaging, unit-tests for QuickCheck, and micro-benchmarks for multi-week stress tests.
Sven Rosvall discusses the new generation of mocking frameworks useful for mocking out static methods, creating objects of classes without public constructors, and others.
Gerard Meszaros advises on using the right abstraction level and automation tools when creating unit or system-level tests.
Emma Armstrong shows how to use Selenium and NUnit to automate web testing for C# applications. The sessions is useful to developers of other languages that Selenium supports – Java, Python, Ruby.
Máté Nádasdi presents how Ustream uses unit testing and continuous integration for the front-end to ensure the website’s stability and growth.