Examiner les suites de tests potentielles
Objet :
|
Comprendre les séries de tests et sélectionner les séries potentielles à implémenter
|
Commencez par revoir les présentations de séries de tests existantes et déterminez celles qui sont à implémenter
actuellement. Utilisez comme base de prise de décision le plan de test de l'itération, ainsi que la liste des idées de
test et tout autre produit de définition de test.
|
Examiner les tests et les éléments de test cible associés
Objet :
|
Comprendre les relations existant entre les tests planifiés et les éléments de test cible
|
Pour chaque suite de tests à implémenter, identifiez les éléments de test cible et les tests associés devant être
inclus dans l'étendue de la suite de tests.
|
Identifier les interdépendances entre les tests
Objet :
|
Identifier les interdépendances entre les tests en termes d'autres tests et plus généralement par rapport à
l'état du système
|
Commencez par examiner la configuration de l'environnement de test et l'état du système au démarrage. Envisagez les
exigences spécifiques de configuration, telles que les jeux de données présents pour les bases de données dépendantes.
Si vous envisagez d'utiliser une configuration d'environnement cible pour plusieurs séries de tests, identifiez la
configuration à gérer pour chaque suite de tests (résolution d'écran pour affichages vidéo ou configuration des
paramètres régionaux du système d'exploitation).
Déterminez ensuite les relations spécifiques entre les différents tests. Recherchez les interdépendances via lesquelles
l'exécution d'un test inclus dans la suite de tests aboutit à une modification de l'état d'un système (prérequis d'un
autre test).
Une fois que vous avez identifié les interdépendances appropriées, déterminez la séquence d'exécution correcte des
tests dépendants.
|
Identifier les opportunités de réutilisation
Objet :
|
Améliorer la maintenabilité de la suite de tests, grâce à la réutilisation des actifs existants et à la
consolidation des nouveaux actifs
|
L'un des principaux défis de la gestion des séries de tests (principalement des tests automatisés) consiste à garantir
la simplicité des modifications à apporter. Lorsque cela est possible, il est utile de prévoir un point central de
modification pour les éléments utilisés à différents emplacements. Et cela d'autant plus ces éléments sont susceptibles
d'être modifiés.
Les tests eux-mêmes composent des unités naturelles de modularité ; toutefois, lorsqu'ils sont regroupés au sein de
séries, certains éléments se trouvent souvent en double dans plusieurs tests alors que la gestion en serait facilitée
s'ils étaient consolidés. Identifiez les éléments de tests pouvant potentiellement être redéfinis en une routine
standard dans le but de faciliter la maintenance.
|
Appliquer les utilitaires d'infrastructure requis
Objet :
|
Redéfinir des informations d'implémentation complexes, requises pour les tests, sous forme de fonctions
simplifiées d'utilitaires
|
Les efforts de test nécessitent, pour la plupart, l'utilisation d'un ou de plusieurs utilitaires chargés de générer,
rassembler, diagnostiquer, convertir et comparer les informations utilisées pendant l'exécution du test. En règle
générale, ces utilitaires simplifient les tâches complexes et laborieuses qui aboutiraient à des erreurs si elles
étaient exécutées manuellement. Cette étape concerne l'utilisation des fonctions existantes applicables à la suite de
tests et l'identification des nouveaux utilitaires requis.
Il est recommandé de simplifier les interfaces avec ces utilitaires, en encapsulant les détails complexes dans
l'implémentation propre à l'utilitaire. Il est également conseillé de développer l'utilitaire de telle sorte qu'il
puisse être réutilisé en cas de besoin pour les efforts de tests manuels et automatisés.
Nous vous recommandons de ne pas masquer, dans ces utilitaires, les informations qui caractérisent un test, mais
limitez la fonction de l'utilitaire à la collecte d'informations ou à la comparaison entre les valeurs réelles et les
résultats escomptés, etc., mais dans la mesure du possible, transférez les caractéristiques spécifiques de chaque test
sous forme d'entrée de test ou de suite de tests de contrôle (et procédez de même sous forme de sortie de test pour les
résultats obtenus).
|
Déterminer les exigences de reprise
Objet :
|
Activer la reprise des suites de tests sans effectuer de réexécution complète
|
Déterminez les points appropriés de la suite de tests pour lesquels une reprise est requise en cas d'échec pendant
l'exécution. Cette étape revêt une importance accrue si la suite de tests contient un grand nombre de tests ou doit
être exécutée pendant une longue période sans surveillance. Les points de reprise pour séries de tests exécutées
manuellement doivent également être pris en compte, bien qu'ils soient le plus souvent considérés comme une exigence
applicable aux séries de tests automatisés.
Par ailleurs, il est important de tenir compte de la reprise des séries de tests automatisés. Les deux approches de
reprise automatique sont les suivantes : 1) reprise de base, dans laquelle la suite de tests existante peut effectuer
une reprise après une erreur mineure survenue lors de l'un des tests (la reprise a généralement lieu lors du test
suivant de la série) et 2) reprise sophistiquée, qui effectue un nettoyage après le test ayant échoué et qui rétablit
l'état du système (redémarrage du système d'exploitation et restauration des données en cas de besoin). Comme pour la
première approche, la suite de tests détermine ensuite le test ayant échoué et sélectionne le prochain test à exécuter.
|
Implémenter les exigences de reprise
Objet :
|
Implémenter le processus de reprise et vérifier son bon fonctionnement
|
En fonction du niveau de sophistication requis, un effort est nécessaire pour implémenter et stabiliser le processus de
reprise. Vous devez prévoir le temps requis pour simuler un certain nombre d'échecs probables (et improbables pour un
petit nombre d'entre eux) afin de démontrer que le processus de reprise fonctionne.
Dans le cas de la reprise automatisée, les deux approches mentionnées au paragraphe précédent présentent des avantages
et des inconvénients. Vous devez bien tenir compte du coût de la reprise automatisée sophistiquée (en termes de
développement initial mais également d'effort suivi de maintenance). Il arrive parfois qu'une reprise manuelle soit une
solution suffisante.
|
Stabiliser la suite de tests
Objet :
|
Résoudre les problèmes de dépendances, tant au niveau de l'état du système que des séquences d'exécution de
tests
|
Vous devez prendre le temps de stabiliser la suite de tests via l'exécution d'un ou deux tests d'essais, dans la mesure
du possible. Les difficultés rencontrées pour atteindre la stabilité augmentent proportionnellement à la complexité de
la suite de tests et à l'excès de regroupements de tests non associés et manquant de cohésion.
Lorsque des tests sont exécutés au sein d'une série spécifique, il existe un risque d'erreur que l'on ne rencontre pas
lorsque les tests sont exécutés de façon indépendante. Ces erreurs sont souvent les plus difficiles à détecter et à
diagnostiquer, tout particulièrement lorsqu'elles se situent en plein milieu d'une suite de tests automatisés. Il est
conseillé de réexécuter régulièrement la suite de tests chaque fois que vous ajoutez des tests. Cela vous aidera à
isoler un petit nombre de tests potentiels à diagnostiquer afin d'identifier le problème.
|
Gérer les relations de traçabilité
Objet :
|
Permettre l'analyse d'impact et la génération de rapports d'évaluation sur les éléments tracés
|
Utilisez les exigences de traçabilité mentionnées dans le plan de test pour mettre à jour les relations de traçabilité.
Vous pouvez tracer les séries de tests pour les cas de test ou pour les idées de test. Elles peuvent éventuellement
être tracées pour les cas d'utilisation, les éléments de spécification de logiciel et de modèle d'implémentation, ainsi
que pour une ou plusieurs mesures de couverture de test.
|
Evaluer et vérifier vos résultats
Objet :
|
Vérifier que la tâche a été correctement réalisée et que les produits qui en résultent sont
acceptables
|
Maintenant que vous avez achevé le travail, il serait utile de vérifier que ce travail a suffisamment de valeur et que
vous n'avez pas simplement consommé de grandes quantités de papier. Vous devez déterminer si votre travail est d'une
qualité correcte et s'il est suffisamment complet pour que les membres de l'équipe puissent l'utiliser comme entrée
pour leur propre travail. A chaque fois que cela est possible, utilisez les listes de contrôle fournies dans le
processus RUP pour vérifier que la qualité et l'achèvement sont "suffisamment bons".
Faites en sorte que les personnes qui effectuent des tâches en aval qui se basent sur votre travail en tant qu'entrée
prennent part à la revue de votre travail intermédiaire. Effectuez cette revue pendant que vous avez encore du temps
disponible pour prendre les mesures qui répondent à leurs préoccupations. Vous devez également évaluer votre travail
par rapport aux produits d'entrée clés pour vous assurer que vous les avez précisément et suffisamment représentés. Il
peut être utile que l'auteur du produit d'entrée revoie votre travail sur cette base.
Souvenez-vous que le processus RUP est un processus itératif de livraison et que, dans la plupart des cas, les produits
évoluent avec le temps. A ce titre, il n'est pas habituellement nécessaire, et même souvent contre-productif, de
concevoir complètement un produit qui ne sera que partiellement utilisé ou ne sera pas du tout utilisé dans l'immédiat.
Cela vient du fait qu'il y a une grande probabilité pour que la situation qui entoure le produit change et que les
hypothèses émises lors de la création du produit s'avèrent incorrectes, avant même l'utilisation du produit,
occasionnant une perte d'efforts et un retravail coûteux. Evitez également le piège consistant à utiliser trop de
cycles pour la présentation au détriment de la valeur du contenu. Dans les environnements de projet où la présentation
a une importance et une valeur économique en tant que livrable de projet, vous pouvez envisager d'utiliser une
ressource d'administration pour réaliser les tâches de présentation.
|
|