top 10 test automation strategies
Ceci est le dernier article du série d'automatisation de test . Cet article résume les meilleures pratiques et stratégies pour l'automatisation des tests.
Bien que nos articles précédents mentionnent les meilleures pratiques (et certaines d'entre elles peuvent être répétées ici), j'ai fortement senti d'en énumérer quelques-unes, mais les meilleures pratiques d'automatisation les plus importantes ici dans un article pour référence .
Ces stratégies sont tirées de ma propre expérience ainsi que de la littérature de gourous du test comme Michael Bolton, James Bach et Cem Kaner. Ces pratiques doivent être suivies dans chaque projet d'automatisation.
Ce que vous apprendrez:
- 10 meilleures stratégies et pratiques d'automatisation des tests
- #1. Embaucher un ingénieur ou une équipe d'automatisation dédié
- # 2. Un outil d'automatisation est important, mais ce n'est pas la solution à tout
- # 3. Sélectionnez l'outil d'automatisation familier à vos ressources
- # 4. Connaître l'application testée
- # 5. Une bonne automatisation signifie un bon cas de test manuel
- # 6. Identifiez les opportunités grâce à l'automatisation
- #7. Vous ne pouvez pas tout automatiser
- # 8. Évitez l'automatisation GUI lorsqu'il y a un autre présent
- # 9. Utilisez également l'automatisation à d'autres fins utiles
- #dix. L'automatisation est le développement de logiciels
- Conclusion
- lecture recommandée
10 meilleures stratégies et pratiques d'automatisation des tests
Nous y voilà..
#1. Embaucher un ingénieur ou une équipe d'automatisation dédié
C'est une chose basique à faire. Ne demandez pas à vos testeurs manuels de se livrer à l'automatisation des tests. Si vous voulez qu'ils effectuent l'automatisation des tests, libérez-les du travail de test manuel. L'automatisation des tests est un travail à plein temps. Pour cela, vous avez besoin de ressources dédiées.
Je recommande de constituer une équipe d'automatisation de test composée d'au moins un architecte d'automatisation. Vous pouvez embaucher plusieurs ingénieurs en automatisation pour travailler sous la direction de l'architecte d'automatisation des tests. Le nombre d'ingénieurs en automatisation dépend du nombre et de la taille de vos produits.
quels sont les meilleurs sites Web d'anime
# 2. Un outil d'automatisation est important, mais ce n'est pas la solution à tout
Nous avons parlé de sélection d'outils . Mais choisir le bon outil n'est que le début. Certains gestionnaires ont l'idée fausse que s'ils sélectionnent le bon outil, ils peuvent facilement automatiser n'importe quoi. Attention, les outils d'automatisation ne vous donnent pas tout. Ils facilitent le processus. Mais vous avez besoin de ressources qualifiées pour terminer le processus.
Les outils d'automatisation sont souvent bogués et bloqués dans l'identification des objets complexes sur l'application. Les ressources que vous embauchez, si elles sont qualifiées, proposent une solution de contournement qui fait avancer le processus. Sinon, si vous n'embauchez pas de bonnes ressources, Tool ne peut à lui seul garantir une automatisation réussie.
# 3. Sélectionnez l'outil d'automatisation familier à vos ressources
Si vos ressources sont familiarisées avec C # et que votre application à tester est également développée en C #, alors il est inutile de sélectionner l'outil qui ne propose pas de C # pour écrire des scripts.
L'apprentissage des langues est un processus qui prend du temps. Évitez cette courbe d'apprentissage en achetant un outil qui offre une courbe d'apprentissage minimale.
# 4. Connaître l'application testée
La sélection des outils dépend fortement des technologies utilisées dans votre produit. Connaissez votre produit à fond avant de commencer l'automatisation.
S'il s'agit d'une application Web, connaissez les navigateurs qu'elle prendra en charge. Connaissez les technologies utilisées. S'il s'agit d'une application de bureau, sachez sur quelle langue est basée. Quels contrôles tiers sont utilisés dans l'application. Cela vous aidera à faciliter la sélection des outils et l'automatisation future.
# 5. Une bonne automatisation signifie un bon cas de test manuel
Cas de test manuels solides et bien écrits nous éviter d'automatiser ces cas de test qui sont faciles à automatiser mais qui ne parviennent pas à trouver des défauts.
Voici la citation du livre Lessons Learned in Software Testing:
'L'automatisation sans une bonne conception de test peut entraîner beaucoup d'activité, mais peu de valeur.'
Il est toujours conseillé d'écrire d'abord le cas de test sous forme manuelle. Identifier tous les prérequis et tester les données . Écrivez les étapes de manière claire et écrivez les résultats attendus avant chaque étape. L'objectif d'un test élémentaire doit être clair et il doit être moins dépendant des autres tests élémentaires. Les ingénieurs en automatisation doivent exécuter ce cas de test manuellement au moins une fois pour décider clairement quels objets doivent être identifiés et quel sera le flux de navigation. Posez des questions avec des testeurs manuels.
Cette activité permet parfois d'identifier les bogues avant même l'écriture du script d'automatisation. Les experts disent que la majorité des bogues est identifiée dans la phase de développement de l'automatisation des tests plutôt que dans la phase d'exécution réelle.
# 6. Identifiez les opportunités grâce à l'automatisation
Si vous êtes remis avec un cas de test manuel pour automatiser , n'automatisez pas simplement ce cas de test tel quel. Au lieu de cela, trouvez d'autres opportunités dans votre automatisation pour élargir la portée de ce cas de test.
quelles sont les erreurs dans les logiciels informatiques appelées
Par exemple, si le cas de test manuel est requis, vous devez vous connecter à une page Web. Vous pouvez développer ce cas de test en le rendant piloté par les données. Répertoriez tous les scénarios possibles de connexion comme un mot de passe invalide, un mot de passe vide, un nom d'utilisateur invalide, un e-mail invalide, un nom d'utilisateur vide, souvenez-vous de moi vérifié, non vérifié, etc. comme source de données pour votre scénario de test. Maintenant, ce cas de test manuel, après avoir été automatisé, peut tester tous les scénarios possibles en une seule fois.
Recherchez toujours des opportunités qui peuvent être réalisées avec l'automatisation, mais difficiles à faire manuellement. Tels que les scénarios de test de charge, les benchmarks de performance, les mêmes tests sous différents environnements avec différentes configurations, des fuites de mémoire, des tests de haute précision, etc. Ce sont tous des scénarios difficiles pour les testeurs manuels.
#7. Vous ne pouvez pas tout automatiser
L'automatisation signifie exécuter moins de tests plus souvent. Vous devez commencer petit en attaquant d'abord vos tests de fumée. Puis couvrez votre construire des tests d'acceptation . Ensuite, passez à vos tests fréquemment effectués, puis passez à votre temps à passer des tests. Mais assurez-vous que chaque test que vous automatisez permet à un testeur manuel de se concentrer sur des choses plus importantes.
L'automatisation n'est pas là pour remplacer les testeurs manuels. Pas plus. Il est ici pour retirer le travail répété des testeurs manuels afin qu'ils puissent utiliser toute leur concentration et leur force pour trouver de nouveaux scénarios de test et bogues. (Lire mon article Idées fausses sur l'automatisation des tests)
Automatisez quelques tests précieux et gain de temps ou difficile à faire pour les testeurs manuels. Si vous avez fait cela, la tâche d'automatisation est terminée.
ampleur du premier algorithme de recherche c ++
# 8. Évitez l'automatisation GUI lorsqu'il y a un autre présent
L'automatisation de l'interface graphique est toujours plus difficile que les autres types de tests automatisés. Donc, s'il y a une situation où vous pouvez atteindre votre objectif en n'automatisant pas l'interface graphique, mais par d'autres méthodes telles que les entrées de ligne de commande, alors la meilleure stratégie est d'éviter l'automatisation de l'interface graphique.
Par exemple, vous souhaitez tester l'installation de l'application. L'objectif est de vérifier si l'application est installée ou non dans un environnement particulier. Une approche consiste à démarrer l'installation et à cliquer sur le bouton « Suivant ”Plusieurs fois via votre outil d'automatisation. Cela peut être délicat, prendre du temps et faire l'objet de maintenance si l'interface utilisateur change. L'autre approche consiste à lancer l'installation de l'application avec un fichier batch donnant des arguments silencieux. L'application s'installera silencieusement sans aucune interface graphique. L'objectif sera atteint en moins de temps et de manière plus fiable.
# 9. Utilisez également l'automatisation à d'autres fins utiles
L'automatisation est une chose tellement fantastique. Vous pouvez en tirer de telles choses auxquelles vous ne pensez normalement pas. L'automatisation ne consiste pas seulement à programmer un cas de test manuel. Au lieu, vous pouvez utiliser l'automatisation pour faciliter différentes opérations dans votre organisation.
Par exemple, vous pouvez utiliser l'automatisation pour créer des données de base et configurer automatiquement des configurations pour les testeurs manuels. Pour qu'ils puissent commencer leurs tests le plus tôt possible.
Je peux donner un exemple de ma propre entreprise. Nous voulions passer de notre outil de gestion de cas de test. Nous utilisions «Test Director» (désormais HP ALM) et voulions passer à TFS (Team Foundation Server). Nous avons eu environ 4000 cas de test manuels et bogues dans Test Director. Les transférer manuellement vers TFS peut prendre environ un mois. Mon responsable m'a donc demandé d'essayer une automatisation.
J'ai creusé ces outils et j'ai découvert que Test Director utilise le serveur SQL comme référentiel. Pour TFS, j'ai découvert un outil capable de lire les cas de test et les bogues d'un fichier Excel, s'ils sont écrits dans un format particulier, et de les insérer dans TFS. Le reste de l'histoire est simple. J'ai écrit une requête SQL pour récupérer tous les cas de test et les bogues et les ai exportés dans un fichier Excel au format spécifique. J'ai ensuite utilisé cet outil qui lit tous les cas de test et les bogues du fichier Excel et les ai insérés dans TFS. L'ensemble du processus n'a duré que 3 heures. Mon manager était très content. J'espère que vous comprenez aussi mon point.
#dix. L'automatisation est le développement de logiciels
Si vous développez un logiciel de qualité, il a besoin des meilleures pratiques. Il a besoin de révisions de code pour écrire du code de qualité. Il a besoin d'un cadre ou d'un modèle de conception à suivre. Il a besoin d'un entretien constant.
L'automatisation est essentiellement le développement de logiciels. Ainsi, toutes les meilleures pratiques que vous suivez lorsque vous développez un logiciel doivent être suivies lors de l'automatisation. Automation Framework devrait être là. Des revues de code doivent être effectuées. Les bogues d'automatisation doivent être signalés dans le référentiel de bogues. Le code source de l'automatisation doit être placé sous contrôle de source, etc. Plus vous le traitez comme un développement logiciel, plus l'automatisation sera réussie.
Conclusion
Cela résume l'article ainsi que la série d'automatisation des tests. J'ai appris beaucoup de choses en écrivant ces tutoriels et j'espère que vous apprenez aussi en lisant. L'automatisation des tests est une carrière intéressante et enrichissante. Le faire correctement n'est pas seulement bénéfique pour vous, mais aussi pour l'organisation.
Chaque jour, en travaillant sur l'automatisation des tests et ses techniques, je trouve des défis nouveaux et intéressants à résoudre. Cette série était une tentative de mettre en évidence ce qui pouvait survenir lors d'un voyage d'automatisation des tests. J'espère que je l'ai livré correctement et d'une manière simple.
Comme toujours, j'attends vos commentaires et suggestions. N'hésitez pas à écrire vos commentaires dans la section commentaires. Je serai heureux de vous entendre et de vous aider si nécessaire. Merci d'avoir lu.
Tutoriel PREV # 6
lecture recommandée
- Êtes-vous un expert en tests manuels ou automatisés? Travaillez à temps partiel pour nous!
- Défis des tests manuels et automatisés
- Top 10 des meilleurs livres de tests de logiciels (livres de tests manuels et d'automatisation)
- Outil de test d'automatisation de l'interface graphique Sikuli - Guide du débutant, partie 2
- Guide étape par étape pour implémenter la preuve de concept (POC) dans les tests d'automatisation
- Processus de test d'automatisation en 10 étapes: comment démarrer les tests d'automatisation dans votre organisation
- Comment décider quel type de test est requis pour un projet? - Manuel ou automatisation
- Comment effectuer des tests de performances manuels?