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!
Web Development requires many front-end skills: in the best case, it is an underpaid job, and in the worst, it is left to interns. Vaadin is a Java framework requiring only Java skills. It also offers many features: true Object-Oriented Programming (inheritance and composition), an abstraction over Web request/response with Event-Driven Programming, data binding and server push. Even better, Vaadin compiles to bytecode and if necessary, is extensible on the client-side. In this presentation I will demo those features to give a taste of how easy it is to develop with Vaadin.
Given most of our profession comes from a computer scientist background, it is expected that we use a scientific and verifiable approach in decision taking processes. Unfortunately, nothing could be further from the truth. Our environment is ridden with irrational convictions that come from out of nowhere. Those are of two different kinds: memes are “ideas, behaviors, or styles that spreads from person to person within our culture” while cargo culting is the “ritual inclusion of code or program structures that serve no real purpose”. Both are deeply entrenched in our community. This talk will try to challenge some of those common ideas by highlighting the most pervasive ones.