Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Refactoring avec 1,22% de 
code couvert par les tests … 
Golden Master Testing 
à la rescousse ! 
Human Talks Nantes - 9 d...
/me 
Sébastien Prunier 
Développeur chez SERLI 
@sebprunier 
http://blog.sebprunier.com
WTF ? 
+ de 10000 lignes de code à refactorer 
Très peu de tests unitaires 
Seulement 1,22% de code couvert
Programme
Comment faire ? (1/2) 
“Tester c’est douter” 
Go go go ! Pas le temps d’écrire des tests !
Comment faire ? (2/2) 
Tests Unitaires + Mocks 
Base embarquée HSQLDB
Une solution 
Golden Master Testing 
Déterminer le comportement du programme 
Exécuter avec un large jeu de données 
Stock...
Jeu de données 
Cool, il y a des recettes en cours !
Le test
Assertions (1/3) 
Guava 
TreeTraverser<File>
Assertions (2/3) 
AssertJ 
assertThat(refactoredFile).hasContentEqualTo(masterFile)
Assertions (3/3) 
for (File masterFile : 
Files.fileTreeTraverser().preOrderTraversal(masterOutput)) { 
File refactoredFil...
Conclusion 
Approche simple et efficace 
Golden Master Test → couverture > 85%
The end 
Merci ! 
Questions ?
Liens 
● http://blog.sebprunier.com/code/testing/golden-master-testing-refactoring/ 
● https://github.com/google/guava 
● ...
Upcoming SlideShare
Loading in …5
×

1

Share

Download to read offline

Refactoring avec 1,22% de code couvert par les tests ... Golden Master testing à la rescousse !

Download to read offline

Plus de 10000 lignes de code à refactorer, très peu de tests unitaires, seulement 1,22% de code couvert par les tests.
Comment faire pour se lancer sereinement dans le refactoring ?
Voici une solution possible à l'aide de la technique du Golden Master Test

Related Books

Free with a 30 day trial from Scribd

See all

Refactoring avec 1,22% de code couvert par les tests ... Golden Master testing à la rescousse !

  1. 1. Refactoring avec 1,22% de code couvert par les tests … Golden Master Testing à la rescousse ! Human Talks Nantes - 9 décembre 2014 @sebprunier
  2. 2. /me Sébastien Prunier Développeur chez SERLI @sebprunier http://blog.sebprunier.com
  3. 3. WTF ? + de 10000 lignes de code à refactorer Très peu de tests unitaires Seulement 1,22% de code couvert
  4. 4. Programme
  5. 5. Comment faire ? (1/2) “Tester c’est douter” Go go go ! Pas le temps d’écrire des tests !
  6. 6. Comment faire ? (2/2) Tests Unitaires + Mocks Base embarquée HSQLDB
  7. 7. Une solution Golden Master Testing Déterminer le comportement du programme Exécuter avec un large jeu de données Stocker les résultats → Gloden Master Refactorer, exécuter et comparer au master
  8. 8. Jeu de données Cool, il y a des recettes en cours !
  9. 9. Le test
  10. 10. Assertions (1/3) Guava TreeTraverser<File>
  11. 11. Assertions (2/3) AssertJ assertThat(refactoredFile).hasContentEqualTo(masterFile)
  12. 12. Assertions (3/3) for (File masterFile : Files.fileTreeTraverser().preOrderTraversal(masterOutput)) { File refactoredFile = new File( masterFile.getPath().replace( masterOutputPath, refactoredOutputPath ) ); assertThat(refactoredFile).exists(); if (masterFile.isFile()) { assertThat(refactoredFile).hasContentEqualTo(masterFile); } }
  13. 13. Conclusion Approche simple et efficace Golden Master Test → couverture > 85%
  14. 14. The end Merci ! Questions ?
  15. 15. Liens ● http://blog.sebprunier.com/code/testing/golden-master-testing-refactoring/ ● https://github.com/google/guava ● http://joel-costigliola.github.io/assertj/ ● https://plus.google.com/+TheSimpsons
  • johan.moreau

    Dec. 19, 2014

Plus de 10000 lignes de code à refactorer, très peu de tests unitaires, seulement 1,22% de code couvert par les tests. Comment faire pour se lancer sereinement dans le refactoring ? Voici une solution possible à l'aide de la technique du Golden Master Test

Views

Total views

1,387

On Slideshare

0

From embeds

0

Number of embeds

385

Actions

Downloads

4

Shares

0

Comments

0

Likes

1

×