Réunion technique


 Selenium
Oui mais non ...




                   réunion technique
                           05/03/2010
                          ...
Stop au massacre !


• Coupling is the single greatest problem in large
    software systems.
• Toujours penser :
 ●
     ...
N'introduisez pas de dépendances


• Non vraiment …
• Sinon, au plus simple
 ●
     Injection dans le constructeur
 ●
    ...
Point boulet direct !




                        réunion technique
                                05/03/2010
           ...
En fait … Epic Fail !




                        réunion technique
                                05/03/2010
           ...
C'est mieux !




                réunion technique
                        05/03/2010
                                 7
En plus on t'aide !


• Dans les contrôleurs
 ●
     $this->getContext()
 ●
     $this->getPmsipilotContext()
• Dans les f...
Tests unitaires


• Fatalement on peut les faire sur du code
    faiblement couplé
• Face à un bug ou une évol d'une class...
Tests unitaires




                  réunion technique
                          05/03/2010
                             ...
Tests unitaires


• On peut tester :
 ●
     le retour de fonctions
 ●
     Le type des objets
 ●
     Le lancement d'exce...
Les tests chez PMSIpilot


• Tests unitaires
 ●
     Bas niveau
 ●
     Fonctionnement des classes
 ●
     Comportements a...
Selenium


•   Un framework de test en Javascript (fear !)
•   Conçu pour tester les interfaces
•   Pour gérer les différe...
Test suite


• OMG c'est hachetéheumelle !
• web/selenium/TestSuite_PMSIpilot.html




                                   ...
Ecrire un test
• MERILESTFOU c'est toujours du hachetéheumelle




                                     réunion technique
...
Ecrire un test

• Une instruction
 ●
     Commande
 ●
     Cible
 ●
     Valeur
• Recherche / manip sur des éléments
 ●
  ...
Ecrire un test




                 réunion technique
                         05/03/2010
                                ...
Commandes et assertions


•   open
•   click/clickAndWait
•   verifyTitle/assertTitle
•   verifyTextPresent
•   verifyElem...
Démo




       réunion technique
               05/03/2010
                       19
Firefox … ça roule




                     réunion technique
                             05/03/2010
                    ...
IE 7 .. fail !




                 réunion technique
                         05/03/2010
                                ...
ROADMAP


• /pmsipilot/
• HUDSON
 ●
     http://wiki.hudson-
     ci.org/display/HUDSON/Selenium+Plugin




              ...
pmsiPicole




             réunion technique
                     05/03/2010
                             23
Prochain SlideShare
Chargement dans…5
×

Réunion technique PMSIpilot - Mars 2010

1 326 vues

Publié le

Tests Selenium

Publié dans : Technologie, Business
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 326
Sur SlideShare
0
Issues des intégrations
0
Intégrations
303
Actions
Partages
0
Téléchargements
11
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Réunion technique PMSIpilot - Mars 2010

  1. 1. Réunion technique Selenium
  2. 2. Oui mais non ... réunion technique 05/03/2010 2
  3. 3. Stop au massacre ! • Coupling is the single greatest problem in large software systems. • Toujours penser : ● Qu'on voudra utiliser cette classe dans un contexte différent (en CLI par exemple !) ● Que si, sur le moment c'est pénible, les chatons t'en remercient réunion technique 05/03/2010 3
  4. 4. N'introduisez pas de dépendances • Non vraiment … • Sinon, au plus simple ● Injection dans le constructeur ● Injection sur certaines méthodes ● Notifiez un événement ● Parlons en … réunion technique 05/03/2010 4
  5. 5. Point boulet direct ! réunion technique 05/03/2010 5
  6. 6. En fait … Epic Fail ! réunion technique 05/03/2010 6
  7. 7. C'est mieux ! réunion technique 05/03/2010 7
  8. 8. En plus on t'aide ! • Dans les contrôleurs ● $this->getContext() ● $this->getPmsipilotContext() • Dans les formulaires étendant BaseForm ● $this->getValidUser() ● $this->getValidContext() réunion technique 05/03/2010 8
  9. 9. Tests unitaires • Fatalement on peut les faire sur du code faiblement couplé • Face à un bug ou une évol d'une classe ● Ecrire un test validant le comportement voulu ● Faire le dev • != tests fonctionnels • En général c'est tout simple réunion technique 05/03/2010 9
  10. 10. Tests unitaires réunion technique 05/03/2010 10
  11. 11. Tests unitaires • On peut tester : ● le retour de fonctions ● Le type des objets ● Le lancement d'exception ● ... • Cf Adrien • Cf test/unit réunion technique 05/03/2010 11
  12. 12. Les tests chez PMSIpilot • Tests unitaires ● Bas niveau ● Fonctionnement des classes ● Comportements attendus et effets de bord • Tests fonctionnels ● Tester les données, les workflows ● Parcourir le logiciel • Tests d'interfaces ● Tester le JS, la CSS ● Sur différents navigateurs réunion technique 05/03/2010 12
  13. 13. Selenium • Un framework de test en Javascript (fear !) • Conçu pour tester les interfaces • Pour gérer les différences entre les navigateurs • http://seleniumhq.org/projects/ide/ réunion technique 05/03/2010 13
  14. 14. Test suite • OMG c'est hachetéheumelle ! • web/selenium/TestSuite_PMSIpilot.html réunion technique 05/03/2010 14
  15. 15. Ecrire un test • MERILESTFOU c'est toujours du hachetéheumelle réunion technique 05/03/2010 15
  16. 16. Ecrire un test • Une instruction ● Commande ● Cible ● Valeur • Recherche / manip sur des éléments ● Facile pour les formulaires et les liens ● Xpath est ton ami pour le reste (ou d'autres trucs) ● Merci firebug réunion technique 05/03/2010 16
  17. 17. Ecrire un test réunion technique 05/03/2010 17
  18. 18. Commandes et assertions • open • click/clickAndWait • verifyTitle/assertTitle • verifyTextPresent • verifyElementPresent • verifyText • verifyTable • waitForPageToLoad • waitForElementPresent réunion technique 05/03/2010 18
  19. 19. Démo réunion technique 05/03/2010 19
  20. 20. Firefox … ça roule réunion technique 05/03/2010 20
  21. 21. IE 7 .. fail ! réunion technique 05/03/2010 21
  22. 22. ROADMAP • /pmsipilot/ • HUDSON ● http://wiki.hudson- ci.org/display/HUDSON/Selenium+Plugin réunion technique 05/03/2010 22
  23. 23. pmsiPicole réunion technique 05/03/2010 23

×