When one uses Test-Driven Development, has more then 90% test coverage and the best Sonar metrics ever seen, and still finds regular bugs in his application, it is time for something more. Unit Testing is like testing a car's every nuts and bolts while Integration Testing is like leading it on a test drive: one cannot achieve high internal quality without the other. However, Integration Testing might seem very complex when put in place for the first several times; I have made many mistakes and have lost much time. In this presentation, I will present tools that helped me tremendously in Integration Testing, as well as proven tactics to get the best out of your tests.
Years after Kent Beck provided JUnit, unit testing is part of most developer teams tooling. However, there's a trend that tends to threaten unit testing, claiming only integration testing can truly detects defects in software. In this talk, we will first define what unit testing and integration testing are, and their respective pros, cons and uses. Then, we will have a look at the unique challenges posed by integration testing. Finally, tools and techniques will be presented to somewhat remedy to that so that integration testing becomes a true asset in each software developer bag of tricks.
Today is all about those fancy client frameworks and stuff. However, this means that you and your team have as many front-end skills as back-end skills, or that there are two different teams that need to integrate their code together. The first case is rare, the second costly. Come discover Vaadin, the no-fluff just-stuff Java web framework. You code only in Java, compile to bytecode and thus can integrate easily with Spring, CDI, JDBC, JPA, ... Plus you get true Object Oriented Programming, Singe-Page paradigm, an Event-Driven abstraction over the HTTP request response model, Server Push and much much more. If you don't know about Vaadin, now is the time!