SlideShare une entreprise Scribd logo
1  sur  35
Et si on maîtrisait vraiment
notre produit
Sébastien FAUVEL
Orange Applications for Business
Juin 2014, Agile Nantes
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 Orange Applications for BusinessEt si on maîtrisait vraiment notre produit
En route pour le voyage
4 Orange Applications for BusinessEt si on maîtrisait vraiment notre produit
Etat des lieux
5 Orange Applications for BusinessEt si on maîtrisait vraiment notre produit
Tester mon application
6 Orange Applications for BusinessEt si on maîtrisait vraiment notre produit
Gestion des campagnes de tests
7 Orange Applications for BusinessEt si on maîtrisait vraiment notre produit
Le graal
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 Orange Applications for Business
Que reste-t-il à la fin ?
Et si on maîtrisait vraiment notre produit
10 Orange Applications for Business
Combien de temps cela prend-il ?
Et si on maîtrisait vraiment notre produit
11 Orange Applications for Business
L’automatisation
Et si on maîtrisait vraiment notre produit
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 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 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 Orange Applications for BusinessEt si on maîtrisait vraiment notre produit
Automatisation des tests d’IHM
16 Orange Applications for BusinessEt si on maîtrisait vraiment notre produit
Selenium IDE
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 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 Orange Applications for BusinessEt si on maîtrisait vraiment notre produit
Boîte noire
20 Orange Applications for Business
Ouvrir la boîte
Et si on maîtrisait vraiment notre produit
21 Orange Applications for Business
Ouvrir la boîte
Et si on maîtrisait vraiment notre produit
22 Orange Applications for Business
Ouvrir la boîte
Et si on maîtrisait vraiment notre produit
23 Orange Applications for Business
A quoi ressemblent nos briques ?
Et si on maîtrisait vraiment notre produit
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 Orange Applications for Business
Grain de sable
Et si on maîtrisait vraiment notre produit
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 Orange Applications for Business
Test first et TDD
Et si on maîtrisait vraiment notre produit
28 Orange Applications for Business
Et le code…
Et si on maîtrisait vraiment notre produit
29 Orange Applications for Business
Rapport Sonar
Et si on maîtrisait vraiment notre produit
30 Orange Applications for Business
Industrialisation
Et si on maîtrisait vraiment notre produit
31 Orange Applications for Business
Quelle stratégie ?
Et si on maîtrisait vraiment notre produit
32 Orange Applications for Business
Il y a des hommes derrière tout ça
Et si on maîtrisait vraiment notre produit
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 Orange Applications for Business
Question ?
Et si on maîtrisait vraiment notre produit
35 Orange Applications for BusinessTour d’horizon des techniques et des outils de test
Merci

Contenu connexe

En vedette

Règlement multiraces 2012
Règlement multiraces 2012Règlement multiraces 2012
Règlement multiraces 2012elyaneforet
 
Implementacion itil
Implementacion itilImplementacion itil
Implementacion itiljpchsh
 
Aprendizaje colaborativo-ventajas
Aprendizaje colaborativo-ventajasAprendizaje colaborativo-ventajas
Aprendizaje colaborativo-ventajascsilguero
 
Silabo asesoria
Silabo asesoriaSilabo asesoria
Silabo asesoriaedwar_174
 
Evitemos las emociones toxicas
Evitemos las emociones toxicasEvitemos las emociones toxicas
Evitemos las emociones toxicasLUZ M.
 
Truffaut et la nouvelle vague
Truffaut et la nouvelle vagueTruffaut et la nouvelle vague
Truffaut et la nouvelle vaguemaggica
 
Consultation société civile dans la caraïbe sur l Efficacité de l’aide
Consultation société civile dans la caraïbe sur l Efficacité de l’aideConsultation société civile dans la caraïbe sur l Efficacité de l’aide
Consultation société civile dans la caraïbe sur l Efficacité de l’aideTrocaireHaiti
 
Taller de recepción y entrega de la mercancía (21010102202)
Taller  de recepción y entrega de la mercancía (21010102202)Taller  de recepción y entrega de la mercancía (21010102202)
Taller de recepción y entrega de la mercancía (21010102202)Ingrid Barreto
 
materialparaprimariasobredivisiondefracciones
materialparaprimariasobredivisiondefraccionesmaterialparaprimariasobredivisiondefracciones
materialparaprimariasobredivisiondefracciones254nati
 
