Avant de demander: "Que automatiser?", Vous devez répondre à la question suivante: "Est-il rationnel d'automatiser quoi que ce soit dans le projet en cours?" Si la réponse est oui (ce qui signifie que vous avez toutes les ressources nécessaires pour assurer l'automatisation, telles que des spécialistes QA qualifiés, suffisamment de temps, d'argent, etc.), vous devez créer un plan basé sur les exigences de l'objet testé, pour lequel il sera développé tests automatisés. Lors de la création d'un tel document, vous devez avoir une compréhension claire de ce que vous souhaitez automatiser exactement, comment et quels outils d'automatisation choisir. Maintenant, nous n'entrerons pas dans les détails sur la façon de tester exactement telle ou telle fonction, car nous nous intéressons à l'endroit, à notre avis, où l'automatisation doit être mise en œuvre.
Bien sûr, la liste ci-dessous est loin d'être complète, et une liste détaillée de tests pour vérifier chaque fonction semble être une entreprise inutile. Notre tâche est de sélectionner les parties du projet qui doivent être automatisées en premier lieu:
- Fonctionnalité fréquemment utilisée où le risque d'erreurs est élevé. Les tests automatisés des principaux points fonctionnels réduiront le temps nécessaire pour détecter les erreurs et, par conséquent, le temps nécessaire pour les éliminer sera également réduit.
- Opérations de traitement de données typiques et fréquemment effectuées. Par exemple, les formulaires dans lesquels le nombre de champs à remplir est suffisamment grand. Le but ici est d'automatiser la saisie des données dans le champ requis et de vérifier que la tâche est correctement terminée après réception du résultat.
- Messages de validation. Il est nécessaire d'automatiser l'envoi de données incorrectes dans les champs appropriés et de tester l'exactitude de la validation des données et des messages d'erreur.
- Test complet du comportement de l'ensemble du système en tant qu'objet intégral (test de bout en bout).
- Validation des données nécessitant des calculs mathématiques précis (logiciel comptable ou analytique).
- Vérification de l'exactitude des résultats de recherche affichés en réponse à une requête de données (vérification de l'exactitude de la recherche de données).
- Validation de la récupération des données.
Que ne pas automatiser?
Quels types de tests ne dois-je pas inclure dans les tests automatisés? Listons les situations dans lesquelles les cas de test n'ont pas besoin d'être automatisés:
- Tests d'utilisabilité nécessitant une intervention manuelle pour vérifier les erreurs ou les écarts par rapport au comportement attendu;
- Les cas de test, qui incluent l'installation ou ne nécessitent pas de réexécution de la fonction (cependant, les tests qui impliquent la saisie de données sont nécessaires pour automatiser);
- Évitez d'automatiser les tests qui peuvent conduire à des résultats imprévisibles (par exemple, de nouvelles fonctionnalités, des tests temporaires, des contrôles d'expiration).
- Tests UX, qui incluent la vérification du comportement d'objets sur des écrans de différentes tailles.
Pour améliorer l'efficacité des tests automatisés, une attention particulière doit être accordée aux cas de test. Il est nécessaire de mettre en évidence ceux qui se concentrent sur le test des aspects suivants:
- Opérations de création / lecture / mise à jour / suppression (opérations CRUD). L'exemple le plus simple est l'interface utilisateur. Saisie, visualisation et modification des données utilisateur, suppression d'informations.
- Scénarios standard d'utilisation de l'application. Un exemple est l'utilisation d'un client de messagerie: autorisation, affichage des lettres, navigation dans les lettres reçues, création et envoi de nouvelles lettres, déconnexion. Cette séquence de bout en bout teste la gamme complète d'actions et de manipulations. L'avantage de tels scénarios est qu'à la fin du test, le système revient à son état d'origine (enfin, ou proche de lui), ce qui signifie que l'impact sur les résultats des autres tests est réduit.
- D'autres cas où les tests manuels ne conviennent pas pour une raison quelconque. Par exemple, vérifier la structure des fichiers créés par le système.
C'est de l'automatisation de ces fonctionnalités que vous pouvez tirer le meilleur parti!
Lire la suite: