how effectively prepare test bed
Défis et meilleures pratiques de configuration du banc d'essai / environnement de test:
À plusieurs reprises, les testeurs constatent que leurs défauts sont rejetés pour des questions environnementales ou ils se retrouvent constamment à reproduire les défauts pour des raisons similaires. Si l'ouverture du plus grand nombre de défauts doit certainement être l'un des points de repère personnels de chaque testeur, la plupart des testeurs doivent également insister sur le fait d'avoir le plus grand nombre de défauts valides.
Comment cela est-il réalisé?
Outre les autres aspects tels que la planification d'une variété de scénarios de test et la compréhension approfondie de l'élément de campagne, un une bonne quantité de temps doit être investie dans la mise en place du banc d'essai ou de l'environnement d'essai . Deuxièmement, malgré le montant estimé pour la planification des cas de test, les testeurs doivent également concentrer leurs énergies sur créer des données de test efficaces .
Personnellement, faisant partie du processus d'audit, j'ai observé que le plus grand nombre de défauts valides est détecté lorsqu'un bon effort a été investi pour créer correctement le banc d'essai ou l'environnement de test et lorsque le testeur dispose d'un compréhension du type d'environnement nécessaire.
En outre, le type de données de test fournies à l'environnement de test peut exposer des failles très graves dans le code / la fonctionnalité testée qui peuvent gravement affecter la qualité du produit.
Cet article explique ce qu'implique exactement le banc de test: Il s'agit d'un processus en deux étapes de configuration de l'environnement de test et de configuration des données de test:
Partie 1) La première partie de l'article traitera de la processus général de configuration de l'environnement de test , les problèmes de configuration les plus courants rencontrés par les tests et les pointeurs à garder à l'esprit lors de la création d'un banc d'essai au lieu de ces défis.
Partie 2) Après avoir dit tant de choses sur le banc d'essai collectivement dans cet article, il valait la peine de jeter un peu de lumière sur le Maintenance de l'environnement de test aspects aussi. La dernière partie de l'article traite de la deuxième partie de la configuration du banc d'essai qui implique les données de test, l'approche pour le configurer et certains Techniques de gestion des données de test .
Avec un «big bang» constant dans le développement et les tests de logiciels, on se concentre de plus en plus sur l'adoption de diverses méthodologies pour rendre le processus global d'assurance qualité transparent, efficace et adéquat.
Divers audits de qualité sont menés dans les organisations pour s'assurer que les performances de l'équipe de test peuvent être correctement évaluées et ont des résultats mesurables avec les métriques identifiées lors de l'initialisation du cycle de test. Ces résultats permettent d'identifier où se situe une équipe particulière en termes de garantie d'une qualité optimale pour le logiciel qu'elle teste.
Ces rapports aident également l'équipe à comprendre les opportunités d'amélioration sur la base des observations faites lors de l'audit.
Inutile de mentionner, une métrique très évidente pour toute équipe de test serait le nombre total de défauts ouverts par rapport au nombre de défauts valides . D'où l'une des questions qui surgissent de toute évidence est - Quelle est la base pour essayer de découvrir un défaut? En d'autres termes, quelle est la base sur laquelle un défaut peut être trouvé?
La réponse est unanime - Configuration du banc d'essai et / ou de l'environnement de test. Des référentiels de qualité sont définis au sein des équipes pour réduire les défauts rejetés en tant qu'erreur de configuration de test / erreur utilisateur, configurations non valides ou dans certains cas, les défauts qui surviennent lors d'échappements d'une équipe particulière en raison de configurations indisponibles, de configurations non testées.
Commençons par examiner de plus près ce qu'est un banc d'essai ou un environnement de test.
Ce que vous apprendrez:
Qu'est-ce qu'un banc d'essai et un environnement de test?
Dans un sens très générique, un banc d'essai pourrait être défini comme une sorte d'environnement de développement dans lequel les implémenteurs de code ou de modules ont la liberté de tester leurs modules sans aucune perturbation de l'équipe de test, dans un confinement absolu.
Cependant, un banc d'essai n'est pas uniquement spécifique à une équipe de développement. Du point de vue d'une équipe de test ou d'un testeur, étant donné que le banc de test n'est rien d'autre qu'une plate-forme identifiée pour les tests de logiciels / produits, il est également appelé de manière interchangeable un environnement de test.
Tout banc de test ou environnement de test devrait être configuré conformément à l'objectif de test identifié pour l'application / le produit / le logiciel testé. Dans certaines situations, un banc de test serait le classement de l'environnement de test et des données de test avec lesquelles il fonctionne.
Composants d'un environnement de test
Tout test aurait ses exigences d'environnement de test spécifiques, mais dans un sens très large, tout banc de test / environnement de test comprendra le matériel, les logiciels et les éléments réseau pour prendre en charge au minimum la configuration requise pour piloter et effectuer le test particulier. .
C’est un fait bien connu qu’une quantité raisonnable de temps d’un testeur est consacrée à des problèmes environnementaux, qui à leur tour affectent la productivité et les calendriers de test. Bien que le type de défis varie pour chaque équipe de test, certains d'entre eux peuvent être communs.
Voici quelques-uns des principaux défis auxquels sont fréquemment confrontés:
# 1) Environnement distant
Les actifs ou environnements de test sont pour la plupart placés géographiquement dans des sites éloignés des équipes. C'est l'un des défis les plus fréquemment rencontrés par les équipes de test, comme en cas de problème pouvant survenir concernant le matériel, le micrologiciel, le logiciel, la mise en réseau, etc.
Les équipes qui consomment les actifs devraient fortement s'appuyer sur les équipes de support de l'endroit où les actifs sont présents.
Dans le même ordre d'idées, si certains actifs nécessitent une mise à niveau du micrologiciel ou une mise à niveau de build, encore une fois, l'équipe de test peut avoir besoin du support des équipes de support propriétaires de l'environnement en ouvrant des tickets de support. Cela peut également accaparer un temps de test considérable et retarder les horaires, en particulier en cas de différences de fuseau horaire.
# 2) Utilisation combinée entre équipes
Le plus souvent, les équipes de développement et de test utilisent les mêmes actifs d'environnement. Bien que la norme générale définit que les environnements de développement, de test et de production doivent être séparés, en réalité ce scénario idéal est très rarement atteint. Il devient extrêmement coûteux pour les organisations de se procurer des ressources distinctes pour chaque équipe.
Par conséquent, la plupart des organisations imposent l'utilisation commune de l'environnement entre le développement et le test. De plus, si les ressources de développement et de test se disputent l'utilisation des mêmes actifs en même temps, cela conduit au chaos et aux désaccords au sein des membres.
# 3) Planification inefficace de l'utilisation des ressources pour l'intégration
Dans certains cas, pour les scénarios nécessitant un test de bout en bout par lequel il y a une intégration de deux ou plusieurs composants pour fonctionner ensemble, là encore il peut être nécessaire d'avoir une utilisation commune des ressources entre les équipes de test. Une planification inefficace en ce qui concerne l'utilisation contribue grandement à l'instabilité de l'environnement, outre les conflits entre les équipes.
L'effet le plus évident de ceci est qu'un problème qui est remarqué pour une ou deux fois en particulier peut produire un comportement complètement différent dans les exécutions suivantes pour le même scénario. Si un défaut est déjà ouvert pour cela, il y a de fortes chances qu'il ne soit pas accepté par le développement comme un candidat valide pour un correctif.
# 4) Configuration de test complexe
La configuration du banc d'essai ou de l'environnement de test est parfois trop complexe. Cela posera plusieurs défis car l'équipe de test aura besoin des compétences requises pour comprendre les configurations nécessaires. Parfois, il y a un manque de base de connaissances disponible pour que le testeur soit en mesure de proposer la configuration requise.
Dans de tels cas, les testeurs peuvent eux-mêmes induire une erreur dans le banc d'essai en le configurant de manière incorrecte. Cela aurait un impact considérable sur le scénario de test et les résultats qu'il produit.
# 5) Temps de configuration élaboré
Dans certains autres cas, pour chaque cas de test, la configuration de test peut être beaucoup trop élaborée pour chaque cas de test identifié. Cela pourrait être dû à une grande variété de technologies coexistantes qui doivent être couplées ensemble ou à plusieurs composants pour fonctionner ensemble dans les cas de tests d'intégration.
Dans ces cas, chacun des composants doit fonctionner parfaitement pour garantir des résultats cohérents, car un composant peut constituer une entrée pour le suivant.
Meilleures pratiques pour la configuration d'un environnement de test
Nous avons examiné les grandes lignes des défis auxquels un testeur est confronté avant ou pendant le début de l'exécution du test. La plupart d'entre nous ont été confrontés à un ou plusieurs de ces problèmes à un moment donné au cours des jalons de notre projet. Ces défis ont existé et continueront probablement d’exister à des degrés divers parce qu’il n’existe pas de situation idéaliste.
Étant donné que les défis de configuration font partie intégrante du travail d'un testeur et sont inévitables, voici quelques suggestions sur la façon de préparer efficacement la configuration pour les tests. Cela pourrait aider à minimiser les défauts pouvant provenir de problèmes de configuration.
Astuce n ° 1) Comprendre le Exigences de test minutieusement et informez-vous
youtube en mp3 plus de 30 minutes
Commencez toujours par les bases et par les plus évidentes! Lorsqu'un document de spécifications ou un document de cas d'utilisation est déployé par l'équipe de développement, l'étape invariable pour l'équipe de test consiste à comprendre les exigences de l'élément de ligne, puis à préparer un document de cas de test détaillant les cas de test.
Pendant que la planification des tests est en cours, il est le meilleur pratique pour inclure également les informations détaillées sur l'environnement de test dans le document de cas de test. On ne suppose pas que le testeur passera ensuite un peu de temps à analyser quel environnement de test peut être requis et en conséquence les configurations nécessaires.
Ceci peut être réalisé en discutant avec l'équipe de développement / les architectes afin de construire une bonne base de connaissances. Cela permettrait non seulement de gagner du temps dans le cycle d'exécution, mais aidera également un testeur à répartir efficacement son temps d'exécution entre des tests simples et complexes.
Personnellement, un bon résultat est que beaucoup d'entre nous ont découvert des problèmes de configuration (qui empêcheraient intrinsèquement l'exécution de tests cohérents) au tout début du cycle, ce qui nous a donné le temps de canaliser et d'acquérir l'aide nécessaire pour résoudre ces problèmes - ainsi ne pas prolonger le cycle d'essai au-delà de périodes inacceptables.
Un autre impact positif que cela aurait est que cela améliorerait considérablement les connaissances de l'équipe de test et éviterait des défauts inutiles. Bien que cette pratique résume presque toutes les pratiques nécessaires pour faire face aux défis de configuration de test mentionnés ci-dessus, il est toujours utile de mentionner les autres conseils.
Astuce n ° 2) Vérification de la connectivité
Un autre point de contrôle le plus important consiste à vous assurer que les ressources ou les actifs que vous prévoyez d'utiliser pour les tests sont accessibles. Dans le cas où le système doit être exécuté intégré à d'autres machines, vérifiez leur connectivité entre eux en utilisant ping ou telnet.
De plus, si les systèmes doivent interagir les uns avec les autres et sont derrière des pare-feu, assurez-vous qu'ils peuvent s'authentifier via ces pare-feu en utilisant les options de sécurité de base (BSO) et vérifiez également les proxys. Si vous remarquez que certaines machines ne sont pas joignables ou nécessitent une authentification BSO, des demandes de service appropriées peuvent être émises pour répondre aux exigences de l'équipe d'assistance.
Ceci est particulièrement utile lorsque l'environnement se trouve dans des endroits éloignés et évitera également les escalades en ce qui concerne les machines et les systèmes. Au cas où l'équipe de test aurait besoin d'accéder à une ressource ou un référentiel, cela aiderait à les déterminer de manière proactive.
Astuce n ° 3)Vérification du réseau et / ou du stockage
Ceci est presque une extension de la pointe précédente et nécessiterait un autre contrôle plus approfondi. Assurez-vous que les tests dont vous avez besoin disposent de la bande passante nécessaire et que vos tests nécessitent une connexion Internet. Assurez-vous également de trouver un moyen de vérifier que la topologie du réseau entre les systèmes et les ressources est correcte.
Deuxièmement, si votre objectif de test implique la nécessité d'un stockage, assurez-vous qu'il existe un stockage et une connectivité réseau. Il incombe principalement à l’administrateur de le mettre en place, mais il est également très utile d’avoir des connaissances pratiques et fonctionnelles sur le même sujet.
Astuce n ° 4) Vérifiez le matériel et les logiciels requis, les licences
Il arrive souvent que les testeurs commencent l'exécution sur les systèmes sans vérifier le matériel et les logiciels nécessaires. En conséquence de cela plusieurs fois, un testeur se rend compte presque pendant le cycle de test que certaines fonctionnalités ne sont disponibles que sur un niveau supérieur de matériel ou de logiciel / micrologiciel.
À ce moment-là, le testeur signalera un bloqueur dans son effort de test, ce qui prend un temps de test considérable. C'est donc une pratique inestimable d'avoir un point de contrôle pour noter le matériel et les logiciels nécessaires au préalable.
Plusieurs fois, il peut y avoir des temps d'arrêt liés à la mise à niveau du matériel / logiciel, ce qui se résume à Astuce 1 où un testeur doit s'impliquer dans une planification proactive concernant le matériel. Certains logiciels peuvent nécessiter des licences qui peuvent nécessiter des approbations et des actions de la part de l'équipe juridique. Il s’agit d’une action axée sur le processus qui peut à nouveau prendre un certain nombre de jours, ce qui doit être planifié.
Astuce n ° 5)Navigateurs et versions
Les tests que vous effectuez doivent refléter ce qu'un utilisateur final exécutera . Il pourrait tester sur un navigateur particulier les dernières versions de tous les navigateurs. Par conséquent, il est obligatoire d'identifier les différents types de navigateurs qui seraient utilisés pour les tests et de les installer dans votre propre configuration de test locale.
Deuxièmement, identifiez également les versions de navigateurs à utiliser pour les tests. Une bonne pratique serait de commencer avec un navigateur de la version inférieure, assurant ainsi la compatibilité descendante, puis de passer à la dernière version.
Astuce n ° 6)Planification de l'utilisation de l'environnement de test.
Étant donné que l'équipe de test n'aura jamais la situation de disposer de ses propres ressources, systèmes et actifs de test, c'est l'une des étapes majeures de la planification des tests pour une utilisation efficace des ressources de test.
qu'est-ce qu'un bon pare-feu gratuit pour Windows 7 64 bits?
Cela est particulièrement nécessaire lorsque plusieurs équipes doivent accéder au même ensemble de ressources, soit en raison d'un scénario de bout en bout qui comprend deux composants ou plus travaillant ensemble, soit d'une situation où la configuration de test est trop élaborée ou complexe pour être répliquée. très facilement et il pourrait y avoir plusieurs membres au sein de la même équipe ayant leurs objectifs de test-propre avec la même configuration.
Une bonne pratique serait d'élaborer une approche de partage du temps dans laquelle une certaine équipe ou personne l'utilise pour la première moitié et les autres personnes pour la seconde moitié. Il peut y avoir des moments communs où chacun d'eux peut exécuter des tests indépendants qui ne gêneront pas l'autre.
Cela réduira non seulement le chaos et les conflits au sein des membres, mais assurera également la stabilité comportementale de l'environnement pendant une durée plus longue.
Astuce n ° 7)Outils d'automatisation et leurs configurations
Comme nous le savons, chaque élément de campagne en cours de test aura quelques tests répétitifs qui feront partie du cycle de régression qui devra être automatisé. L'équipe de test doit identifier le type d'automatisation qu'elle aimerait faire et les outils nécessaires pour cela.
Bien que cette nécessité n'ait pas besoin de faire partie de la préparation de l'environnement, je la citerais toujours comme une bonne pratique pour que les outils d'automatisation soient identifiés et configurés en conséquence. Cela dépendrait entièrement de la discrétion du testeur lorsqu'il souhaite effectuer cette activité, car ce n'est pas un facteur obligatoire pour garantir la préparation du test.
Conclusion
Ces conseils et astuces peuvent constituer une bonne mesure et une bonne empreinte pour garantir que l'environnement de test est prêt pour les tests. Sans aucun doute, chaque équipe est confrontée à son propre ensemble de défis et les conseils ci-dessus peuvent être adaptés et personnalisés pour répondre à leurs propres besoins respectifs.
En fait, la source pour noter tout ce squelette de conseils vient d'une de mes missions où j'ai été confronté à des problèmes de configuration extrêmement complexes et il m'a fallu près d'un an pour même commencer les tests!
Bien que les limitations de l'environnement de test soient hors de mon contrôle, je pensais que beaucoup de ces problèmes auraient pu être signalés plus tôt si j'avais appliqué ces conseils. Je l'ai appliqué pour chaque mission qui me vient depuis lors et ce squelette m'a beaucoup aidé à trouver pro-activement les problèmes de configuration et à canaliser mes efforts pour les résoudre.
A propos de l'auteur: Cet article est écrit par Sneha Nadig. Elle travaille en tant que Test lead avec plus de 7 ans d'expérience dans des projets de tests manuels et d'automatisation.
Dans la partie 2 de cet article, nous verrons le processus de configuration et de maintenance de l'environnement de test et des conseils de préparation et de gestion des données de test. En attendant, n'hésitez pas à publier vos requêtes de préparation au banc d'essai dans les commentaires.
lecture recommandée
- Comment effectuer efficacement les tests post-lancement et minimiser l'impact de la publication sur les clients en direct
- Comment décidez-vous quels défauts sont acceptables pour la mise en service du logiciel?
- Comment préparer et livrer une présentation de test qualité exceptionnelle à l'équipe
- Processus de gestion des défauts: comment gérer efficacement un défaut
- 9 meilleures idées pour que les testeurs utilisent efficacement leur temps de banc d'essai
- Leadership en matière de test - Responsabilités du responsable de test et comment gérer efficacement l'équipe de test
- Comment planifier et gérer efficacement les projets de test (conseils)
- Processus de triage des anomalies et moyens de gérer la réunion de triage des anomalies