Quién es el espíritu santo
Quién es el espíritu santoQuién es el espíritu santo
Quién es el espíritu santoRita Patri
 
Cena de verano de ASPM
Cena de verano de ASPMCena de verano de ASPM
Cena de verano de ASPMASPM
 

En vedette (15)

Agnosia
AgnosiaAgnosia
Agnosia
 
Règlement multiraces 2012
Règlement multiraces 2012Règlement multiraces 2012
Règlement multiraces 2012
 
Implementacion itil
Implementacion itilImplementacion itil
Implementacion itil
 
Aprendizaje colaborativo-ventajas
Aprendizaje colaborativo-ventajasAprendizaje colaborativo-ventajas
Aprendizaje colaborativo-ventajas
 
Espejo
EspejoEspejo
Espejo
 
Silabo asesoria
Silabo asesoriaSilabo asesoria
Silabo asesoria
 
Evitemos las emociones toxicas
Evitemos las emociones toxicasEvitemos las emociones toxicas
Evitemos las emociones toxicas
 
Truffaut et la nouvelle vague
Truffaut et la nouvelle vagueTruffaut et la nouvelle vague
Truffaut et la nouvelle vague
 
Consultation société civile dans la caraïbe sur l Efficacité de l’aide
Consultation société civile dans la caraïbe sur l Efficacité de l’aideConsultation société civile dans la caraïbe sur l Efficacité de l’aide
Consultation société civile dans la caraïbe sur l Efficacité de l’aide
 
Taller de recepción y entrega de la mercancía (21010102202)
Taller  de recepción y entrega de la mercancía (21010102202)Taller  de recepción y entrega de la mercancía (21010102202)
Taller de recepción y entrega de la mercancía (21010102202)
 
Presentación1
Presentación1Presentación1
Presentación1
 
materialparaprimariasobredivisiondefracciones
materialparaprimariasobredivisiondefraccionesmaterialparaprimariasobredivisiondefracciones
materialparaprimariasobredivisiondefracciones
 
Manual
ManualManual
Manual
 
Quién es el espíritu santo
Quién es el espíritu santoQuién es el espíritu santo
Quién es el espíritu santo
 
Cena de verano de ASPM
Cena de verano de ASPMCena de verano de ASPM
Cena de verano de ASPM
 

Similaire à Et si on maîtrisait vraiment notre produit

Jeu gestion de projet
Jeu gestion de projetJeu gestion de projet
Jeu gestion de projetCIPE
 
Jeu gestion de projet
Jeu gestion de projetJeu gestion de projet
Jeu gestion de projetCIPE
 
De la culture projet à la culture produit V2
De la culture projet à la culture produit V2De la culture projet à la culture produit V2
De la culture projet à la culture produit V2Goood!
 
Jeu lean construction manufacturing
Jeu lean construction manufacturingJeu lean construction manufacturing
Jeu lean construction manufacturingNadia Gharbi
 
présentation de la société Link Software International
présentation de la société Link Software Internationalprésentation de la société Link Software International
présentation de la société Link Software InternationalLink Software International
 
Jeu lean construction manufacturing 2017
Jeu lean construction manufacturing 2017Jeu lean construction manufacturing 2017
Jeu lean construction manufacturing 2017Nadia Gharbi
 
Piloter sa performance commerciale
Piloter sa performance commercialePiloter sa performance commerciale
Piloter sa performance commercialeAlexandre Bouvard
 
jeu lean manufacturing
jeu lean manufacturingjeu lean manufacturing
jeu lean manufacturingCIPE
 
Jeu lean manufacturing
Jeu lean manufacturingJeu lean manufacturing
Jeu lean manufacturingNadia Gharbi
 

Similaire à Et si on maîtrisait vraiment notre produit (9)

Jeu gestion de projet
Jeu gestion de projetJeu gestion de projet
Jeu gestion de projet
 
Jeu gestion de projet
Jeu gestion de projetJeu gestion de projet
Jeu gestion de projet
 
De la culture projet à la culture produit V2
De la culture projet à la culture produit V2De la culture projet à la culture produit V2
De la culture projet à la culture produit V2
 
Jeu lean construction manufacturing
Jeu lean construction manufacturingJeu lean construction manufacturing
Jeu lean construction manufacturing
 
présentation de la société Link Software International
présentation de la société Link Software Internationalprésentation de la société Link Software International
présentation de la société Link Software International
 
