confoo 2012 kata
DESCRIPTION
Session donnée à Confoo 2012. Reprise de la session au JUG de Septembre 2011.Automatiser les tests à tous les niveaux est essentiel au développement itératif et incrémental. Néanmoins, C'est plus facile à dire qu'à faire. La plupart des IDEs modernes permettent de se lancer rapidement dans les test unitaires mais il faut souvent retrousser nos manches pour automatiser les tests d'intégration ou les tests systèmes (lire: de bout en bout). Cette session, sous forme de Kata, présente comment piloter le développement d'une application par les tests clients automatisés (tests d'acceptance et tests systèmes). Pendant la session, les présentateurs enrichiront une application existante pour démontrer comment tirer profit des différents types de tests pour produire du code de qualité. La démonstration sera suivie d'une présentation sur les concepts abordés ainsi qu'une session de questions/réponses.TRANSCRIPT
Automatiser les tests à tous les niveaux
Vincent Tencé@testinfected
http://noncomplexstuff.comhttps://github.com/testinfected
Friday, 2 March, 12
Vincent Tencé - Confoo - 2 mars 2012
D’abord le scénario
Pers
isten
ce
Time
User
Int
erfa
ce
PaymentShipment
Test
Friday, 2 March, 12
Vincent Tencé - Confoo - 2 mars 2012
Puis le domaine
Pers
isten
ce
Time
User
Int
erfa
ce
PaymentShipment
Test
Friday, 2 March, 12
Vincent Tencé - Confoo - 2 mars 2012
Les tests nous guident
Pers
isten
ce
Time
User
Int
erfa
ce
PaymentShipment
Friday, 2 March, 12
Vincent Tencé - Confoo - 2 mars 2012
Ensuite les données
Pers
isten
ce
Time
User
Int
erfa
ce
PaymentShipment
Test
Friday, 2 March, 12
Vincent Tencé - Confoo - 2 mars 2012
Enfin la vue
Pers
isten
ce
Time
User
Int
erfa
ce
PaymentShipment
Test
Friday, 2 March, 12
Vincent Tencé - Confoo - 2 mars 2012
Au final
Pers
isten
ce
Time
User
Int
erfa
ce
PaymentShipment
Test
Friday, 2 March, 12
Vincent Tencé - Confoo - 2 mars 2012
La stratégie
Friday, 2 March, 12
Vincent Tencé - Confoo - 2 mars 2012
System
La stratégie
Friday, 2 March, 12
Vincent Tencé - Confoo - 2 mars 2012
Acceptance
System
La stratégie
Friday, 2 March, 12
Vincent Tencé - Confoo - 2 mars 2012
Acceptance
System
La stratégie
Cus
tom
ers T
ests
Friday, 2 March, 12
Vincent Tencé - Confoo - 2 mars 2012
Integration
Acceptance
System
La stratégie
Cus
tom
ers T
ests
Friday, 2 March, 12
Vincent Tencé - Confoo - 2 mars 2012
Unit
Integration
Acceptance
System
La stratégie
Cus
tom
ers T
ests
Friday, 2 March, 12
Vincent Tencé - Confoo - 2 mars 2012
Unit
Integration
Acceptance
System
La stratégie
Cus
tom
ers T
ests
Developers Tests
Friday, 2 March, 12
Friday, 2 March, 12
Écrire un test qui échoue
Friday, 2 March, 12
Écrire un test qui échoue
Améliorer le message d’erreur
Friday, 2 March, 12
Écrire un test qui échoue
Améliorer le message d’erreur
Faire passer le test
Friday, 2 March, 12
Écrire un test qui échoue
Améliorer le message d’erreur
Faire passer le test
Refactoriser
Friday, 2 March, 12
Écrire un test qui échoue
Améliorer le message d’erreur
Faire passer le test
Refactoriser
Friday, 2 March, 12
Friday, 2 March, 12
Écrire un test d’acceptance qui échoue
Friday, 2 March, 12
Écrire un test unitaire qui échoue
Améliorer le message d’erreur
Faire passer le test
Refactoriser
Écrire un test d’acceptance qui échoue
Friday, 2 March, 12
Écrire un test unitaire qui échoue
Améliorer le message d’erreur
Faire passer le test
Refactoriser
Écrire un test d’acceptance qui échoue
Friday, 2 March, 12
Vincent Tencé - Confoo - 2 mars 2012
Un réseau d’objets
Friday, 2 March, 12
Vincent Tencé - Confoo - 2 mars 2012
Un réseau d’objets
Friday, 2 March, 12
Vincent Tencé - Confoo - 2 mars 2012
Un réseau d’objets
Friday, 2 March, 12
Vincent Tencé - Confoo - 2 mars 2012
Un réseau d’objets
Friday, 2 March, 12
Vincent Tencé - Confoo - 2 mars 2012
Un réseau d’objets
Friday, 2 March, 12
Vincent Tencé - Confoo - 2 mars 2012
Tester en isolation
A
Friday, 2 March, 12
Vincent Tencé - Confoo - 2 mars 2012
Tester en isolation
ATest
Friday, 2 March, 12
Vincent Tencé - Confoo - 2 mars 2012
Tester en isolation
ATest S
Friday, 2 March, 12
Vincent Tencé - Confoo - 2 mars 2012
Tester en isolation
mock S
SATest
Friday, 2 March, 12
Vincent Tencé - Confoo - 2 mars 2012
Mock Objects
• Reproduisent le comportement d’objets réels de manière controllée
• L’accent est mis sur l’interaction entre les objets
Friday, 2 March, 12
Vincent Tencé - Confoo - 2 mars 2012
Ports and Adapters
API
Friday, 2 March, 12
Vincent Tencé - Confoo - 2 mars 2012
Ports and Adapters
API
Friday, 2 March, 12
Vincent Tencé - Confoo - 2 mars 2012
Ports and Adapters
API
Pers
isten
ce
Time
User
Int
erfa
ce
Friday, 2 March, 12
Vincent Tencé - Confoo - 2 mars 2012
Ports and Adapters
API
Pers
isten
ce
Time
User
Int
erfa
ce
adapte
r
Friday, 2 March, 12
Vincent Tencé - Confoo - 2 mars 2012
En apprendre plus
http://pyxis-tech.com/fr/notre-offre/formation-agile/professional-scrum-developer-java
5 jours 3 jours
ou
Friday, 2 March, 12
Bons tests !
TDDAll CODE IS GUILTY
UNTIL PROVEN INNOCENT
Friday, 2 March, 12