how select correct test cases
C'est maintenant l'ère de l'automatisation des tests . La plupart des projets de test tentent de traduire leurs cas de test manuels en cas de test automatisés pour améliorer la productivité et la couverture.
L'une des étapes clés pour commencer les tests d'automatisation consiste à sélectionner les cas de test appropriés et à déterminer le retour sur investissement (retour sur investissement).
À quoi s'attendre de cet article?
Dans cet article, j'ai essayé de citer quelques points importants basés sur mon expérience pour vous aider à sélectionner le bon candidat pour l'automatisation et déterminer divers autres facteurs qui donneront de meilleurs résultats et avantages de test.
Pourquoi des tests automatisés?
L'automatisation ne domine pas ou ne remplace pas les tests manuels, mais elle les complète. Tout comme le manuel, l'automatisation a besoin d'une stratégie avec une planification, une surveillance et un contrôle appropriés. L'automatisation, lorsqu'elle est correctement mise en œuvre, peut devenir un atout pour l'équipe, le projet et finalement pour l'organisation.
L'automatisation présente de nombreux avantages; voici quelques éléments importants à mentionner:
- Utile pour exécuter des tâches de routine comme Tests de fumée et Tests de régression .
- Utile pour préparer le Données de test .
- Aide à exécuter le Cas de test impliquant une logique métier complexe .
- Bon pour exécuter les cas de test multiplateformes (comme différents systèmes d'exploitation, navigateurs, etc.)
- Idéal pour exécuter les cas de test qui sont un peu difficiles à exécuter manuellement.
- Lorsque le nombre d'itérations des exécutions du scénario de test n'est pas connu.
De nombreuses parties prenantes estiment que l'automatisation des tests agit comme un outil d'assistance pour les tests manuels, il est donc vital de comprendre que l'automatisation est le meilleur moyen d'augmenter l'efficacité, l'efficience et la couverture des tests. Cela permet non seulement de gagner du temps, mais également d'améliorer la précision, car les tâches répétitives via l'approche manuelle peuvent entraîner des erreurs humaines et prendre du temps.
Candidats à l'automatisation
Erreur de base à éviter:
L'une des erreurs les plus élémentaires commises par les testeurs est de NE PAS sélectionner les bons scénarios de test pour l'automatisation.
Ne sélectionnez aucune suite de tests. Analysez minutieusement les cas de test et sélectionnez les candidats à l'automatisation en tenant compte du facteur le plus important, à savoir le retour sur investissement. Tout d'abord, nous devons comprendre et découvrir les moyens d'obtenir un retour sur investissement plus élevé et positif.
comment initialiser une liste liée en java
( ROI - Retour sur investissement - C'est un calcul des avantages en termes de réduction des coûts, d'efficacité accrue et de qualité)
Il n'y a pas de procédure standard pour déterminer les cas de test corrects pour l'automatisation. Tout dépend de l'application que vous testez.
Sur la base de mon expérience, j'ai essayé de définir quelques étapes qui peuvent fournir un aperçu de la sélection des cas de test et, finalement, des progrès pour obtenir un retour sur investissement positif pour l'automatisation.
Voir aussi => Comment traduire des cas de test manuels en scripts d'automatisation?
Ce que vous apprendrez:
Comment sélectionner les cas de test corrects pour les tests d'automatisation
Étape 1:
Identifiez les paramètres sur lesquels vous baserez votre scénario de test en tant que candidat à l'automatisation.
À partir de maintenant, j'identifie les paramètres ci-dessous, vous pouvez avoir vos propres paramètres en fonction de votre application.
- Cas de test exécuté avec différents ensembles de données.
- Cas de test exécuté avec différents navigateurs.
- Cas de test exécuté avec différents environnements.
- Cas de test exécuté avec une logique métier complexe
- Cas de test exécuté avec un groupe d'utilisateurs différent
- Le cas de test implique une grande quantité de données
- Le cas de test a une dépendance
- Le cas de test nécessite des données spéciales
Étape 2:
Divisez chaque application en modules. Pour chaque module, analysez et essayez d'identifier les cas de test qui devraient être automatisés en fonction des paramètres. Cette liste varie d'un projet à l'autre et peut également être améliorée pour répondre à vos besoins:
Fig 1.0
O - Oui
N - Non
De la même manière, pour tous les modules, cette liste peut être utilisée pour identifier les cas de test candidats à l'automatisation.
Étape 3 :
Consolider et regrouper le nombre de cas de test pour chaque module ci-dessous
Fig 2.0
La figure 2.0 est assez simple et explicite. Ici, j'essaie de quantifier les détails et de donner une estimation pour terminer les tests manuellement.
Étape 4:
Une fois que vous avez identifié tous les détails du niveau granulaire, vous pouvez les présenter de la manière ci-dessous. Nous progressons maintenant dans le calcul du ROI.
Fig 3.0:
Nous devons également prendre en compte les éléments ci-dessous attributs qui constituent la base de la dissuasion du retour sur investissement :
- Coût d'achat et de licence de l'outil
- Il est temps de développer les scripts
- Il est temps de maintenir les scripts.
- Il est temps d'analyser les résultats manuellement et automatiquement
- Temps et coût pour former les ressources.
- Frais généraux de gestion
Exemple de calcul du retour sur investissement d'automatisation de test
Dans la plupart des cas, le retour sur investissement est calculé sur 5 ans, mais ce n’est pas obligatoire. Sur la base des facteurs ci-dessus, permettez-moi d'essayer de développer le calcul du ROI pendant 5 ans. Comme d'habitude, vous pouvez toujours l'adapter et l'améliorer.
* ROI = (Économie cumulée / Investissement grâce à l'automatisation) * 100
Test manuel de l'automatisation - Quels sont les défis du processus?
J'ai essayé de citer les points qui, à mon avis, représentent un gros défi lorsque nous essayons d'automatiser une suite de tests.
# 1) Besoin d'automatisation: Chaque équipe de test est unique et a un besoin exclusif d'automatisation. Nous ne pouvons pas développer une norme fixe, mais nous pouvons adapter une norme qui répondra à nos besoins. Pour cette raison, l'automatisation nécessite un bon support de la direction ainsi que de l'équipe de développement.
# 2) Automatiser l'application complète: Automatiser une application à 100% est une tâche importante. Non pas que ce soit impossible, mais cela nécessite une planification et un suivi appropriés et bien sûr; parfois. Il existe de nombreuses permutations et combinaisons de données, n nombre d'environnements avec n nombre d'attributs d'authentification et d'autorisation qui doivent être validés et nécessitent donc une stratégie d'automatisation.
# 3) Mentalité manuelle vs automatisation: ' Nous automatisons normalement ce qui est important et répétitif, mais nous préférons tester les fonctionnalités importantes manuellement ». Embrouillé? Même moi! Mais c'est un fait. Nous devrions avoir des critères qui décideront quels sont les important cas de test. Ces critères peuvent être basés sur plusieurs facteurs tels qu'une logique métier complexe, des domaines qui intéressent davantage les clients, des domaines à risque, etc.
# 4) Décider du cadre: Conception du cadre est la facette la plus importante de l'automatisation. Je pense que nous devrions consacrer relativement plus de temps au développement du framework qu'au script. Chaque fois que nous développons le plan d'automatisation, la conception du cadre doit être l'objectif principal.
PLANIFIER pour concevoir le cadre. Identifiez et faites une liste de contrôle des éléments qui formeront le cadre. Si le cadre est solide comme le roc, la création de scripts et la maintenance deviennent faciles.
# 5) Connaissance de l'équipe: Chaque fois que nous pensons à l'automatisation, nous sautons immédiatement pour apprendre le langage de programmation ou le langage de script. L'apprentissage de cette langue aidera certainement, mais l'accent devrait être mis davantage sur la construction et le développement de la logique.
L'automatisation ne devrait pas être la responsabilité d'une poignée de ressources, mais plutôt une équipe entière devrait y contribuer. Cela aidera non seulement à améliorer les compétences des ressources mais aussi les garder motivés .
# 6) Rapports: Chaque outil a une norme pour rapporter les résultats des tests. Pour le personnaliser; est une tâche difficile. La communication des résultats des tests nécessite également une coordination et une maintenance, ce qui ajoute au coût.
# 7) Confiance: Nous devons faire confiance à notre matériel d'automatisation. Nous investissons des heures de travail pour créer une suite d'automatisation, mais nous ne croyons pas aux résultats des tests. Des efforts devraient être faits pour maintenir les scripts. De plus, nous devrions voir que l'équipe qui effectue les tests manuels de l'application, devrait être impliquée pour l'automatiser car elle connaît son application.
La plupart du temps, une troisième équipe fait l'automatisation de sorte que l'équipe de test réelle ne soit pas au courant des scripts et finit par exécuter les tests manuellement car ils sentent que le suivi des scripts s'ajoute à leurs tâches.
Voir également=> Défis des tests manuels et automatisés.
Conclusion
Dans la plupart des cas, nous préférons Automatisez la suite de régression ( voici quelques défis liés à l'automatisation d'une suite de régression dans un environnement agile ) car il contient un plus grand nombre de cas de test. Dans ce cas, nous pouvons décomposer les combinaisons de régression en combinaisons plus petites et décider d'exécuter la suite appropriée selon les exigences de publication.
Supposons qu'une suite de régression contienne 1500 cas de test, vous pouvez la diviser en 3 combinaisons de 500 cas de test par combinaison et l'automatiser.
comment convertir un caractère en c ++ int
Au lieu d'automatiser l'ensemble de la suite, vous pouvez optez pour l'automatisation par phase . En d'autres termes, vous pouvez suivre le modèle prototype pour développer la suite d'automatisation. Créez une structure ou un cadre avec la mise en œuvre de moins de cas de test et commencez à utiliser cela et améliorez-le progressivement en y ajoutant plus de cas de test.
Nous devrions suivre le Roue Deming (cycle PDCA) pour l'automatisation également. Être une activité permanente, l'accent doit être mis sur la construction correcte du cadre ce qui se traduira par une facilité de maintenance et la mise en œuvre de nouvelles fonctionnalités.
Cela nécessite un support approprié de la part de l'équipe de développement et de la direction. Nous devrions encourager l'équipe de test à contribuer le plus aux tests d'automatisation, car elle connaît son produit plus que quiconque.
A propos de l'auteur: Ceci est un article invité de Shilpa Chatterjee Roy. Elle travaille dans le domaine des tests de logiciels depuis 8,5 ans dans divers domaines.
J'espère que nous avons simplifié cela«Manual to Automation testing»traiter. N'hésitez pas à partager votre expérience et vos réflexions sur la façon dont vous surmontez les défis du processus.
Tutoriel PREV | Tutoriel SUIVANT
lecture recommandée
- Comment traduire des cas de test manuels en scripts d'automatisation? - Un guide étape par étape avec un exemple
- Défis des tests manuels et automatisés
- Qu'est-ce que les tests d'automatisation (Guide ultime pour démarrer l'automatisation des tests)
- Processus de test d'automatisation en 10 étapes: comment démarrer les tests d'automatisation dans votre organisation
- 25 meilleurs cadres et outils de test Java pour les tests d'automatisation (partie 3)
- 20+ meilleurs outils de test d'automatisation Open Source en 2021
- Top 10 des stratégies d'automatisation des tests et des meilleures pratiques
- Quand opter pour les tests d'automatisation?