Jeu lean construction manufacturing 2017
Jeu lean construction manufacturing 2017Jeu lean construction manufacturing 2017
Jeu lean construction manufacturing 2017
 
Piloter sa performance commerciale
Piloter sa performance commercialePiloter sa performance commerciale
Piloter sa performance commerciale
 
jeu lean manufacturing
jeu lean manufacturingjeu lean manufacturing
jeu lean manufacturing
 
Jeu lean manufacturing
Jeu lean manufacturingJeu lean manufacturing
Jeu lean manufacturing
 

Plus de Association Agile Nantes

Agile Tour Nantes 2014 - Comment impliquer vos clients dans leurs projets ?
Agile Tour Nantes 2014 - Comment impliquer vos clients dans leurs projets ?Agile Tour Nantes 2014 - Comment impliquer vos clients dans leurs projets ?
Agile Tour Nantes 2014 - Comment impliquer vos clients dans leurs projets ?Association Agile Nantes
 
Le projet Aristote / Steeve Evers & Marc Dugué
Le projet Aristote / Steeve Evers & Marc DuguéLe projet Aristote / Steeve Evers & Marc Dugué
Le projet Aristote / Steeve Evers & Marc DuguéAssociation Agile Nantes
 
Initiation à l'agilité - Agile Tour 2017
Initiation à l'agilité - Agile Tour 2017Initiation à l'agilité - Agile Tour 2017
Initiation à l'agilité - Agile Tour 2017Association Agile Nantes
 
Agile Tour Nantes 2014 - 10 ans d'agile, c'est chouette ! La rétro des points...
Agile Tour Nantes 2014 - 10 ans d'agile, c'est chouette ! La rétro des points...Agile Tour Nantes 2014 - 10 ans d'agile, c'est chouette ! La rétro des points...
Agile Tour Nantes 2014 - 10 ans d'agile, c'est chouette ! La rétro des points...Association Agile Nantes
 
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testableAgile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testableAssociation Agile Nantes
 
Agile Tour Nantes 2013 - L'EPOPEE DU CHEVALIER AGILE FILS DU ROI PRAGMATIQUE ...
Agile Tour Nantes 2013 - L'EPOPEE DU CHEVALIER AGILE FILS DU ROI PRAGMATIQUE ...Agile Tour Nantes 2013 - L'EPOPEE DU CHEVALIER AGILE FILS DU ROI PRAGMATIQUE ...
Agile Tour Nantes 2013 - L'EPOPEE DU CHEVALIER AGILE FILS DU ROI PRAGMATIQUE ...Association Agile Nantes
 
Agile Tour Nantes 2013 - Urbanisation des services : Pour changer le monde du...
Agile Tour Nantes 2013 - Urbanisation des services : Pour changer le monde du...Agile Tour Nantes 2013 - Urbanisation des services : Pour changer le monde du...
Agile Tour Nantes 2013 - Urbanisation des services : Pour changer le monde du...Association Agile Nantes
 
Agile Tour Nantes 2013 - Scrum ou kanban - Alexandre BOUTIN
Agile Tour Nantes 2013 - Scrum ou kanban - Alexandre BOUTINAgile Tour Nantes 2013 - Scrum ou kanban - Alexandre BOUTIN
Agile Tour Nantes 2013 - Scrum ou kanban - Alexandre BOUTINAssociation Agile Nantes
 
Agile Tour Nantes 2013 - Introduction aux méthodes agiles - Grégoire ROBIN - ...
Agile Tour Nantes 2013 - Introduction aux méthodes agiles - Grégoire ROBIN - ...Agile Tour Nantes 2013 - Introduction aux méthodes agiles - Grégoire ROBIN - ...
Agile Tour Nantes 2013 - Introduction aux méthodes agiles - Grégoire ROBIN - ...Association Agile Nantes
 
Agt nantes 2013 aurélien morvant - agiletour.comment.etre.agile.et.le.rester
Agt nantes 2013   aurélien morvant - agiletour.comment.etre.agile.et.le.resterAgt nantes 2013   aurélien morvant - agiletour.comment.etre.agile.et.le.rester
Agt nantes 2013 aurélien morvant - agiletour.comment.etre.agile.et.le.resterAssociation Agile Nantes
 
Agt nantes 2013 rémy génin - l'agilité peut changer le monde
Agt nantes 2013   rémy génin - l'agilité peut changer le mondeAgt nantes 2013   rémy génin - l'agilité peut changer le monde
Agt nantes 2013 rémy génin - l'agilité peut changer le mondeAssociation Agile Nantes
 
