Revue par les pairs Flashcards
Qu’est-ce que les revues?
- Méthodes d’évaluation
- Méthodes de tests
- Méthodes de revues (aussi appelées révisions)
- La revue
- Une façon de réviser votre travail.
- Technique de contrôle plutôt que de test.
- Objectif est de détecter et de réparer les erreurs le plus tôt possible dans le cycle de développement.
- Types de revue de code
- Formelle ou informelle,
- pré ou post commit
- Walkthrough, inspection, Pair programming, etc.
Finalité des revues et des tests
* Fiabilité du logiciel : taux de disponibilité pour les utilisateurs
- MTTR : Mean Time To Repair. Temps moyen mis pour réparer un système en panne
- MTTF : Mean Time To Failure. Temps moyen que met un système à tomber en panne. C’est une sorte d’unité de mesure de la fiabilité d’un système.
- MTBF : Mean Time Between Failures. Temps moyen écoulé entre deux pannes, y compris le temps de réparation : MTBF = MTTF + MTTR (La francisation en « Moyenne des Temps de Bon Fonctionnement » est donc fausse).
- MTBE : Mean Time Between Errors. Temps moyen entre deux erreurs
- Taux de disponibilité pour l’utilisateur : MTTF / MTBF
Qu’est-ce que les revues?
Examen détaillé d’une spécification, d’une conception ou d’une
implémentation par une personne ou un groupe de personnes, afin de
déceler des fautes, des violations de normes de développement ou
d’autres problèmes.
IEEE 729
* Mécanisme pour:
- Valider le design et l’implémentation des changements
- Assurer une cohérence entre modules et développeurs au niveau du design et
des pratiques de développement - Partager, former et se former
Avantages * Directs:
- Meilleure qualité du produit
- Moins de fautes dans le produit
- Meilleure communication dans l’équipe
- Formation des nouveaux arrivants et juniors * Retour sur investissemen
Avantages* Indirects
- Cycle de développement/test plus court
- Moins d’impact sur le support technique
- Clients plus satisfaits
- Meilleure maintenabilité du code
- Meilleure architecture du code
Revue informelle
- Revue informelle d’un élément du livrable
- en général du code
- But
- Trouver des problèmes, améliorer la qualité
- Participants
- Auteur, pairs, modérateur
- Déroulement
- Élément distribué à l’avance
- Rencontre, discussion libre
- Procès- verbal des problèmes constatés
- Suivi
Revue formelle
- Revue de morceaux du livrable avant acceptation
- partie des spécifications, de la conception, du code
- Buts
- Découvrir des erreurs
- Vérifier la conformité avec les spécifications et les normes
- Participants
- Auteur, président de séance, inspecteurs (experts)
- Déroulement
- Distribution du morceau à inspecter
- étude par les participants
- Rencontre
- Décision
- – Acceptation, acceptation avec réserve, rejet
- Rapport de l’inspection
Difficultés à la mise en œuvre
- Les egos des participants
- La difficulté d’intégrer la revue dans le cycle de développement
- Rassembler la documentation,
- gérer l’historique,
- gérer les réunions,
- etc.
- Manque de soutien de la hiérarchie
Pourquoi faire des revues?
- Les revues sont plus efficaces que les tests pour détecter des fautes.
- les tests détectent de 2 à 4 fautes par heure.
- les revues détectent en moyenne 10 fautes par heure.
- les réviseurs expérimentés peuvent détecter 70% des fautes.
- les tests peuvent rarement dépasser un taux de 50%.
- Les revues détectent de 2 à 5 fois plus de fautes par heure que les tests
La correction des fautes trouvées pendant la phase des tests est plus
couteuse que la correction des fautes trouvées pendant les revues
- Pendant les tests d’intégration, il faut de 10 a 40 heures/personne pour
détecter et réparer chaque faute. - les inspections prennent moins d’une heure/faute
- Elimination des fautes le plus tôt possible
- chaque revue, inspection, compilation, et test détecte seulement une fraction des fautes
- plus le code est propre a l’entrée d’une phase et plus il sera propre en sortant de cette phase
- Elimination tôt des fautes permet une économie de temps et d’argent
- plus le processus de développement est avancé et plus il est couteux de détecter et de réparer les fautes
Pourquoi les revues sont efficaces
* Lors des tests
- vous débutez avec un problème
- alors vous devez détecter la faute
- ensuite, vous concevez une solution
- finalement, vous implantez et vous testez la solution
Pourquoi les revues sont efficaces
* Avec les revues et les inspections
- vous voyez la faute
- alors vous concevez une solution
- finalement, vous implantez et vous révisez la solution
Pourquoi les revues sont efficaces
* Si le système produit un résultat incorrect Iors des tests, alors vous devrez
- détecter ce qui est incorrect
- résoudre le problème au niveau théorique
- détecter l’endroit dans le programme ou implanter la solution
- résoudre la faute qui a causé un tel comportement
- Vous êtes la recherche de ce qui n’a pas été planifié et cela peut prendre du temps
Pourquoi les revues sont efficaces
* Avec les revues et les inspections
- vous suivez votre propre logique
- Lorsque vous détectez une faute, vous savez exactement ou vous êtes
- vous savez ce que le programme fait et ce qu’il ne devrait pas faire
- donc, vous savez pourquoi c’est une faute
- vous êtes dans une bonne position pour concevoir une solution complète et efficace
La stratégie de revue
- L’objectif est de produire des programmes ayant un haut niveau de
qualité a chacune des phases du cycle de développement - La stratégie de revue qui permet d’atteindre cet objectif consiste a
- rassembler les données sur vos revues
- étudier les données
- juger quelles données sont utiles pour vous
- ajuster votre processus en conséquence
- Processus d ‘apprentissage continue
Principes de revue
- Suivre un processus rigoureux avec
- des critères d’entrée et des critères de sortie
- une structure de revue
- des directives, des listes de contrôle et des normes
- Le but est de détecter chaque faute avant le premier test
- Pour atteindre cet objectif, il faut
- utiliser des normes de programmation
- utiliser des critères de conception
- mesurer et améliorer votre processus de revue