how choose best automation testing tool
Dans ce didacticiel, nous avons couvert les critères de sélection des outils d'automatisation de test et la liste de contrôle avec la matrice de comparaison des outils d'automatisation de test pour votre référence facile.
Le guide de A à Z sur la sélection du meilleur outil d'automatisation pour votre projet:
C'est le 4edidacticiel de notre série de didacticiels d'automatisation des tests. Veuillez consulter tous les articles publiés dans cette série sur cette page: => Le guide ultime pour démarrer les tests d'automatisation de votre projet
La sélection des outils d'automatisation des tests est l'une des étapes les plus importantes avant de démarrer l'automatisation dans toute organisation.
C'est important car l'outil affectera considérablement l'ensemble de votre effort d'automatisation. Si l'outil est bon et vous offre les fonctionnalités requises, l'automatisation devient plus facile et efficace.
Il existe de nombreux critères à prendre en compte lors de la sélection de l'outil d'automatisation. Certains d'entre eux, j'ai discuté dans l'un de mes articles précédents. Ici, j'ai répertorié les aspects les plus importants à prendre en compte lors de la sélection de l'outil d'automatisation de test.
Ce que vous apprendrez:
- Le test automatisé est-il une solution pour vous?
- Quand l'automatisation des tests a-t-elle du sens?
- Comment sélectionner l'outil d'automatisation pour votre projet?
- Critères d'évaluation de l'outil d'automatisation des tests
- Critères de sélection et liste de contrôle des outils d'automatisation des tests
- Question # 1: Quel est le budget de votre organisation pour l'outil d'automatisation?
- Question n ° 2: Quel est le prix réel de l'outil?
- Question n ° 3: L'outil prend-il en charge le système d'exploitation / navigateur ou périphérique dans lequel votre application s'exécute?
- Question n ° 4: L'outil prend-il en charge les technologies et les contrôles tiers utilisés dans votre application?
- Question n ° 5: combien de langues l'outil prend-il en charge? Avez-vous des ressources qualifiées pour ces langues?
- Question n ° 6: L'outil prend-il en charge la connexion à différentes sources de données?
- Question n ° 7: Comment est le mécanisme de reporting de l'outil d'automatisation?
- Question n ° 8: L'outil peut-il être intégré aux référentiels de cas de test et de gestion des bogues?
- Question n ° 9: Comment est le support technique officiel de l'outil?
- Question # 10: Quelques aspects techniques à voir
- Conclusion
- lecture recommandée
Le test automatisé est-il une solution pour vous?
J'ai travaillé sur de nombreux projets au cours de ma carrière. Lorsque vous travaillez sur le même projet pendant plus d'un an, vous commencez fortement à ressentir le besoin d'automatiser certaines tâches. Vous commencez à penser à introduire des tests d'automatisation sur le projet si cela n'a pas été envisagé jusqu'à présent par la direction de projet.
Un an est suffisant pour que quiconque connaisse les tenants et les aboutissants de tout projet. Une fois vous connaissez la fonctionnalité du projet en détail, il devient plus facile de décider quelles tâches répétitives doivent être automatisées.
Quelques les testeurs s'ennuient aussi faire les mêmes tâches répétitives encore et encore et ils commencent fortement à ressentir le besoin d'automatisation des tests.
Cela signifie-t-il que vous devriez vous lancer immédiatement dans les tests d'automatisation?
Définitivement pas!
Il y a de nombreux critères sur lesquels vous devez travailler avant de décider si l'automatisation est une solution pour vous .
Quand l'automatisation des tests a-t-elle du sens?
- Quand il y a de nombreux tests répétitifs
- Lorsqu'il y a des itérations fréquentes de test de régression
- Quand tu as besoin de simuler un grand nombre d'utilisateurs qui utilisent les ressources de l'application
- Lorsque AUT a une interface utilisateur relativement stable
- Lorsque vous avez un grand nombre de cas BVT
- Lorsque vous ne pouvez pas compter uniquement sur l’exécution de tests manuels pour les fonctionnalités critiques
Lectures complémentaires:
- Quand devriez-vous opter pour l'automatisation?
- Conseils que vous devriez lire avant de commencer les tests automatisés
Une fois que vous savez que c'est le bon moment pour investir votre temps et votre argent dans un bon outil d'automatisation, vous pouvez commencer à rechercher le meilleur outil d'automatisation qui répond à vos besoins.
Comment sélectionner l'outil d'automatisation pour votre projet?
Le succès des tests d'automatisation dépend en grande partie de la sélection des bons outils de test. Il faut beaucoup de temps pour évaluer les outils d'automatisation pertinents disponibles sur le marché. Mais c'est un exercice ponctuel incontournable qui profitera à votre projet à long terme.
Il y a eu peu de situations où j'ai eu la chance de revoir et de sélectionner un outil d'automatisation pour mes projets. La tâche était difficile car nous devions gérer nos besoins de test et nos restrictions de coûts, mais cela valait la peine.
Voici les critères que vous devez prendre en compte avant de sélectionner un outil de test:
Critères d'évaluation de l'outil d'automatisation des tests
1) Disposez-vous des ressources qualifiées nécessaires à allouer aux tâches d'automatisation?
deux) Quel est votre budget?
3) L'outil répond-il à vos besoins de test? Convient-il à l'environnement du projet et à la technologie que vous utilisez? Prend-il en charge tous les outils et objets utilisés dans le code? Parfois, vous pouvez être bloqué pour de petits tests en raison de l'incapacité de l'outil à identifier les objets utilisés dans l'application.
Je considère ci-dessus trois facteurs comme les plus importants pour sélectionner un outil.
4) L'outil vous fournit-il la version d'essai gratuite afin que vous puissiez l'évaluer avant de prendre une décision? En outre, l'outil dispose-t-il de toutes les fonctionnalités disponibles dans la version d'essai?
5) La version actuelle de l'outil est-elle stable? L'entreprise du fournisseur est-elle établie avec un bon support client ainsi que des ressources d'aide en ligne et un manuel d'utilisation?
6) Comment est la courbe d'apprentissage des outils? Le temps d'apprentissage est-il acceptable pour vos objectifs?
7) Vous souhaitez un outil d'automatisation uniquement pour les besoins de votre projet ou vous recherchez un outil commun à tous les projets de votre entreprise? Ce serait un bon choix si vous sélectionnez un outil prenant en charge la plupart des langages de codage de vos projets.
méthode qui prend dans un tableau
8) Quels types de tests prend-il en charge? Un outil qui prend en charge le maximum de types de tests (unité, fonctionnel, régression, etc.) est toujours un meilleur choix.Avertissement- Ne choisissez pas un outil simplement parce qu’il prend en charge tous les types de tests. Il est également important que l'outil soit suffisamment puissant pour automatiser vos exigences complexes.
9) L'outil prend-il en charge une interface simple pour créer et maintenir des scripts de test? Un outil d'enregistrement et de lecture avec des capacités pour éditer des scripts enregistrés pourrait être une bonne solution.
dix) Fournit-il une interface simple mais des fonctionnalités puissantes pour accomplir des tâches complexes?
Onze) Est-il facile de fournir des données de test d'entrée pour des tests complexes ou de charge? Un outil prenant en charge l'entrée de données de test à partir de divers fichiers de données tels que Excel, XML, fichier texte, etc. serait un grand soulagement pour l'automatisation des testeurs.
12) Fournit-il des rapports puissants avec une interface graphique? Des rapports clairs et concis vous aideront toujours à conclure rapidement les résultats des tests.
13) S'intègre-t-il bien à vos autres outils de test comme la planification de projet et outils de gestion des tests ?
Vous pouvez également envisager d'autres critères tels que:
14) Politique de remboursement du fournisseur d'outils
quinze) Avis clients existants pour l'outil
16) Le fournisseur offre-t-il une formation initiale?
Des astuces: La collecte des exigences est de loin l'étape la plus importante pour sélectionner le bon outil. Assurez-vous de classer vos besoins en catégories de fonctionnalités indispensables, agréables à avoir et non obligatoires. Cela vous aidera à évaluer l'outil rapidement. N'oubliez pas que vous ne trouverez pas d'outil déjà disponible sur le marché qui répondra à tous vos besoins d'automatisation!
Meilleurs outils d'automatisation :
HP QTP / UFT et Selenium sont les deux options de test fonctionnel les plus populaires actuellement disponibles. QTP / UFT est le meilleur outil de test fonctionnel pris en charge sur le large éventail de langages et de plates-formes de codage, tandis que Selenium est le meilleur outil de test fonctionnel Web open source.
Lisez cet article pour la liste des outils TOP:
Top 20 des meilleurs outils de test d'automatisation en 2020 (liste complète)
Dans le prochain article, nous discuterons défis des tests manuels et automatisés .
commandes unix interview questions et réponses pour les expérimentés
Critères de sélection et liste de contrôle des outils d'automatisation des tests
10 questions à poser avant de sélectionner le meilleur outil de test d'automatisation
Posez les questions suivantes chaque fois que vous vous trouvez dans une situation pour sélectionner l'outil d'automatisation de votre organisation:
Question 1: Quel est le budget de votre organisation pour l'outil d'automatisation?
C'est, à mon avis, la chose la plus importante à considérer lors de la sélection de l'outil d'automatisation.
Pourquoi chercher QTP / UFT et faire des recherches là-dessus lorsque vous ne pouvez pas acheter la licence? L'outil QTP coûte environ 8000 $ (environ). Si votre organisation peut acheter la licence et que vous êtes confirmé, vous devez télécharger la version d'évaluation et y créer un projet d'automatisation pivot pour tester sa fonctionnalité. Sinon, vous ne devriez pas passer du temps à faire des recherches là-dessus. (Je parle de ce scénario si vous souhaitez utiliser QTP sur un projet en direct de l'entreprise. Si vous le téléchargez uniquement à des fins d'apprentissage, vous pouvez télécharger la version d'évaluation.)
Question 2: Quel est le prix réel de l'outil?
Vient ensuite le prix de l'outil d'automatisation. Il n'y a pas seulement un prix de licence, mais aussi le prix des modules complémentaires (si nécessaire), les frais de support, les frais de formation et les frais de mise à niveau.
Parlons d'abord de la licence.
a) Types de licences:
Il existe les types de licences suivants.
1) Licence utilisateur verrouillée par un nœud.
La licence d'utilisateur verrouillé par nœud prend en charge l'outil d'automatisation de test à utiliser sur un seul ordinateur physique de votre réseau d'entreprise. Vous ne pouvez exécuter qu'une seule instance de l'outil à la fois sur l'ordinateur sous licence. Cette licence est généralement liée au nom d'hôte de la machine.
2) Licence utilisateur flottante simultanée
Une licence utilisateur flottante peut être partagée entre différentes machines, mais ne peut être utilisée que par une seule machine à la fois. Il n'est pas lié au nom de la machine ou à quoi que ce soit, mais utilise un gestionnaire de licences (installé sur un serveur) pour gérer la même licence sur différentes machines.
Fondamentalement, avec la licence Node-Locked, vous n’avez pas la liberté d’installer l’outil sur une machine, de le désinstaller puis de l’installer à nouveau sur une autre machine. Mais avec la licence utilisateur flottante, vous êtes autorisé à le faire.
3) Licence d'exécution
Les deux types de licences mentionnés ci-dessus sont généralement achetés pour «développer» les scripts. Ce sont donc des licences de «développement». Pour exécuter les scripts sur différentes machines, vous devez disposer de la licence «exécution» ou «Runtime» pour chaque machine.
Exemple:
Par exemple, si un testeur doit développer et exécuter des cas de test sur la même machine, une licence de développement suffit.
Mais s'il a besoin de développer sur une seule machine et d'exécuter les cas de test sur trois machines virtuelles ou physiques différentes, il doit acheter une licence de «développement» et trois licences d'exécution.
Certains fournisseurs proposent des licences d'exécution gratuites (comme l'interface utilisateur codée) et d'autres avec un prix (comme Test Complete, Ranorex, etc.). Tout dépend donc d'un fournisseur à l'autre.
4) Licence Open Source
C’est le choix de votre entreprise d’opter pour un outil commercial et de payer un coût ou d’opter pour un outil open source.
Les outils commerciaux sont chers, mais ils offrent un excellent support et sont faciles à utiliser avec de nombreux supports de formation fournis. Les outils commerciaux sont généralement «un outil pour tous les besoins». Les outils open source sont gratuits mais sont généralement plus difficiles à maîtriser. Il y a peu de support officiel, mais vous pouvez trouver des solutions en visitant différents forums. Les solutions open source répondent normalement à des besoins spécifiques.
b) Frais d'assistance, de mise à niveau et de formation:
Pour l'assistance, la formation et les frais de mise à niveau, vous devrez peut-être appeler le représentant de l'entreprise. Certaines entreprises offrent des remises spéciales sur l'achat en gros de licences, de sorte que parfois cette information n'est pas clairement mentionnée sur les sites Web. Vous obtiendrez les informations uniquement par appel ou par e-mail.
Question 3: L'outil prend-il en charge le système d'exploitation / navigateur ou périphérique dans lequel votre application s'exécute?
Cette question dépend normalement du type d'application que vous utilisez.
a) Si basé sur un ordinateur de bureau:
Si vous travaillez sur une application de bureau, vous devez indiquer combien de systèmes d'exploitation vous souhaitez tester cette application. Je travaillais sur une application de bureau et je voulais la tester sur Windows 7 et Windows 8.1. J'ai donc choisi l'interface utilisateur codée car elle prend en charge les deux.
b) Si basé sur un navigateur
Si vous travaillez sur une application Web, vous devez indiquer combien de navigateurs vous souhaitez tester cette application. Je voulais exécuter mes cas de test sur FireFox, Chrome et IE. J'ai choisi le sélénium pour mon application web car il supporte tous ces navigateurs. Assurez-vous que l'outil que vous choisissez doit prendre en charge les versions plus anciennes et plus récentes de vos navigateurs requis.
quelle est la meilleure application de téléchargement de mp3 pour android
c) Si mobile
Si vous travaillez sur des applications mobiles, vous devez savoir sur quels systèmes d'exploitation mobiles vous devez exécuter vos cas de test. Si votre application fonctionne à la fois sur Android et IOS, votre outil devrait le prendre en charge. Selenium a des pilotes distincts pour exécuter des scripts sur Android, IOS, Windows Phone et BlackBerry. Vous pouvez également utiliser un outil distinct pour chacun des OS mobiles. Il existe Robotium pour Android, Appium pour IOS et Android et CodedUI pour les applications Windows Phone.
Encore une fois, cela revient au débat entre l'open source et le commercial. Comme vous pouvez le voir, il existe des logiciels open source distincts outils pour tester sur le Web , basé sur mobile et les applications basées sur le bureau. Mais si vous optez pour un outil commercial tel que Test complete, Ranorex ou Test Studio, ils peuvent tester les trois types (applications mobiles, de bureau et basées sur navigateur). Ainsi, dans le cas de l'outil commercial, vous n'avez besoin d'apprendre qu'un seul outil pour tester les applications Web, de bureau et mobiles.
Question n ° 4: L'outil prend-il en charge les technologies et les contrôles tiers utilisés dans votre application?
C'est un aspect très important lors de la sélection de l'outil. Vous devez savoir de première main quelles technologies sont utilisées dans votre application. Consultez vos développeurs et notez-les. S'ils utilisent HTML 5 ou SilverLight dans des applications Web, attention, il n'y a pas beaucoup d'outils d'automatisation pour les prendre en charge. Si l'outil revendique la prise en charge de ces technologies, téléchargez la version d'évaluation de cet outil et essayez d'identifier différents objets dans votre application. Si l'outil ne parvient pas à les identifier, leur affirmation est fausse. Cette activité vous sauvera de la misère ultérieure.
Matrice de comparaison des outils d'automatisation des tests:
Le tableau suivant compare différents outils en ce qui concerne leur prix de licence et leur support pour différentes technologies. (Vous devriez prendre ce graphique comme une pratique d'apprentissage sur la façon de créer des comparaisons entre différents outils, mais l'exactitude des données fournies n'est pas de 100%)
(Cliquez sur l'image pour l'agrandir)
Y = pris en charge, N = non pris en charge, U = inconnu
Question n ° 5: Combien de langues sont prises en charge par l'outil? Avez-vous des ressources qualifiées pour ces langues?
L'apprentissage de l'outil est un aspect. L'apprentissage de la langue est un autre aspect. Si vous disposez de ressources ayant une expertise en Java et que votre outil ne prend pas en charge Java, le temps nécessaire pour apprendre le nouveau langage sera ajouté à votre effort d'automatisation.
Un autre aspect est que si votre produit est construit sur Java, vous devez avoir une équipe de développeurs experts en Java. Ces développeurs peuvent également aider l'équipe d'automatisation en termes de problèmes liés à la langue. Il est important de sélectionner l'outil qui propose une langue familière avec vos ressources et cela vous aidera à minimiser la courbe d'apprentissage de vos ressources.
Le Selenium WebDriver propose d'écrire des scripts dans plusieurs langages tels que C #, Java, Python, Ruby et en JavaScript. TestComplete propose également l'écriture de scripts dans plusieurs langages de script tels que VBScript, JScript, DelphiScript, C ++ Script et C # Script.
Question n ° 6: L'outil prend-il en charge la connexion à différentes sources de données?
Si nous utilisons un cadre d'automatisation tel que mot-clé ou basé sur les données, nous devons pouvoir connecter notre outil à n'importe quelle source de données. Si l'outil fournit facilement une connectivité avec différentes sources de données, ce sera très bénéfique.
Consultez la prise en charge des sources de données courantes telles qu'un fichier CSV, un fichier Excel, un fichier XML et une base de données. Si ceux-ci sont présents dans un outil, vous êtes prêt à partir.
Question n ° 7: Comment est le mécanisme de reporting de l'outil d'automatisation?
Lorsque nous exécutons le script, il réussira ou échouera. Dans le cas du pass, il n'y a pas beaucoup d'informations nécessaires à l'exception de la durée et des informations sur l'environnement. Mais en cas d'échec, nous avons besoin d'un rapport complet sur l'échec. Le rapport doit nous dire exactement à quelle étape le script échoue. Un instantané du moment de l'échec sera un avantage supplémentaire.
En outre, ce rapport doit être exporté vers différents formats afin que nous puissions le partager avec les parties prenantes. Dans de nombreux outils, ces options sont intégrées et dans certains outils, il existe des moyens de rendre votre rapport complet. C'est une autre chose à surveiller lorsque vous téléchargez la version d'essai de l'outil. S'il donne des rapports complets sur les échecs, c'est mieux pour l'organisation.
Question n ° 8: L'outil peut-il être intégré aux référentiels de cas de test et de gestion des bogues?
Il y a de fortes chances que votre organisation utilise déjà un scénario de test ou outil de gestion des bogues . Les entreprises souhaitent évidemment que leur outil automatisé soit intégré à leur outil de gestion de cas de test existant afin que l'ensemble du cycle de vie de leurs applications soit géré correctement. Cet aspect doit également être vu lors de la sélection de l'outil d'automatisation de test.
QTP prend en charge QLM, l'interface utilisateur codée prend en charge TFS et TestComplete prend en charge QAComplete. Certains outils Open Source prennent également en charge l'intégration avec les outils de gestion de test open source existants. Tout dépend de ce que votre organisation utilise réellement.
Question n ° 9: Comment est le support technique officiel de l'outil?
Ici, nous ne parlons que d'outils commerciaux. Lorsque vous sélectionnez un outil commercial, son aspect support est très important. Voir le matériel de formation fourni sur le site Web. Le site Web contient-il des vidéos et des tutoriels? Le site Web dispose-t-il d'un forum officiel pour poser des questions? Téléchargez l'essai et posez une question sur leur forum et voyez combien de jours il obtient une réponse. Fournissent-ils un soutien pour un appel?
Les questions ci-dessus doivent vraiment être posées à chaque fois, car vous dépensez une bonne somme d'argent sur l'outil. Si l’outil n’a pas un bon support, ne vous souciez pas de l’acheter.
Question n ° 10: Quelques aspects techniques à voir
Il y a également d'autres aspects techniques à voir tels que:
a) Prise en charge de l'enregistrement et de la lecture
Ce n'est pas une approche recommandée dans l'automatisation des tests, mais il est bon d'avoir un outil. Il simplifie le processus d'apprentissage de l'outil et permet d'automatiser facilement des scénarios simples.
b) Différentes méthodes de reconnaissance d'objets et prise en charge du mappage d'objets
Il devrait y avoir une variété de sélection du même objet avec différentes méthodes. Certains objets sont difficiles à reconnaître. Ainsi, la variété des méthodes de sélection est toujours utile.Par exemple, le sélénium prend en charge la sélection d'objets en id, nom, classe, test de lien, XPATH , Sélecteur CSS et JavaScript. Voici un tutoriel sur - comment QTP identifie les objets de manière unique . Si une méthode de sélection ne fonctionne pas, nous avons une variété d'autres méthodes parmi lesquelles choisir qui est toujours utile.
De même, il devrait y avoir une option pour mapper correctement ces objets dans le référentiel d'objets. Ce référentiel doit pouvoir être facilement mis à jour et géré. Juste pour vous rappeler que Selenium n'a pas de support intégré pour le mappage d'objets.
c) Différents points de contrôle ou support d'assertion.
Le scénario de test est réussi ou échoué en fonction de points de contrôle ou d'assertions. Si l'outil a une variété de méthodes pour vérifier vos résultats attendus, il est avantageux. QTP a une variété de points de contrôle tels que Standard , Bitmap , Table , XML, base de données et les points de contrôle du contenu du fichier.
d) Gestion des scénarios de récupération.
Si le scénario de test échoue et que vous souhaitez poursuivre l'exécution, l'outil prend-il en charge cela facilement? Si les scénarios de récupération sont faciles à gérer dans un outil, il vous permettra d'exécuter des cas de test sans aucun problème. Vous pouvez exécuter les cas de test la nuit et le matin, vous obtenez les résultats indiquant quels cas de test ont échoué et quels cas de test ont été réussis. Cela ne se produira que si la récupération des cas de test ayant échoué peut être facilement gérée par l'outil. Sinon, une bonne partie des efforts d'automatisation sera gaspillée dans la gestion des scénarios de récupération. Voir gestion des scénarios de reprise dans QTP .
Conclusion
N'oubliez jamais qu'aucun outil n'est un bon ou un mauvais outil. Tout dépend de vos exigences et de la nature du produit.
Selenium est peut-être l'outil d'automatisation le plus populaire, mais si votre produit est basé sur un ordinateur de bureau, cet outil ne vous sert à rien. Comprenez d'abord votre produit, puis recherchez l'outil approprié qui correspond à vos besoins en suivant les instructions mentionnées dans ce didacticiel.
La sélection correcte des outils d'automatisation joue un rôle essentiel dans le succès de l'automatisation.
Tutoriel suivant - Notre prochain didacticiel de cette série porte sur «Développement de scripts et cadres d’automatisation avec exemples». Encore une fois, vérifiez tous les tutoriels de cette série sur cette page .
N'hésitez pas à poster vos questions / commentaires ci-dessous sur la sélection du bon outil d'automatisation.
Tutoriel PREV # 3 | Tutoriel SUIVANT # 5
lecture recommandée
- Outil de test d'automatisation de l'interface graphique Sikuli - Guide du débutant, partie 2
- Test alpha et test bêta (un guide complet)
- Tutoriel Geb - Test d'automatisation du navigateur à l'aide de l'outil Geb
- Build Verification Testing (BVT Testing) Guide complet
- Meilleurs outils de test de logiciels 2021 (Outils d'automatisation des tests QA)
- Test fonctionnel vs test non fonctionnel
- 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