David Gageot
The more the tests, the longer the build. And when the build gets longer, the bugs take longer to fix, the features take longer to deploy. Every build should be minutes long, all tests included.
Now lets say, our test suite takes much longer than that. How to reduce its duration? Where to start?
Making tests become useless, converting functional tests to unit tests, running tests in parallel, building projects in parallel, doing slow tasks only once, writing fast DBMS tests... Let's share dozens of tips to fasten you test suite A LOT.
2. Agilité iPhone Java Incubateur
8:15 Accueil des participantsAccueil des participantsAccueil des participantsAccueil des participants
8:40 Mot des organisateurs & Criée des orateursMot des organisateurs & Criée des orateursMot des organisateurs & Criée des orateursMot des organisateurs & Criée des orateurs
9:00 Keynote de Nicolas Martignole (30 minutes)Keynote de Nicolas Martignole (30 minutes)Keynote de Nicolas Martignole (30 minutes)Keynote de Nicolas Martignole (30 minutes)
9:40
10:40
- A1 -
Le terrain Agile
Jean-Philippe Vigniel
- I1-
Hello iPhone
Stephane Tavera
- J1 -
NOSQL also means RDF stores: an
Android case study
Fabrizio Giudci
- X1 -
Le développement durable
Dominic Williams
11:00
12:00
- A2 -
Integration of User Centered Design
in Agile Development of RIA
J. Borkenhagen, J. Desmazières
- I2 -
Développement d'une application
iPhone pilotée par les tests
Emmanuel Etasse, Van-Charles Tran
- J2 -
La Tequila du développement Web
Nicolas Martignole
- X2 -
Cloud Computing: anatomie et
pratique
Marc-Elian Bégin
12:20
13:20
- A3 -
Adoption de l'Agilité par les usages
Xavier Warzee
- I3 -
Distribution d'applications iPhone
en Entreprise: Réalisation d'un
AppStore interne
Géraud de Laval
- J3 -
Vaadin - Rich Web Applications in
Server-side Java without Plug-ins or
JavaScript
Joonas Lehtinen
- X3 -
Les DVCS sont vos amis
Sébastien Douche
Pause repas (50 minutes)Pause repas (50 minutes)Pause repas (50 minutes)Pause repas (50 minutes)
14h10 Keynote de Regis Medina (30 minutes)Keynote de Regis Medina (30 minutes)Keynote de Regis Medina (30 minutes)Keynote de Regis Medina (30 minutes)
14h50
15h50
- A4 -
Scrum, introduction et mise en
oeuvre avec iceScrum
Claude Aubry
- I4 -
Agile iOS Development
Jérôme Layat, Alexander Osterwalder
- J4 -
JAX-RS and Java EE 6
Paul Sandoz
- X4 -
IT Design & Ergonomy
Pascal Petit, Aude Lussigny
16h10
17h10
- A5 -
Agilité : 10 ans déjà
Thierry Cros
- I5 -
Optimizing iOS applications
Marc-Antoine Scheurer
- J5 -
Ecrivez et automatisez vos tests
fonctionnels avec jBehave
Xavier Bourguignon
- X5 -
NoSQL : Enfin de la biodiversité
dans l'écosystème des BD
Olivier Mallassi
17h30
18h30
- A6 -
Lean engineering
Jean-Christophe Dubail
- I6 -
iPhone et Agile, l'amour vache
Guillaume Duquesnay
- J6 -
Let's make this test suite run faster
David Gageot
- X6 -
The feel of Scala
Mario Fusco
Mot de la fin & tombolaMot de la fin & tombolaMot de la fin & tombolaMot de la fin & tombola
Programme de la Conférence
www.soft-shake.ch
28. Don’t test business rules in integration tests
Unit tests is often a better place
http://upload.wikimedia.org/wikipedia/commons/b/bd/
Contortionist_Ravi_standing.jpg
29. Don’t test business rules in integration tests
Unit tests is often a better place
Functional test
(on a web page)
10s
Unit test
0.01s
30. Take the longer integration test
Break it in one faster integration test
and a lot of small unit tests
http://farm2.static.flickr.com/1168/3166709586_96f9a3fd95.jpg
31. Or mock the slowest layers
eg. functional test with Spring and Mockito
32. Or mock the slowest layers
eg. functional test with Spring and Mockito
Mocks are
not just for
unit tests
33. Don’t test through the browser
Selenium is often overkill
Photo: http://www.flickr.com/photos/zoutedrop/2317065892/
«But my application is
complex!»
«My users want complex
features,
My users want Ajax»
«I need to test browser
compatibility!»
35. Complexity has a cost
That you pay each time a test runs
http://thehongkongfixereng.files.wordpress.com/2008/07/couteau-suisse.jpg
36. Test through the browser the strict minimal
Use javascript unit tests for the rest
http://farm2.static.flickr.com/1168/3166709586_96f9a3fd95.jpg
37. I tend to be old school
And write server-side code most of the time
http://www.celebridiot.com/wp-content/uploads/2009/06/
rick_astley_death_hoax.jpg