Et si on maîtrisait vraiment notre produit

1,307 views
1,229 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,307
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 34
  • 35
  • Et si on maîtrisait vraiment notre produit

    1. 1. Et si on maîtrisait vraiment notre produit Sébastien FAUVEL Orange Applications for Business Juin 2014, Agile Nantes
    2. 2. 2 Orange Applications for BusinessEt si on maîtrisait vraiment notre produit Sébastien Fauvel OAB, à Nantes Architecte agile Vers une nouvelle manière de faire du logiciel @sebfauvel
    3. 3. 3 Orange Applications for BusinessEt si on maîtrisait vraiment notre produit En route pour le voyage
    4. 4. 4 Orange Applications for BusinessEt si on maîtrisait vraiment notre produit Etat des lieux
    5. 5. 5 Orange Applications for BusinessEt si on maîtrisait vraiment notre produit Tester mon application
    6. 6. 6 Orange Applications for BusinessEt si on maîtrisait vraiment notre produit Gestion des campagnes de tests
    7. 7. 7 Orange Applications for BusinessEt si on maîtrisait vraiment notre produit Le graal
    8. 8. 8 Orange Applications for BusinessEt si on maîtrisait vraiment notre produit Des spécifications compréhensibles L'association paie l'apéro pour le repas du mercredi soir et le repas du jeudi soir. L’apéro: 5€ / pers. Mercredi: 10 pers. Le repas: 20€ / pers. Jeudi: 15 pers. Coût de l’opération ? A - 125 € B - 275€ C - 350 € D - 500 €
    9. 9. 9 Orange Applications for Business Que reste-t-il à la fin ? Et si on maîtrisait vraiment notre produit
    10. 10. 10 Orange Applications for Business Combien de temps cela prend-il ? Et si on maîtrisait vraiment notre produit
    11. 11. 11 Orange Applications for Business L’automatisation Et si on maîtrisait vraiment notre produit
    12. 12. 12 Orange Applications for Business Dialogue avec le système HTML Selenium, Watir, Sahi WebService SoapUi, XMLUnit Android, IOS Monkey Talk, Eggplant Java Java Et si on maîtrisait vraiment notre produit
    13. 13. 13 Orange Applications for Business Ecriture du test par une personne Java Code basique FestAssert, assertJ Code plus lisible Fitness Wiki JBehave, Cucumber Langage naturel Et si on maîtrisait vraiment notre produit
    14. 14. 14 Orange Applications for Business Ecriture du test par une personne Code basique / JUnit Code plus lisible Fluent interface Wiki / Fitness Langage naturel / JBehave PanierTest Ajouter un article coutant 10 Ajouter un article coutant 15 Vérifier le prix est 24 |PanierTest| |Ajouter un article|coutant|10| |Ajouter un article|coutant|15| |Vérifier|le prix est|24| @Test public void reductionPourDeuxProduits() { Panier panier = new Panier() ; panier.add(new Article(10)) ; panier.add(new Article(15)) ; assertEquals(24, panier.montant()) ; } Scénario : Réduction de 10% sur le moins chère des 2. Lorsque que j’achète 1 article à 10 euros Et un article à 15 euros Le prix final est de 24 euros @Test public void en_achetant_2_produits_le_moins_chere_a_10% _de_reduction() { panier = un_panier() .avec(un_article_coutant(10)) .et_avec(un_article_coutant(15)) ; alors().le(panier.montant()).est(24) } Et si on maîtrisait vraiment notre produit
    15. 15. 15 Orange Applications for BusinessEt si on maîtrisait vraiment notre produit Automatisation des tests d’IHM
    16. 16. 16 Orange Applications for BusinessEt si on maîtrisait vraiment notre produit Selenium IDE
    17. 17. 17 Orange Applications for BusinessEt si on maîtrisait vraiment notre produit Selenium Java @Test public void testIhm() throws Exception { WebDriver driver = new HtmlUnitDriver(); driver.get("http://www.google.com"); WebElement element = driver.findElement(By.name("q")); element.sendKeys("Cheese"); element.submit(); // Check the title of the page assertTrue(driver.getPageSource() .contains("Camembert"); driver.quit(); }
    18. 18. 18 Orange Applications for BusinessEt si on maîtrisait vraiment notre produit Selenium Java private final String URL_GOOGLE = "http://www.google.com"; @Test public void testIhm() throws Exception { allerSurLaPage(URL_GOOGLE); chercher("Cheese"); verifierQueLaPageContient("Camembert"); } public void chercher(String texteAChercher) throws Exception { WebElement element = driver.findElement(By.name("q")); element.sendKeys(texteAChercher); element.submit(); } public void verifierQueLaPageContient(String texteAChercher) throws Exception { assertTrue(driver.getPageSource().contains(texteAChercher)); }
    19. 19. 19 Orange Applications for BusinessEt si on maîtrisait vraiment notre produit Boîte noire
    20. 20. 20 Orange Applications for Business Ouvrir la boîte Et si on maîtrisait vraiment notre produit
    21. 21. 21 Orange Applications for Business Ouvrir la boîte Et si on maîtrisait vraiment notre produit
    22. 22. 22 Orange Applications for Business Ouvrir la boîte Et si on maîtrisait vraiment notre produit
    23. 23. 23 Orange Applications for Business A quoi ressemblent nos briques ? Et si on maîtrisait vraiment notre produit
    24. 24. 24 Orange Applications for BusinessEt si on maîtrisait vraiment notre produit A quoi ressemblent nos briques ? /** * Méthode format. Supprime les sauts de lignes et les points virgules. * @param chaine la chaîne en entrée * @return la chaîne nettoyée. */ public static String format(String chaine) { String retour = chaine; retour = retour.replace("n", ""); retour = retour.replace(";", ""); return chaine; } Procédure: corriger le document on me donne un original je fais une photocopie je corrige sur la photocopie je redonne l’original et je jette la photocopie
    25. 25. 25 Orange Applications for Business Grain de sable Et si on maîtrisait vraiment notre produit
    26. 26. 26 Orange Applications for Business Et si ma recette copiait mes développeurs ?  Votre avis ?  Mon équipe de test analyse les documents  Elle vérifie que ça marche comme spécifié  Elle ne documente pas comment elle a fait  Elle indique juste à la fin si c’est ok ou pas Et si on maîtrisait vraiment notre produit
    27. 27. 27 Orange Applications for Business Test first et TDD Et si on maîtrisait vraiment notre produit
    28. 28. 28 Orange Applications for Business Et le code… Et si on maîtrisait vraiment notre produit
    29. 29. 29 Orange Applications for Business Rapport Sonar Et si on maîtrisait vraiment notre produit
    30. 30. 30 Orange Applications for Business Industrialisation Et si on maîtrisait vraiment notre produit
    31. 31. 31 Orange Applications for Business Quelle stratégie ? Et si on maîtrisait vraiment notre produit
    32. 32. 32 Orange Applications for Business Il y a des hommes derrière tout ça Et si on maîtrisait vraiment notre produit
    33. 33. 33 Orange Applications for Business Echantillon d’outils dans le monde Java Ecriture de tests Moteur  JUnit  Test NG Mock  Mockito  EasyMock Lisibilité  FestAssert  AssertJ  Hamcrest Ecriture orientée métier BDD  Jbehave  Cucumber ATDD  Fitness  Green Peper Lien avec l’extérieur Base de données  DBUnit Web Service  SoapUi IHM Web  Selenium XML  XmlUnit Outillage Exécution  Infinitest  Maven  Jenkins Couverture de code  Cobertura  Emma  Sonar Et si on maîtrisait vraiment notre produit
    34. 34. 34 Orange Applications for Business Question ? Et si on maîtrisait vraiment notre produit
    35. 35. 35 Orange Applications for BusinessTour d’horizon des techniques et des outils de test Merci

    ×