1. Les outils de tests open-source
Valtech AfterWork
28 Avril 2009
2. Droits de
reproduction
Vous êtes libre de :
• Reproduire, distribuer et communiquer cette création au public
• Modifier cette création
Selon les conditions suivantes :
• Paternité :
Vous devez citer le nom de l'auteur ou le titulaire des droits qui vous confère cette autorisation (mais
pas d'une manière qui suggérerait qu'il vous soutient ou approuve votre utilisation de l'oeuvre).
• Vous pouvez pour cela inclure la référence
de l’auteur au moyen du “post-it” ci-contre
• Rien dans ce contrat ne diminue ou ne restreint le droit moral de l'auteur ou des auteurs.
Pour plus d'infos voir : http://creativecommons.org/licenses/by/3.0/
Présentation de Gilles Mantel
Présentation de Gilles Mantel
gilles point mantel at valtech point fr
gilles point mantel at valtech point fr
http://www.valtech.fr
http://www.valtech.fr
2
Ce document est la propriété de Valtech. Il ne peut être communiqué à des tiers sans son autorisation écrite préalable
3. Sommaire
1. Introduction
2. Tests unitaires
3. Tests fonctionnels
4. Tests charges / perf
5. Référentiels de tests
3
Ce document est la propriété de Valtech. Il ne peut être communiqué à des tiers sans son autorisation écrite préalable
4. Quelques principes
Open-source ne signifie pas gratuit
Importance du TCO « Total Cost of Ownership »
• Popularité
• Communauté d’utilisateurs
• Fréquence des mises à jour
• Communauté de développeurs
4
Ce document est la propriété de Valtech. Il ne peut être communiqué à des tiers sans son autorisation écrite préalable
5. 5
Ce document est la propriété de Valtech. Il ne peut être communiqué à des tiers sans son autorisation écrite préalable
6. 6
Ce document est la propriété de Valtech. Il ne peut être communiqué à des tiers sans son autorisation écrite préalable
7. Cette présentation n’est pas
7
Ce document est la propriété de Valtech. Il ne peut être communiqué à des tiers sans son autorisation écrite préalable
8. Approche
Une classification simple
• 4 catégories:
unitaire
•
fonctionnelle
•
charge / perf
•
gestionnaires
•
• Si nécessaire, 5 niveaux:
mourant
•
Populaire
•
qui monte
•
vrai-faux
•
?
•
Des duels
8
Ce document est la propriété de Valtech. Il ne peut être communiqué à des tiers sans son autorisation écrite préalable
9. Tests unitaires
9
Ce document est la propriété de Valtech. Il ne peut être communiqué à des tiers sans son autorisation écrite préalable
10. Tests unitaires: les classiques
On ne les présente plus :
• JUnit
Junit
• NUnit 3760000
• HttpUnit
•…
TestNG
2210000
Variantes:
• TestNG
• MBUnit SUnit
492000
Google fight
10
Ce document est la propriété de Valtech. Il ne peut être communiqué à des tiers sans son autorisation écrite préalable
11. Tests unitaires: les émergents
Apparition du Behavior-Driven Development (BDD) en 2003
• Evolution naturelle du Test-Driven Development
Les outils :
• JBehave (Java)
• Rspec (Ruby)
• EasyB (Groovy/Java)
• Cucumber (Ruby) limite framework
11
Ce document est la propriété de Valtech. Il ne peut être communiqué à des tiers sans son autorisation écrite préalable
12. Tests fonctionnels
12
Ce document est la propriété de Valtech. Il ne peut être communiqué à des tiers sans son autorisation écrite préalable
13. Tests fonctionnels: les drivers
Selenium
+software
1370000
Web:
• Selenium (populaire)
• Watir (populaire) Canoo
webtest
Watir
• Canoo Webtest (populaire) 578000
493000
Java (Swing / SWT)
• Marathon (?)
Google fight
• Frankeinstein (?)
• SwtBot (qui monte), Abbot (mourant)
Autre
• Web services: SoapUI (populaire)
• Windows: pyWinAuto (?)
13
Ce document est la propriété de Valtech. Il ne peut être communiqué à des tiers sans son autorisation écrite préalable
14. Tests fonctionnels: le duel
Selenium Watij
Record / Replay avec Selenium IDE Programmation des scripts
Multi-machine Mono machine
Multi-navigateur Ne supporte que IE
Multi-langages Langage Java seulement
Problème sur les sites en Ajax ou Exécution sans problème de scripts
avec beaucoup de JavaScript dans son environnement IE
Grande communauté Petite communauté
Installation sur le serveur web Installation chez l’utilisateur
14
Ce document est la propriété de Valtech. Il ne peut être communiqué à des tiers sans son autorisation écrite préalable
15. Tests fonctionnels: les frameworks
Mourant :
• FIT (Java, .NET, PHP, C++, Python, Ruby) absorbé par FitNesse
Populaire : FitNesse
• FitNesse 524000
Qui monte :
• Robot
Robot
Concordion
framework
4990
?: 5660
Google fight
• Concordion
• Cucumber
15
Ce document est la propriété de Valtech. Il ne peut être communiqué à des tiers sans son autorisation écrite préalable
16. Tests charge / perf
16
Ce document est la propriété de Valtech. Il ne peut être communiqué à des tiers sans son autorisation écrite préalable
17. Charges / Performance
Mourant: JMeter
• OpenSTA 714000
Populaire :
• JMeter
OpenSTA
Qui monte: 50600
• Tsung
Google fight
Vrai-Faux :
• WebLoad
17
Ce document est la propriété de Valtech. Il ne peut être communiqué à des tiers sans son autorisation écrite préalable
18. Tests charges / perf: le duel
OpenSTA JMeter
sourceforge.net apache.org
GNU GPL Apache license 2.0
First release 09/2000 First release 03/2001
Latest release 10/2007 Latest release 06/2008
Windows-based Java-based
Vérification de la réponse
18
Ce document est la propriété de Valtech. Il ne peut être communiqué à des tiers sans son autorisation écrite préalable
19. Référentiels de tests
19
Ce document est la propriété de Valtech. Il ne peut être communiqué à des tiers sans son autorisation écrite préalable
20. Référentiels de tests
Populaire :
• TestLink FitNesse
524000
• FitNesse
Qui monte:
TestLink
• Salomé-TMF 168000
Salomé-TMF
1960
Google fight
20
Ce document est la propriété de Valtech. Il ne peut être communiqué à des tiers sans son autorisation écrite préalable
21. Référentiels de tests: le duel
TestLink Salomé-TMF
GNU GPL GNU GPL
sourceforge.net forge.ow2.org
Apparition: 09/2003, dernière release: 04/2009 Apparition: 2005, dernière release: 2007
Très simple à mettre en œuvre : PHP Installation Java avec un JDK
IHM rustique IHM excellente
Grande communauté Petite communauté
Lancement de scripts automatisés expérimental Lancement de scripts prévu nativement
Import/Export natif, pas d’import par Word Plugin Import/Export Word Excel
(CSV,XML)
Plusieurs type de rapports par défaut Peu de rapports : plugin supplémentaire
Gestion administrative des écrans Pas de possibilité de modification d’écran
Plugin JIRA
21
Ce document est la propriété de Valtech. Il ne peut être communiqué à des tiers sans son autorisation écrite préalable
22. Conclusion
22
Ce document est la propriété de Valtech. Il ne peut être communiqué à des tiers sans son autorisation écrite préalable
23. Que faut-il retenir ?
Couverture de l’ensemble du spectre fonctionnel
Ciblé technologiquement
L’open-source aime l’open-source
L’agilité aime l’open-source
• “Do the simplest thing that can possibly work”
23
Ce document est la propriété de Valtech. Il ne peut être communiqué à des tiers sans son autorisation écrite préalable
24. Ressources
Sites web :
• http://www.opensourcetesting.org/
• http://openqa.org/
24
Ce document est la propriété de Valtech. Il ne peut être communiqué à des tiers sans son autorisation écrite préalable
25. Questions / Réponses
25
Ce document est la propriété de Valtech. Il ne peut être communiqué à des tiers sans son autorisation écrite préalable
26. 26
Ce document est la propriété de Valtech. Il ne peut être communiqué à des tiers sans son autorisation écrite préalable
27. 27
Ce document est la propriété de Valtech. Il ne peut être communiqué à des tiers sans son autorisation écrite préalable
28. 28
Ce document est la propriété de Valtech. Il ne peut être communiqué à des tiers sans son autorisation écrite préalable