30 slides pour apprendre à suivre les développements d'un projet web et le recetter :
Le contexte
L'importance du lotissement
La gestion des relations avec le client
La documentation du projet
Les tests
Les référentiels de test
Fonction, cas d'utilisation & tests
La documentation de la recette
Mantis
Customiser Mantis
Automatisation des tests fonctionnels avec Selenium
Déroulement de la recette
Démarche
Tâches
Revue de tickets
Et ça continu encore et encore…
Redmine
2. Le contexte
• Moment délicat = passation du dossier d’une équipe
fonctionnelle à une équipe technique.
• Les développeurs ne mesurent pas toujours la
complexité car ils héritent du projet…
• … et doivent souvent rattraper le retard.
• Pour avancer, les imprécisions sont interprétées…
fonctions inutilisables, mauvaise finition, etc.
3. Lotissement
• Pour piloter efficacement le projet !
• Principe = identifier les compartiments étanches puis
gérer chaque mini-projet pour
– Livrer un produit de qualité, quitte à réduire le périmètre
– Ne pas surprendre le client et disposer d’une base de discussion commune en cas de
problème
• Le lotissement est fonction de la plateforme de
développement & des objectifs du projet
4.
5. Relations avec le client
• Communiquer régulièrement (chaque semaine)
• Prévoir des points fonctionnels intermédiaires pour
s’assurer que ce qui est développé est conforme (un
des principes fondateurs des méthodes agiles).
• Ne jamais masquer les retards
• Rassurer quand on sait pouvoir rattraper le retard
6. Documentation
• Documenter le code au fur et à mesure (templates,
classes, etc.). Utiliser un générateur si nécessaire
(Doxygen, PHPDocumentor…)
• Reporter les évolutions fonctionnelles dans les
spécifications détaillées et, le cas échéant, dans le
cahier de recette.
7. Tests
• Recetter l’application exactement comme le fera le
client
• Long et minutieux (mise en conditions)
• Toujours tester avec des données réelles
• Toujours utiliser un outil pour les remontées (Mantis,
Trac…)
11. Fonction, cas & tests
• Cas d’utilisation de la matrice
• Une fonction = n cas de test
• Jeux de test livrés AVANT de valider les spécifications
• Répartir les cas
– Types de contenu
– Profils
13. Documentation
• Sur le déroulé de la recette
– Note méthodologique
• Sur l’application à recetter
– Cahier de recette
– Synthèse Excel (pour le reporting)
– Spécifications
• Exemple de guide de recette
22
16. Mantis
• Open source et gratuit
• Le plus utilisé
• Nécessite une petite extension…
• … et un peu de paramétrage
17.
18. • Créer les profils globaux
• Paramétrer les notifications
• Créer le projet
• Créer les utilisateurs
• Créer les catégories
• Affecter les catégories
• Éventuellement, utiliser les champs personnalisés
• Éventuellement, personnaliser le workflow
23. Sélénium
• Selenium existe seul ou sous forme d’une extention
xpi
• Les tests sont enregistrables seulement sur Firefox
(pour bénéficier de l’IDE)
• Mais sont jouables sur IE7 via Remote Control
12
26. • Organiser les répertoires de ressources
– Local VS Réseau
– Hiérarchie VS à plat…
• Règles de nommage (IDs, profil ?)
• Mettre au point le scénario
– Commencer par le plus basic
– Ne jouer les suppressions qu’à la fin
15
27. • Chaque testeur réalise ses propres tests
• Il faut donc répartir les cas
– Types de contenu
– Profils
• Puis les tests sont additionnés en scénarios
16
33. Démarche
• Première recette
– Recette complète (création des tests Sélenium)
– Corrections
• Recette des tickets
– Recette partielle + Scénarios Sélenium
– Corrections
– …
• 2 bonnes pratiques
– Ne jamais livrer de correctifs en cours de test.
– Ne pas sous estimer le besoin de dialogue : on a pas envie mais cela fait gagner
énormément de temps
34. Pour chaque cas
• Lecture du cas
• Réalisation du cas
• Si pas de problème -> Mantis -> OK (vert)
• Si problème -> Mantis -> ticket + KO (rouge)
35. • Être TRES rigoureux dans la forme des tickets
– ID du cas
– Plateforme
– URL
– Etapes
– Problème
– Solution (si connue/fonctionnelle)
• TOUJOURS vérifier que l’anomalie/évolution n’a pas
encore été remontée
• Le premier à recetter évite donc cette étape ,-)
38. Revue des tickets
• Réunion hebdomadaire
• Chaque ticket est discuté
• Départager anomalies VS évolutions
• Attribuer une priorité
• Eventuellement lotir les corrections
40. • En résumé, le CDP doit réaliser
– Gestion des tickets
– Réunion de revue de tickets
– Suivi des corrections
– Mise à jour des spécifications
• Le dev doit réaliser
– Corrections
– Mise à jour de la documentation technique
– Mise en production
• Au final, le CDP dispose de
– Site opérationnel en production.
– Spécifications à jour.
– PV de recette provisoire.
– PV de recette définitive.
41. Et ça continu encore et encore…
1 2
Spécification Développement
0
3
Réflexion
Spécification
Prototypage
6 4
Spécification Mise en oeuvre
5
Maintenance
Corrective / évolutive