Automatiser des tests : comment réussir votre projet ?
Combien d’entre vous n’ont jamais connu de problèmes pour automatiser leurs tests de logiciels ?
Saviez-vous que 60 % des projets d’automatisation de tests fonctionnels sont des échecs ?
Souvent trop compliqués et coûteux à maintenir, les causes d’échec sont nombreuses. Voici la méthode à utiliser.
Evitez les pièges !
Afin d’éviter ces pièges, il est impératif de mettre en place une véritable stratégie d’automatisation de test logiciel bien sûr, mais il faut également être capable de comprendre l’utilité d’un framework d’automatisation des tests et savoir comment choisir le bon par rapport à ses besoins et ses contraintes techniques.
Chez ALL4TEST, nous sommes convaincus par le rôle incontournable des tests dans la création de logiciels de qualité, nous voulons démocratiser les tests et leur automatisation, en rendant accessibles les choix technologiques structuraux et les bonnes pratiques d’automatisation de test.
Avec le déploiement de l’agilité dans l’entreprise, puis par la suite la mise en place du DevOps, les méthodes de travail ont évolué et la fréquence de livraison d’un logiciel a augmenté. La question n’est donc plus : est-ce utile ou rentable d’automatiser les tests fonctionnels de mon logiciel ? En effet, il n’est simplement plus possible de garantir les rythmes de livraison actuels sans automatiser ces tests, au moins en partie. L’enjeu est plutôt de savoir comment faire pour parvenir à automatiser ces tests avec une approche “industrielle” et garantir que l’automatisation des tests fonctionnera durant toute la vie du produit.
Mais le contexte peut varier : entre automatiser un historique de TNR (legacy) vieux de plusieurs années et automatiser les tests de nouvelles fonctions “à la volée” dans une équipe agile, le besoin n’est pas le même. Automatiser des tests d’applications mobile, web ou un ERP, là aussi les contraintes techniques sont différentes. Il est donc nécessaire de bien définir le périmètre de votre projet d’automatisation en début de projet, qui aura la charge de superviser le projet, mais aussi de le maintenir.
C’est pour apporter des réponses concrètes à ces questions que nous avons structuré une offre de service spécifique en 4 modules que vous pouvez utiliser séparément ou dans leur intégralité suivant vos besoins.
Bien Auditer – Bien Outiller – Bien Réaliser – Bien Maintenir
Audit de vos besoins internes :
• Analyse de la maturité de vos équipes sur l’automatisation des tests
• Audit de la qualité d’une manière générale
• Analyse des technologies de développement utilisées pour votre code, fréquence de livraison, organisation agile…
Il existe plusieurs types de frameworks de tests automatiques. ALL4TEST vous proposera ou développera pour vous le framework le plus adapté à votre besoin et vous assistera via des bonnes pratiques d’utilisation et le choix de différentes approches.
• Approche data
• Approche keyword
• Approche hybride
• Approche pilotée par les comportements (BDD) …
• Automatisation de votre patrimoine de tests de non-régression (legacy)
• Approche BDD pour faciliter l’automatisation dans chaque sprint pour vos nouvelles évolutions
• Intégration du Framework de tests automatisés avec votre chaine CI/CD si vous avez mis en place une approche DevOPs
• Mise en place de technologies comme Selenium Grid et/ou Docker (conteneur) pour exécuter vos tests en parallèles sur plusieurs serveurs virtuels et faire du « test as a service ». Vous pourrez monter vos configurations de test à la volée et dans le cloud suivant vos besoins. Le temps d’exécution de vos campagnes de tests automatisés sera ainsi diminué.
Pour en savoir plus découvrez notre article sur les tests dans une architecture micro-service.
• La stratégie de maintenance est un point crucial car les coûts de maintenance sont une partie importante de votre projet
• Le respect des « bonnes pratiques ALL4TEST » en phase 3 permettra de diminuer ces coûts
• Nous pouvons vous proposer de gérer cette phase sur nos plateaux de tests externalisés (TRA) ou de former vos équipes de DEV interne ou Ressources QA interne pour permettre de faire vivre votre plateforme de tests automatisés durant de longues années !
En savoir plus sur l'approche Clean test, un coaching outillé inspiré des concepts de Clean Code
Les frameworks de tests les plus connus reposent essentiellement sur 4 couches :
- Ressources : données de tests, variables d’environnement, les objets de l’application à tester et les scénarios de rétablissement
- Driver : le script qui dirigera l’exécution des tests selon l’ordre souhaité
- Librairies : l’ensemble des fonctions et procédures techniques et métiers
- Rapports et logs : rapports de tests, fichiers de logs suivant des niveaux de trace (INFO/DEBUG)
Cette approche vous permettra de diminuer les coûts de maintenance et augmenter la réactivité de vos équipes / aux demandes d’évolutions.
Il existe également des approches différentes entre des Frameworks orientés low code (pas besoin de scripter) et des robots de test open source type Selenium. Vous pouvez comparer ces 2 approches dans notre article Agilitest vs Selenium.