Le problème est que certaines personnes ne comprennent pas que l'automatisation n'est ni "facile" ni "rapide".
Je ne suis pas d'accord avec votre prémisse ici.
Je suis un grand partisan des tests automatisés, qu'il s'agisse de tests unitaires, de tests d'intégration ou de tests d'interface utilisateur. Il existe de nombreux excellents outils disponibles pour implémenter des tests automatisés.
Comparons les tests automatisés aux tests manuels sur la base de l'exemple suivant:
Dans une application Web, testez la fonctionnalité "Changer le mot de passe" d'un utilisateur existant à l'aide d'un navigateur.
Test manuel :
- Démarrez l'application Web
- Ouvrez le navigateur
- Merde, il y a une erreur. Pourquoi? Oh, j'ai oublié de démarrer la base de données!
- D'accord, fermez l'application Web
- Démarrez la base de données
- Démarrez l'application Web
- Actualisez le navigateur
- Hmm, quel était encore le mot de passe de notre utilisateur de test?
- Jetez un œil à la base de données
- Oh, la table des utilisateurs est vide! Je dois créer un nouvel utilisateur.
- Enregistrer un nouvel utilisateur dans l'application Web: saisie du nom d'utilisateur, du mot de passe et de l'adresse e-mail
- Pourquoi ne puis-je pas me connecter avec mon nouvel utilisateur? Oh, je dois cliquer sur le lien de confirmation dans l'e-mail!
- Eh bien, j'ai donné à l'utilisateur un e-mail comme "test@example.com". Allons à la base de données et définissons la colonne "active" sur "Oui".
- S'identifier. Cette fois ça marche!
- Hmm, qu'est-ce que je voulais tester à nouveau ...?
Facile? Pas vraiment. Il existe de nombreux pièges possibles dans le processus.
Vite? Non. Le travail manuel prend du temps.
Maintenant, essayons d'écrire un test automatisé :
- Nous devons trouver des outils pour que notre langage de programmation démarre automatiquement la base de données et le serveur Web. La recherche et la mise en œuvre prennent du temps.
- La base de données doit être dans un état propre au démarrage du test. La création des scripts prend du temps.
- Nous devons écrire le test. Puisque nous avons besoin d'un utilisateur, nous devons également en enregistrer un nouveau pour notre test. Prend du temps.
- Enfin, nous pouvons écrire ce que nous voulons tester: Changer le mot de passe de l'utilisateur. Avec notre outil de test de navigateur, cela se fait assez rapidement par rapport aux tâches précédentes.
Facile? Non! Nous devions rechercher les outils, les implémenter, corriger quelques bugs dans nos tests.
Vite? Non! Cela prend encore plus de temps que de faire un test manuel.
Mais, il y a une grande différence ici: pour les tests futurs, il vous suffit d'écrire le test lui - même , le dernier point de la liste - qui a été fait rapidement et de manière comparable. Il n'est pas nécessaire d'effectuer toutes les recherches et tous les scripts d'initialisation pour d'autres tests.
Et après avoir passé le test, vous pouvez commencer facilement. En quelques secondes (ou peut-être quelques minutes, si le démarrage de la base de données et de l'application Web prend du temps), vous voyez si la routine "Changer le mot de passe" fonctionne ou non. S'il y a un bug, corrigez-le et relancez le test - vous verrez immédiatement si le bug est corrigé. Rapide et facile .
Écrire des tests automatisés n'est ni facile ni rapide en premier lieu, mais les exécuter l'est.
Et c'est le moment où le temps investi revient.