Qu'est-ce que les tests d'automatisation? - Processus de test et ses types

Essayez Notre Instrument Pour Éliminer Les Problèmes





Les logiciels deviennent de plus en plus précieux et importants à mesure que nous accueillons de nouvelles applications et de nouveaux appareils dans nos foyers et nos entreprises pour prendre le contrôle d'une tâche importante. Le 16 avrile, 1994, un avion mortel s'est écrasé, juste avant d'atterrir à l'aéroport. Où 250 personnes ont été tuées, ce qui était l'accident le plus meurtrier des compagnies aériennes chinoises. La principale cause de l'incident était due à des bogues logiciels. Les utilisateurs de logiciels n'ont pas été testés avant de l'implémenter. Chaque système a des bogues logiciels. Il est impossible de concevoir un système logiciel sans aucun bogue. Mais l'échec causé par des bogues logiciels sur le système peut être protégé en effectuant des tests logiciels. Le test de logiciel est un processus utilisé pour trouver l'erreur, l'exhaustivité et la qualité des logiciels développés. Il comprend un ensemble d'activités menées dans le but de trouver des erreurs dans le logiciel afin qu'elles puissent être corrigées avant que le produit ne soit mis à la disposition des utilisateurs finaux. Il existe deux types de tests manuels de procédures de test, et automatisation essai.

Qu'est-ce que les tests d'automatisation?

Les tests automatisés utilisent l'aide d'outils, de scripts et de logiciels pour réaliser des cas de test en répétant des actions prédéfinies. Cela dépend complètement du test pré-scripté, où nous comparons le résultat attendu avec le résultat réel lorsque le pré-script est exécuté. Des tests comme la charge, la contrainte, le pic peuvent être testés à l'aide d'outils d'automatisation. Exemple: Facebook teste une interface cerveau-ordinateur, qui peut traduire des pensées en textes numériques.




Quels cas de test doivent être automatisés en premier?

Voici les cas de test qui doivent être automatisés en premier lieu,

  • Tâche répétée - Un exemple comme un site de commerce électronique qui teste plusieurs fois les informations de connexion, pour s'assurer que la page de connexion fonctionne selon les exigences de l'utilisateur.
  • Capture et partage des résultats - Plutôt que de croiser les chiffres et de créer des graphiques, investir dans des outils ou une stratégie d'automatisation peut être utile, ce qui permet de gagner du temps.
  • Test de saisie de données - Automatiser les informations sur la source de données afin qu'elles soient facilement accessibles à lire. Où l'on peut mieux gérer la variabilité des données. C'est quand on veut rechercher des données particulières parmi des milliers de données, l'outil d'automatisation peut être utilisé pour rechercher les données particulières.
  • Moment ou réponse au dépistage - Pas besoin de garder une trace de l'écran manuellement, il peut être amélioré en utilisant le code automatisé «attendre jusqu'à».
  • Tests non fonctionnels - Un exemple d'automatisation du type de test non fonctionnel est l'automatisation des tests de charge. Si nous avons une charge de dix mille au lieu de tester manuellement, il est préférable d'utiliser les tests d'automatisation.

Processus de test d'automatisation

La procédure étape par étape utilisée pour le test d'automatisation est



automatisation - test - processus

processus de test d'automatisation

1). Sélection d'outils de test

Le choix du bon outil en fonction de la nature du test impliqué est très important pour que l'automatisation réussisse. Pour un test, un processus ou un interface utilisateur graphique les outils appropriés de test basés sur les tests doivent être sélectionnés en conséquence.


2). Définir la portée de l'automatisation

La portée de l'automatisation joue un rôle fondamental. Par exemple, les fonctionnalités importantes pour toute entreprise sont les scénarios qui ont une grande quantité de données, ceux qui ont des fonctionnalités communes sur différentes plates-formes et applications, et la complexité des cas de test. Etc.

3). Conception et développement de la planification

Après avoir déterminé l'objectif et le type de test à automatiser, il convient de décider quel test automatisé effectuerait. Développez d'abord les cas de test en tests logiques plus petits, puis écrivez des scripts de test et développez des suites de tests, où elles sont exécutées les unes après les autres de manière automatisée. Ceci est généré en créant un test dans une combinaison comme une bibliothèque qui a plusieurs cas de test.

4). Exécution des tests

Un outil d'automatisation ou un outil de gestion de test est utilisé pour l'exécution du script de test. Après l'exécution finale, un rapport détaillé sur les tests individuels doit être établi. Afin que le rapport puisse être utilisé comme référence pour d'autres tests.

