Is it hard for your team to release often? Does your plan include a few weeks of system testing before each release? Does releasing to production make people nervous? You're not alone. Most teams have these problems, even though agile has been around for a long time now. The reason is most teams don't have the key thing to move really fast without crashing - fully automated acceptance tests. This session will explore why having automated acceptance tests is such a game changer, what mindset you need to make good ones, how they provide safety and how you get started. We will also debunk the widespread, die-hard myth that creating and maintaining automated acceptance tests is hard and expensive. In fact, the opposite is true. Crafted in certain ways, they are neither hard, nor expensive to create, especially compared to the alternatives, and they even get cheaper and cheaper to create over time. They are not affected by refactorings, and (not the least) they provide a level of safety that neither unit tests, nor manual tests, can provide - safety you need to move really fast. The session covers both technology and process. The technologies shown are available for all the major and most of the minor platforms and languages, and examples will be shown in several different languages.
Niclas is a playing coach, educator and writer with a deep passion for the software development craft. He started working as a developer in 1992 and drawn from experience, he knows that some choices make a significant difference in software development, like languages, tools and processes. He’s a productivity junkie, which is the reason behind his affection for things like test- and behaviour-driven development, pair-programming and all sorts of automation.