Patrons de conception de la programmation fonctionnelle
Patrons de conception de la programmation fonctionnellePatrons de conception de la programmation fonctionnelle
Patrons de conception de la programmation fonctionnelleAssociation Agile Nantes
 
Coching julien Sylvie Le Bail / Christophe Morin
Coching julien Sylvie Le Bail / Christophe MorinCoching julien Sylvie Le Bail / Christophe Morin
Coching julien Sylvie Le Bail / Christophe MorinAssociation Agile Nantes
 

Plus de Association Agile Nantes (20)

PI Planning-Vos échanges!.pdf
PI Planning-Vos échanges!.pdfPI Planning-Vos échanges!.pdf
PI Planning-Vos échanges!.pdf
 
Agile Tour Nantes 2014 - Comment impliquer vos clients dans leurs projets ?
Agile Tour Nantes 2014 - Comment impliquer vos clients dans leurs projets ?Agile Tour Nantes 2014 - Comment impliquer vos clients dans leurs projets ?
Agile Tour Nantes 2014 - Comment impliquer vos clients dans leurs projets ?
 
Le projet Aristote / Steeve Evers & Marc Dugué
Le projet Aristote / Steeve Evers & Marc DuguéLe projet Aristote / Steeve Evers & Marc Dugué
Le projet Aristote / Steeve Evers & Marc Dugué
 
Tous en scène - Arnaud Garnier
Tous en scène - Arnaud GarnierTous en scène - Arnaud Garnier
Tous en scène - Arnaud Garnier
 
Initiation à l'agilité - Agile Tour 2017
Initiation à l'agilité - Agile Tour 2017Initiation à l'agilité - Agile Tour 2017
Initiation à l'agilité - Agile Tour 2017
 
Agile nantes leanstartup_20160323
Agile nantes leanstartup_20160323Agile nantes leanstartup_20160323
Agile nantes leanstartup_20160323
 
Agile Tour Nantes 2014 - 10 ans d'agile, c'est chouette ! La rétro des points...
Agile Tour Nantes 2014 - 10 ans d'agile, c'est chouette ! La rétro des points...Agile Tour Nantes 2014 - 10 ans d'agile, c'est chouette ! La rétro des points...
Agile Tour Nantes 2014 - 10 ans d'agile, c'est chouette ! La rétro des points...
 
Agile Tour Nantes 2014 - Sois autonome !
Agile Tour Nantes 2014 - Sois autonome !Agile Tour Nantes 2014 - Sois autonome !
Agile Tour Nantes 2014 - Sois autonome !
 
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testableAgile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
 
Agile Tour Nantes 2013 - L'EPOPEE DU CHEVALIER AGILE FILS DU ROI PRAGMATIQUE ...
Agile Tour Nantes 2013 - L'EPOPEE DU CHEVALIER AGILE FILS DU ROI PRAGMATIQUE ...Agile Tour Nantes 2013 - L'EPOPEE DU CHEVALIER AGILE FILS DU ROI PRAGMATIQUE ...
Agile Tour Nantes 2013 - L'EPOPEE DU CHEVALIER AGILE FILS DU ROI PRAGMATIQUE ...
 
Agile Tour Nantes 2013 - Urbanisation des services : Pour changer le monde du...
Agile Tour Nantes 2013 - Urbanisation des services : Pour changer le monde du...Agile Tour Nantes 2013 - Urbanisation des services : Pour changer le monde du...
Agile Tour Nantes 2013 - Urbanisation des services : Pour changer le monde du...
 
Agile Tour Nantes 2013 - Scrum ou kanban - Alexandre BOUTIN
Agile Tour Nantes 2013 - Scrum ou kanban - Alexandre BOUTINAgile Tour Nantes 2013 - Scrum ou kanban - Alexandre BOUTIN
Agile Tour Nantes 2013 - Scrum ou kanban - Alexandre BOUTIN
 
Agile Tour Nantes 2013 - Introduction aux méthodes agiles - Grégoire ROBIN - ...
Agile Tour Nantes 2013 - Introduction aux méthodes agiles - Grégoire ROBIN - ...Agile Tour Nantes 2013 - Introduction aux méthodes agiles - Grégoire ROBIN - ...
Agile Tour Nantes 2013 - Introduction aux méthodes agiles - Grégoire ROBIN - ...
 