5). Maintenance

Des scripts d'automatisation doivent être ajoutés, revus et maintenus pour chaque cycle. Là où la maintenance devient nécessaire. Par exemple, après avoir écrit du code, nous vérifions le code et s'il y a un bug, un échec se produit. Par conséquent, nous identifions quelle partie du code a une erreur et la corrigeons, puis exécutons le code dès le début. Ainsi, la maintenance joue un rôle essentiel qui améliore la nécessité des scripts d'automatisation.

Approches de l'automatisation

Il existe trois approches de l'automatisation, elles sont

1). Approche pilotée par le code

Il teste le cadre, se concentre sur l'exécution du cas de test pour savoir si diverses sections de codes fonctionnent selon les attentes dans des conditions différentes ou non. C'est une méthode populaire utilisée dans le développement de logiciels agiles.

2). Interface utilisateur graphique (GUI)

Les applications dotées d'interfaces graphiques peuvent être testées à l'aide de cette méthode pour enregistrer les actions et les réponses de l'utilisateur un nombre illimité de fois. Exemple: outil Selenium utilisé pour tester un site Web. Les cas de test peuvent être écrits dans n'importe quel langage de script comme java, phyton, C .. etc.

3). Approche cadre

C'est un ensemble de lignes directrices. Où le framework rassemble les bibliothèques de la fonction, les sources de données de test, les détails des objets et d'autres modules réutilisables. Le coût de maintenance est moindre et très efficace. Exemple: s'il y a un changement dans le scénario de test, cette partie du fichier de scénario de test doit être mise à jour sans aucune modification du pilote ou des scripts de démarrage.

Types de cadres

Il existe différents types d'approches-cadres

  • Cadre de script linéaire
  • Cadre basé sur les données
  • Cadre basé sur les mots-clés
  • Cadre de test modulaire
  • Cadre de test hybride.

Types de tests d'automatisation

Les différents types de tests d'automatisation sont

  1. Test unitaire
  2. Test de fumée
  3. Test fonctionel
  4. Test d'intégration
  5. Les tests de régression

1). Test unitaire

Dans une application Web, plusieurs composants / modèles peuvent être testés. Le processus de test de chaque modèle est un test unitaire. Cela se fait pendant la phase de développement. Où les codes sont écrits par des développeurs et aussi des testeurs.

2). Test de fumée

Les tests de fumée sont également appelés «tests de vérification de construction». Il est utilisé pour vérifier si le code est écrit conformément aux attentes des résultats finaux ou non. Dans les tests de fumée, une fois le test terminé, son résultat final décidera si le test futur doit être poursuivi ou non. Les problèmes lors des tests peuvent être identifiés à un stade précoce.

3). Test fonctionel

Il vérifie la fonctionnalité du Web, fonctionne en conséquence ou non. Par exemple, si nous considérons la page de connexion, où nous devons entrer l'ID utilisateur et le mot de passe. À moins que nous n'entrions des données correctes, notre page attendue ne s'ouvre pas. Si le code est écrit pour la page de connexion et testé correctement, la page attendue s'ouvre, cela signifie que le test fonctionnel fonctionne correctement.

4). Test d'intégration

En cela, les composants individuels sont intégrés et testés à la fois. Où nous pouvons vérifier si les modules individuels sont compatibles avec la communication entre eux. Par exemple, si l'on considère la fabrication d'un stylo à bille, où le stylo se compose d'une recharge, d'un capuchon, d'un corps., Qui sont fabriqués séparément et assemblés ensemble. Lors de l'assemblage, nous les vérifions s'ils sont correctement installés ou non.

5). Les tests de régression

Lorsqu'il y a une mise à jour dans le code, nous nous assurons qu'elle n'affecte pas les codes déjà écrits. Par conséquent, nous faisons des tests de régression. L'utilisation des tests de régression met à jour le code en fonction de l'exigence, détecte l'erreur et la corrige. Un exemple de test de régression est le site Web bancaire, où le site Web est mis à jour périodiquement si nécessaire, comme la mise à jour du solde du compte courant. Par conséquent, lors de la mise à jour du site Web, il faut s'assurer que les fonctionnalités nouvellement mises à jour n'affectent pas les fonctionnalités déjà existantes.

Comment choisir les outils d'automatisation?

