John Hughes presents automated techniques that can improve testing, focusing on what the code should do rather than which cases should be tested, with war stories from Ericsson, Volvo Cars, and Basho.
In this talk Alan Blount gives a quick overview of the main categories of testing and how they may apply to various web application projects.
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.