Agt nantes 2013 aurélien morvant - agiletour.comment.etre.agile.et.le.rester
Agt nantes 2013   aurélien morvant - agiletour.comment.etre.agile.et.le.resterAgt nantes 2013   aurélien morvant - agiletour.comment.etre.agile.et.le.rester
Agt nantes 2013 aurélien morvant - agiletour.comment.etre.agile.et.le.rester
 
Agt nantes 2013 rémy génin - l'agilité peut changer le monde
Agt nantes 2013   rémy génin - l'agilité peut changer le mondeAgt nantes 2013   rémy génin - l'agilité peut changer le monde
Agt nantes 2013 rémy génin - l'agilité peut changer le monde
 
Patrons de conception de la programmation fonctionnelle
Patrons de conception de la programmation fonctionnellePatrons de conception de la programmation fonctionnelle
Patrons de conception de la programmation fonctionnelle
 
Des mots, des maux ? Démo !
Des mots, des maux ? Démo !Des mots, des maux ? Démo !
Des mots, des maux ? Démo !
 
REX Scrum mature
REX Scrum matureREX Scrum mature
REX Scrum mature
 
L'agilité dans la mobilité
L'agilité dans la mobilitéL'agilité dans la mobilité
L'agilité dans la mobilité
 
Coching julien Sylvie Le Bail / Christophe Morin
Coching julien Sylvie Le Bail / Christophe MorinCoching julien Sylvie Le Bail / Christophe Morin
Coching julien Sylvie Le Bail / Christophe Morin
 

Et si on maîtrisait vraiment notre produit

  • 1. Et si on maîtrisait vraiment notre produit Sébastien FAUVEL Orange Applications for Business Juin 2014, Agile Nantes
  • 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 Orange Applications for BusinessEt si on maîtrisait vraiment notre produit En route pour le voyage
  • 4. 4 Orange Applications for BusinessEt si on maîtrisait vraiment notre produit Etat des lieux
  • 5. 5 Orange Applications for BusinessEt si on maîtrisait vraiment notre produit Tester mon application
  • 6. 6 Orange Applications for BusinessEt si on maîtrisait vraiment notre produit Gestion des campagnes de tests
  • 7. 7 Orange Applications for BusinessEt si on maîtrisait vraiment notre produit Le graal
  • 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 Orange Applications for Business Que reste-t-il à la fin ? Et si on maîtrisait vraiment notre produit
  • 10. 10 Orange Applications for Business Combien de temps cela prend-il ? Et si on maîtrisait vraiment notre produit
  • 11. 11 Orange Applications for Business L’automatisation Et si on maîtrisait vraiment notre produit
  • 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 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 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 Orange Applications for BusinessEt si on maîtrisait vraiment notre produit Automatisation des tests d’IHM
  • 16. 16 Orange Applications for BusinessEt si on maîtrisait vraiment notre produit Selenium IDE
  • 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 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 Orange Applications for BusinessEt si on maîtrisait vraiment notre produit Boîte noire
  • 20. 20 Orange Applications for Business Ouvrir la boîte Et si on maîtrisait vraiment notre produit
  • 21. 21 Orange Applications for Business Ouvrir la boîte Et si on maîtrisait vraiment notre produit
  • 22. 22 Orange Applications for Business Ouvrir la boîte Et si on maîtrisait vraiment notre produit
  • 23. 23 Orange Applications for Business A quoi ressemblent nos briques ? Et si on maîtrisait vraiment notre produit
  • 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 Orange Applications for Business Grain de sable Et si on maîtrisait vraiment notre produit
  • 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 Orange Applications for Business Test first et TDD Et si on maîtrisait vraiment notre produit
  • 28. 28 Orange Applications for Business Et le code… Et si on maîtrisait vraiment notre produit
  • 29. 29 Orange Applications for Business Rapport Sonar Et si on maîtrisait vraiment notre produit
  • 30. 30 Orange Applications for Business Industrialisation Et si on maîtrisait vraiment notre produit
  • 31. 31 Orange Applications for Business Quelle stratégie ? Et si on maîtrisait vraiment notre produit
  • 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 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 Orange Applications for Business Question ? Et si on maîtrisait vraiment notre produit
  • 35. 35 Orange Applications for BusinessTour d’horizon des techniques et des outils de test Merci

Notes de l'éditeur

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 34
  34. 35