Pour sélectionner un outil d'automatisation approprié, vérifiez les propriétés suivantes répertoriées ci-dessous,

  • Prise en charge de l'environnement
  • Test de base de données
  • Identification des objets
  • Test d'image
  • Test de récupération d'erreur
  • Prise en charge de plusieurs cadres
  • Minimiser les coûts
  • Rapports de test étendus et coût.

Types d'outils de test d'automatisation

Il existe de nombreux outils de test d'automatisation, dont peu sont répertoriés ci-dessous

1). Sélénium

Il s'agit d'une méthode open-source qui est une méthode de test populaire pour exécuter des applications Web, plusieurs navigateurs et plates-formes. La dernière version du sélénium est Selenium4. Des compétences avancées en langage de programmation sont requises par le programmeur. Il existe quatre composants de sélénium, sélénium IDE, télécommande de sélénium, pilote Web, grille de sélénium.

2). l'eau

C'est un outil de test open source composé d'une bibliothèque ruby ​​qui automatise les tests d'applications Web. La dernière version de watir est watir 6.16. Les codes peuvent être écrits dans n'importe quelle langue. Firefox, chrome, safari sont certains navigateurs pris en charge par watir. Certaines des fonctionnalités de watir sont, il faut des courts métrages d'écran, des performances de page et il peut télécharger n'importe quel fichier facilement.

3). Ranorex

Il s'agit d'un outil de test d'interface graphique flexible tout-en-un. Il convient à tous les navigateurs et appareils d'environnement. Il prend en charge C # et V.NET. Il est intégré sur les serveurs Microsoft Windows et Windows. Les principaux composants de ranorex sont l'enregistreur ranorex, le référentiel ranorex, l'espion ranorex, l'éditeur de code ranorex et le débogueur ranorex.

4). API (test d'interface de programmation d'application)

Il s'agit d'un outil de test mobile, qui est un logiciel d'application open source. L'API trouve si un test d'API exécuté donne des résultats précis ou non. Il existe différents types de tests d'API, tests unitaires, tests fonctionnels, tests de charge, détection d'erreurs d'exécution, tests de sécurité, tests d'interface utilisateur Web, tests de pénétration, tests de fuzz. Il est implémenté sur l'API POSIX.

Outils de test d'automatisation pour application mobile

Les différents types d'outils de test d'automatisation pour les applications mobiles sont Appium, Robotium, MonkeyRunner, UI Automator, Selendroid, MonkeyTalk, Testdroid, Calabash, Frank, SeeTest

1). appium

  • C'est un open-source
  • Prend en charge Java, Ruby et autres
  • Le code source peut être réutilisé
  • Compatible pour Android et Ios.

2). les robots

  • C'est un open-source
  • Compatible pour toutes les versions et sous-versions d'Android.
  • Les codes sont écrits en Java.

3). Monkeyrunner

  • Les tests de cadre ou de niveau fonctionnel sont effectués à l'aide de monkeyrunner
  • Les codes sont écrits en python
  • Caractéristiques: il contrôle de nombreux appareils à la fois, l'automatisation peut être extensible, les applications et le matériel Android peuvent être testés, l'automatisation peut être extensible.

4). Automate d'interface utilisateur

  • Il est utilisé pour tester les interfaces utilisateur, à l'aide de cas de test d'interface utilisateur.
  • Prend en charge diverses versions d'androïdes
  • Il peut verrouiller et déverrouiller les smartphones

5). Selendroid

  • Il est utilisé pour tester l'interface utilisateur de l'hybride basé sur Android.
  • Les cas de test sont écrits en utilisant selendroid
  • À protocole comme le fil JSON est très compatible.

Risque lié aux tests d'automatisation

Le risque associé aux tests d'automatisation est

  • Le coût initial sera élevé
  • L'automatisation n'est jamais à 100%
  • N'automatise pas l'interface utilisateur non fixée
  • Mauvaise évaluation du temps et des efforts
  • Incompatibilité des outils d'automatisation.

Avantages des tests d'automatisation

Les avantages de automatisation les tests sont

  • L'exécution des cas de test est simplifiée
  • Améliore la fiabilité du test
  • Réduit les coûts de maintenance
  • Les résultats des tests sont rendus publics
  • Aucune erreur humaine
  • Économise du temps et de la mémoire.

Ici, nous avons décrit le logiciel tests d'automatisation, son processus de test, les types de test d'automatisation et l'outil de test d'automatisation. Voici une question: «En quoi les tests d'automatisation sont-ils meilleurs que les tests manuels?».