10 step automation testing process
Processus de test d'automatisation: découvrez comment démarrer les tests d'automatisation de votre projet (un guide étape par étape)
Dans de nombreuses organisations, la qualité est la première préférence. Si vous vous trouvez dans une telle organisation et qu'aucune automatisation de test formelle n'est effectuée, vous pourriez être la personne qui l'inaugurera.
Cela aidera votre organisation à créer plus de produits de qualité en moins de temps et pourra également les commercialiser rapidement.
=> Dans ce troisième morceau du ‘ Série de tutoriels sur l'automatisation des tests ', Je vais discuter de ce qu'est le processus d'automatisation des tests et comment démarrer l'automatisation des tests dans votre organisation . Il est important de comprendre quelle étape consiste à effectuer en premier et pourquoi.
Le respect de ces étapes vous aidera à introduire l'automatisation de manière transparente et vous permettra d'éviter les pièges courants qui conduisent à des échecs d'automatisation.
Ce que vous apprendrez:
- Processus de test d'automatisation en 10 étapes pour démarrer l'automatisation des tests
- Étape 1. Convaincre la direction
- Étape 2. Trouver des experts en outils d'automatisation
- Étape 3. Utiliser le bon outil pour l'automatisation
- Étape 4. Analyser diverses applications pour déterminer celles qui sont les mieux adaptées à l'automatisation
- Étape n ° 5. Former l'équipe
- Étape # 6. Création du cadre d'automatisation des tests
- Étape # 7. Élaboration d'un plan d'exécution
- Étape # 8. Écriture de scripts
- Étape # 9. Rapports
- Étape # 10. Maintenance des scripts
- Conclusion
- lecture recommandée
Processus de test d'automatisation en 10 étapes pour démarrer l'automatisation des tests
Voici un processus et un guide d'automatisation des tests étape par étape pour vous aider à démarrer les tests d'automatisation.
Commençons.
Étape 1.Convaincre la direction
Peu importe à quel point vous êtes impatient de découvrir et d'initier l'automatisation des tests dans votre organisation, vous ne pouvez rien faire si votre direction n'est pas convaincue des avantages qu'offre l'automatisation des tests. C'est un fait universel que l'automatisation des tests coûte cher. Les outils sont chers ( HP QTP / UFT licence coûte environ 8K $ par machine). Il y a un coût pour un architecte ou un ingénieur en automatisation des tests (qui, d'ailleurs, sont également coûteux). Après cela, les avantages de l'automatisation des tests ne peuvent pas être vus immédiatement. Vous devez attendre 2 à 3 mois avant que vos scripts ne soient préparés, testés et exécutés de manière fiable pour que vous puissiez tester l'application.
Vous devez convaincre la direction de supporter la douleur de ces dépenses et vous devez également leur dire d'être patient avant que l'automatisation des tests puisse commencer à leur donner des résultats.
Alors, comment seront-ils convaincus? Vous devez leur dire l'analyse coûts-avantages. Comme vous pouvez poser des questions sur le temps que nous prenons pour tester le BAT (test d'acceptation de construction) de notre application? Ensuite, vous pouvez dire, si cela prend une journée, avec l'automatisation des tests, nous pouvons le tester dans les 2 heures. Le coût est que vous devez acheter l'outil, former la ressource et attendre les résultats pendant deux mois. Après deux mois, nous pourrons exécuter une BAT en deux heures. Cela économisera 6 heures de tests manuels à chaque fois qu'une nouvelle version sortira. Si la version est publiée 4 fois par mois. Vous pourrez ainsi gagner 24 heures ou 3 jours de tests manuels!
Cela ne veut pas dire que les testeurs manuels ne feront rien. Ils utiliseront ces 6 heures de test pour se concentrer sur les nouvelles fonctionnalités importantes de l'application, tandis que l'automatisation s'occupera des problèmes de régression. Cette configuration améliorera globalement la qualité du produit une dizaine de fois.
Si votre direction n'est pas disposée à payer pour la qualité de ses produits, personne ne peut les forcer à le faire. Ils apprendront automatiquement quand les clients se plaindront des produits. La qualité affecte tout. Cela affecte vos ventes, cela affecte votre relation avec les clients, cela affecte votre perception dans l'esprit des consommateurs. Ainsi, la gestion intelligente a toujours investi dans la qualité de ses produits.
Donc cinq points à retenir pour convaincre votre management:
- Expliquez-leur en détail les avantages de l'automatisation des tests.
- Dites-leur que l'automatisation des tests est coûteuse et que cela vous coûtera de l'argent au départ, mais que le coût sera réduit une fois que les scripts seront préparés et commenceront à s'exécuter.
- Dites-leur qu'ils doivent attendre environ 3 mois avant d'attendre un résultat de l'automatisation des tests.
- Dites-leur que l'automatisation des tests ne consiste pas à remplacer les testeurs manuels, mais à aider les testeurs manuels car ils pourront en tester plus en même temps.
- L'automatisation des tests ne signifie pas plus de tests en moins de temps; cela signifie plus de tests en même temps. (Si les testeurs manuels avaient l'habitude de tester la MTD en 8 heures, ils pourront tester la MTD ainsi que de nouvelles fonctionnalités et bien d'autres choses dans les mêmes 8 heures en présence de l'automatisation.)
N'oubliez pas que convaincre votre direction est la première et la plus importante étape de l'introduction de l'automatisation des tests dans votre organisation. S'ils ne sont pas convaincus, oubliez l'automatisation des tests ou changez votre organisation. :)
Étape 2.Trouver des experts en outils d'automatisation
Il existe deux types d'experts en automatisation.
- Architectes d'automatisation
- Ingénieurs en automatisation
Les architectes d'automatisation sont une race rare. Ils sont difficiles à trouver, extrêmement coûteux et extrêmement nécessaires à la réussite du projet d'automatisation. Ces personnes sont généralement chargées de créer des cadres d'automatisation. (Nous discuterons en détail des cadres d'automatisation dans un article séparé)
Architectes d'automatisation sont expérimentés dans différents types d'outils et connaissent généralement les forces et les faiblesses de chaque outil. Ils aideront également la direction à sélectionner le bon outil pour l'automatisation en analysant soigneusement l'application et les technologies utilisées dans cette application. . Ils aideront également à construire le cadre, à concevoir les conventions de dénomination et à créer des règles pour les scripts. Ils aideront également à sélectionner les cas de test à automatiser en premier.
Si vous êtes en mesure de trouver une bonne ressource pour le poste d'architecte en automatisation, votre moitié de travail est réalisée dans une automatisation réussie dans votre organisation
Ingénieurs en automatisation , d'autre part, ce sont les personnes qui convertiront les cas de test manuels en scripts automatisés. Ils travailleront sous un architecte d'automatisation et seront responsable de la création et de l'exécution des scripts .
Certaines entreprises embauchent des ingénieurs en automatisation de l'extérieur et certaines entreprises embauchent en interne en formant leurs testeurs manuels existants. Quoi qu'il en soit, la ressource doit être bonne en programmation. Il doit surtout connaître la programmation orientée objet. Une combinaison d'un architecte d'automatisation et de deux ingénieurs en automatisation est idéale pour la plupart des produits.
Étape 3.Utiliser le bon outil pour l'automatisation
Ce point mérite son propre article (et j'en écrirai un là-dessus). C'est une autre étape difficile dans le processus de démarrage de l'automatisation. Il existe différents outils sur le marché, mais vous devez sélectionner ceux qui conviennent le mieux à votre application.
Pour faire court, j'écrirai les considérations les plus importantes lors de la sélection de l'outil. J'expliquerai en détail le processus de sélection des outils dans un article séparé.
Les éléments les plus importants à considérer lors de la sélection des bons outils sont:
- L'outil doit être dans votre budget . Les outils d'automatisation sont vraiment chers. L'entreprise doit donc avoir le budget pour acheter l'outil.
- L'outil doit technologies de soutien utilisé dans votre application. Si votre application utilise flash ou Silverlight, l'outil doit le prendre en charge. Si votre application s'exécute sur mobile, l'outil doit être capable d'exécuter des scripts sur mobile. Vous pouvez acheter un seul outil prenant en charge toutes les technologies utilisées dans votre application ou vous pouvez acheter des outils distincts pour chaque technologie. Par exemple , vous pouvez utiliser le sélénium pour vos applications web, les robots pour vos applications Android et Interface utilisateur codée MS pour les applications de bureau. Quelle que soit la décision, cela devrait figurer dans votre budget.
- Vous devez avoir le nécessaire ressources qualifiées qui peut utiliser cet outil ou apprendre cet outil en moins de temps. Par exemple , vous avez embauché l'architecte d'automatisation qui n'a fait l'expérience que de QTP, et vous achetez une licence pour MS Coded UI, la ressource peut ne pas être à l'aise de l'utiliser. Les outils sont comme de bonnes voitures, mais il faut aussi avoir de bons conducteurs pour conduire ces bonnes voitures.
- L'outil doit avoir un bon mécanisme de rapport pour montrer les résultats aux parties prenantes après chaque exécution.
Il existe divers autres facteurs lors de la sélection du bon outil et je les couvrirai dans un article séparé.
Lisez ce guide pour les derniers outils d'automatisation:
Top 20 des meilleurs outils de test d'automatisation en 2020 (liste complète)
Étape 4.Analyser diverses applications pour déterminer celles qui sont les mieux adaptées à l'automatisation
Si votre organisation travaille sur 5 applications, il n'est pas nécessaire que chacune d'elles soit automatisée. Nous devons voir les différents facteurs lors de la sélection de toute application à automatiser.
L'application qui devrait être automatisée doit avoir ces facteurs:
- L'application ne doit pas en être aux premiers stades de son développement. (L'application doit avoir tout ou partie des modules qui sont stables et testés par des testeurs manuels)
- L'interface utilisateur de l'application doit être stable. (L'interface utilisateur ne doit pas changer fréquemment)
- Les cas de test manuels de cette application doivent être sous forme écrite.
L'objectif principal de l'automatisation est de s'assurer que si l'application est sans bogue dans une version, elle devrait rester sans bogue dans la prochaine version. Le testeur manuel ne doit pas perdre son temps à trouver des problèmes de régression, ces problèmes doivent être identifiés dans l'automatisation.
Donc pour trouver une régression, nous devons avoir une application qui est déjà stable et qui a quelques cas de test écrits pour elle. L'équipe d'automatisation convertira ces cas de test en scripts et exécutera ces scripts sur chaque build pour s'assurer qu'aucune régression n'apparaît.
Aussi, lisez => Comment sélectionner les scénarios de test corrects pour les tests d'automatisation
Étape n ° 5.Former l'équipe
Après la sélection des outils et l'embauche des ressources, l'étape suivante est logiquement la formation des ressources.
Si les testeurs manuels sont convertis en ingénieurs d'automatisation, ils doivent être formés aux terminologies et concepts d'automatisation. Si l'architecte d'automatisation est embauché de l'extérieur, il doit acquérir des connaissances sur le produit à tester, le processus de test manuel et ce que la direction attend.
Donnez du temps aux ressources pour essayer différentes choses jusqu'à ce qu'elles proposent enfin une stratégie d'automatisation gagnante. Formez-les aux outils que l'organisation utilise déjà logiciel de suivi des bogues et logiciel de gestion des exigences .
Une bonne formation et une bonne communication entre les testeurs manuels, les développeurs et l'équipe d'automatisation sont vraiment nécessaires.
Étape # 6.Création du cadre d'automatisation des tests
La tâche la plus importante de l'architecte d'automatisation est de créer un cadre d'automatisation qui devrait prendre en charge les tests automatisés à long terme.
Le cadre d'automatisation est essentiellement un ensemble de règles et une planification minutieuse pour écrire les scripts d'une manière qui entraîne le moins de maintenance. Si quelque chose change dans l'application, les scripts nécessitent peu ou pas de mise à jour pour faire face à ce changement. C'est la beauté d'un cadre d'automatisation.
Il existe cinq types de cadres d'automatisation, à savoir linéaire, modulaire, piloté par les données, piloté par mot-clé et hybride. Tous ces cadres seront traités en détail avec des exemples dans un article distinct de cette série.
Vous pouvez également commencer à en savoir plus sur les frameworks d'automatisation dans les didacticiels suivants:
=> Pourquoi avons-nous besoin d'un cadre pour l'automatisation des tests?
=> Exemples de cadre QTP
=> Exemples de framework Selenium
Étape # 7.Élaboration d'un plan d'exécution
Le plan d'exécution comprend la sélection des environnements dans lesquels les scripts seront exécutés. L'environnement comprend le système d'exploitation, le navigateur et différentes configurations matérielles.
Par exemple , si le scénario de test exige qu'il vérifie le site Web dans 3 navigateurs, à savoir Chrome, Firefox et IE, l'équipe d'automatisation écrira le script de manière à ce qu'il puisse s'exécuter dans chaque navigateur.
Cela doit toujours être dit avant d'écrire les scripts car cela sera pris en charge dans les scripts si l'équipe d'automatisation le sait à l'avance. Le plan d'exécution doit également indiquer qui exécutera les scripts. Normalement, l'équipe d'automatisation exécute les scripts sur chaque build, mais cela varie d'une entreprise à l'autre. Certains gestionnaires demandent aux développeurs d'exécuter ces scripts sur leur build avant la publication et certaines entreprises embauchent une ressource dédiée uniquement pour l'exécution. Même certaines entreprises exécutent des scripts en mode sans assistance, ce qui, bien sûr, ne nécessite aucune ressource supplémentaire.
Étape # 8.Écriture de scripts
Lorsque le framework est conçu, le plan d’exécution est connu et les ressources sont formées au nouvel outil. Le moment est venu de commencer à écrire des scripts.
Les scripts doivent être écrits de manière organisée avec une convention de dénomination appropriée. Le code source doit être conservé dans un contrôle de code source pour éviter la perte de code. Le contrôle des versions et l'historique doivent être conservés. L'automatisation des tests est comme le développement de logiciels. Toutes les meilleures pratiques de programmation doivent être prises en compte lors de l'écriture des scripts.
Aussi, lisez => Comment traduire des cas de test manuels en scripts d'automatisation
Étape # 9.Rapports
La fonction de rapport est généralement fournie par l'outil. Mais nous pouvons créer des mécanismes de reporting personnalisés comme l'envoi automatique des résultats à la direction.
Nous pouvons créer des rapports à la fin de chaque exécution sous forme de graphiques et de tableaux si la direction en a besoin. La direction doit toujours être informée de la couverture des cas de test, c'est-à-dire quels cas de test manuels sont couverts par l'automatisation et lesquels d'entre eux restent.
Étape # 10.Maintenance des scripts
Si les meilleures pratiques de programmation sont suivies et que le cadre est bon, la maintenance ne sera pas un problème.
La maintenance se produit généralement lorsqu'il y a une demande de modification d'une application. Les scripts doivent être immédiatement mis à jour pour faire face à ce changement et garantir une exécution sans faille.
Par exemple , si vous écrivez du texte dans la zone de texte via le script et que cette zone de texte devient maintenant la liste déroulante, nous devons immédiatement mettre à jour le script.
Certains autres types de modifications incluent le fait que vos scripts s'exécutaient sur la version anglaise de l'application. Il y a maintenant une demande de modification selon laquelle l'application doit prendre en charge le chinois. Votre framework devrait vous permettre de mettre à jour vos scripts avec peu d'effort pour prendre en charge l'exécution en chinois aussi! C'est pourquoi les architectes d'automatisation sont chers. :)
Si le cadre n'est pas bon et que les meilleures pratiques ne sont pas suivies, la maintenance deviendra un cauchemar. La plupart des projets d'automatisation échouent en raison d'une mauvaise maintenance des scripts.
Conclusion
Cet article décrit qu'est-ce que le processus de test d'automatisation et comment démarrer les tests d'automatisation dans votre organisation du début à la fin, étape par étape. Si vous suivez ces étapes, j'espère que votre automatisation sera un succès.
Suggestion de lecture = >> Meilleur logiciel d'automatisation des processus informatiques
Certaines parties (comme la sélection des outils d'automatisation et les cadres d'automatisation) méritent leurs propres articles. Nous les couvrirons dans les prochaines parties de cette série de didacticiels de test d'automatisation.
=> En attendant cliquez ici pour consulter tous les tutoriels nous avons déjà publié dans cette série.
J'ai essayé de couvrir tous les aspects dans une vue plus large et d'utiliser ma propre expérience pour écrire ce tutoriel.
Si vous pensez que j'ai manqué quelque chose d'important ou qu'une partie de ce tutoriel a besoin d'un peu plus d'explications, veuillez me le demander dans la section commentaires. Je serais ravi de répondre à vos questions.
stockage d'objets dans un tableau java
Tutoriel PREV # 2 | Tutoriel SUIVANT # 4
lecture recommandée
- Guide étape par étape pour implémenter la preuve de concept (POC) dans les tests d'automatisation
- Qu'est-ce que les tests d'automatisation (Guide ultime pour démarrer l'automatisation des tests)
- Outil de test d'automatisation de l'interface graphique Sikuli - Guide du débutant, partie 2
- Meilleurs outils de test de logiciels 2021 (Outils d'automatisation des tests QA)
- Les testeurs perdent-ils leur emprise sur les tests en raison de l'automatisation?
- Défis des tests manuels et automatisés
- Êtes-vous un expert en tests manuels ou automatisés? Travaillez à temps partiel pour nous!
- 11 meilleurs outils d'automatisation pour tester les applications Android (outils de test des applications Android)