L’automatisation des tests : les 3 organisations possibles.
Nous avons constaté, lors des échanges que nous avons pu avoir au cours de la Journée Française des Tests Logiciels et la tendance se confirme lorsque l’on regarde l’intérêt que vous portez sur notre blog : l’automatisation des tests est un sujet qui préoccupe un bon nombre d’entre vous. Comment faire ? Quel outil choisir ? Quel prestataire ? Que peut-on automatiser ? …
Pour les experts, nous avons mis à votre disposition un livre blanc sur l’automatisation des tests.
Mais, pour synthétiser, nous pouvons retenir 3 organisations possibles pour automatiser vos tests et vérifier le bon fonctionnement de votre application web ou mobile.
Full Delegate
C’est la solution la plus simple et certainement la plus rapide à mettre en exécution : l’externalisation complète de l’automatisation de vos tests. La complexité va se trouver dans la recherche d’un prestataire compétent qui puisse répondre à vos besoins et vous aurez deux possibilités :
Première possibilité : Cette solution semble, au premier abord, être souple et flexible. Selon les périodes, vous pouvez augmenter ou diminuer le nombre d’intervenants de votre prestataire de service, par exemple. Mais il faut songer aux multiples conséquences : budget non maîtrisé, coût plus important, compétences perdues avec les changements d’intervenants, gestions des différents partenaires, complexité contractuelle, communication entre les fournisseurs, rédaction et établissement des responsabilités pour chaque action…
Deuxième possibilité :C’est une solution idéale pour les sociétés se lançant pour la première fois dans l’industrialisation de l’automatisation de leurs tests de non régression. Cela vous garantit de ne pas avoir de “mauvaises surprises”, permet de maîtriser votre budget, de préserver les compétences, de n’avoir qu’un seul interlocuteur pour tester vos applications et bénéficier d’un rapport régulier…
Solution mixte d’automatisation des tests
Comme son nom l’indique, il s’agit là d’une collaboration étroite entre un prestataire et vos équipes. À vous de déterminer le ou les besoins à externaliser en fonction des compétences dont vous disposez en interne :
* Chez CloudNetCare, notre offre de valeur est ajustable et nous pouvons aller jusqu’à la conception conjointe du patrimoine de tests. Vos équipes ayant bien sûr la compétence métier pour l’élaborer.
Ce type de solutions “à la carte” offrent une grande souplesse et peuvent être évolutives. À vous d’évaluer le temps et le budget nécessaires à la réalisation des tâches qui vous incombent et c’est souvent le principal problème.
Pour rappel l’automatisation des tests implique :
- Une infrastructure (ordinateur, serveur, navigateur, terminaux) à jour et fonctionnelle (suivre les évolutions de versions d’Os …)
- D’utiliser un logiciel d’automatisation des tests à jour et en adéquation avec son infrastructure
- Différents types de scénario et script applicables et à jour des évolutions de la version en production.
- Des jeux de données pertinents permettant de couvrir l’ensemble des utilisations.
- Intégrer les scénarios des tests sur le logiciel d’automatisation
- Maintenir le patrimoine des tests
L’Autonomie
Cela reste assez rare de rencontrer des entreprises qui automatisent leurs tests de non régression en totale autonomie, sans faire appel à des compétences externes. Cela implique de disposer de toutes les compétences (QA, testeurs, automaticien, ingénieur système, chef de projet,etc.) et du temps nécessaire en interne pour mener à bien les impératifs cités ci-dessus.
En effet on minimise toujours le temps. Les échanges que l’on entend fréquemment lors de « projet » d’automatisation, par les responsables :
- Concevoir les scénarios : facile la responsable QA va s’en charger,
- Développer la stratégie et l’outil d’automatisation : le nouveau stagiaire est motivé, épaulé par notre lead technique il va nous le faire en 3 semaines,
- Implémenter l’infrastructure nécessaire, on va prendre le PC qui sert plus et on demandera à un dev d’installer sélénium en une demi-journée c’est fait !!
- Et voilà on aura automatisé nos TNR.
Vous aurez surtout perdu du temps, de l’argent et démotivé vos équipes !!
Nous avons déjà recueilli beaucoup de témoignages d’entreprises qui ont commencé l’automatisation en totale autonomie mais qui en sont « revenues » face à la seule complexité de maintenir à jour et opérationnelle les infrastructures, sans parler du patrimoine de tests…
Automatisation des tests : les 3 points à retenir de la JFTL2019
La Journée Française des Tests Logiciels s’est tenue le 9 avril 2019 au Beffroi de Montrouge. Pour cette 11ème année ce furent plus de 1200 visiteurs qui se sont rendus au salon, une véritable réussite. Pour CloudNetCare, ce fut plus d’une centaine d’échanges autour de l’automatisation des tests avec cinquante entreprises différentes. Des démonstrations, des retours d’expérience, des sollicitations, avec des tests managers, des responsables de cellules de tests, des équipes de développement, des business analystes, des QA, des PO, des testeurs qualifiés … alors, que faut-il en retenir ?
L’automatisation des tests ne cesse de progresser dans les usages et les besoins pour les devices mobiles sont de plus en plus nombreux. Mais il n’en reste pas moins que les interlocuteurs rencontrés nous remontent systématiquement les mêmes freins au déploiement de tests automatisés.
1 – Le jeu de données
On a déjà consacré un article sur l’importance des jeux de données pour la réussite des tests de non régression et les échanges que nous avons pu avoir n’ont fait que nous conforter dans l’idée qu’il est difficile de mettre en place des JDD en adéquation avec les scénarios.
Quelle est la méthodologie à appliquer ? Comment mettre en œuvre des environnements avec des jeux de données interchangeables à chaque itération de tests de non régressions ? Est-ce automatisable ? Autant de questions sur lesquelles nous travaillons. Nos équipes R&D développent actuellement une plateforme pour non seulement exécuter les tests mais pour mettre en place automatiquement les jeux de données nécessaires.
2 – La mise en place de l’automatisation des tests
La majorité des interlocuteurs rencontrés ont tous fait un premier pas vers l’automatisation des tests “home made”. Un logiciel open source, quelques développeurs et BEAUCOUP de temps peuvent permettre de mettre en place une plateforme d’automatisation viable. Mais c’est là que le plus dur commence, à l’usage il est indispensable de maintenir le système et la couverture des tests pour que la plateforme reste fonctionnelle.
Résultat : dans la majorité des cas il y a un abandon pur et simple des tests automatisés au bout de quelques mois pour les plus perspicaces et un peu plus d’un an pour les plus acharnés ☺.
3 – La maintenance de la plateforme
Pour ceux qui ont réussi à mettre en œuvre une plateforme et à la maintenir dans le temps il y a encore un obstacle à lever, comme pour le 30éme kilomètre du marathon, le fameux mur ! Il faut désormais maintenir et faire évoluer la plateforme matérielle et logicielle pour suivre les évolutions de l’environnement : mise à jour des langages, des bibliothèques, des navigateurs, des systèmes d’exploitation et des terminaux (smartphone et desktop).
Ce qu’il faut retenir c’est que l’automatisation des tests a encore de beaux challenges à relever ! Indispensable pour des questions d’efficacité et de ROI, sa mise en œuvre reste difficile et sa maintenance très complexe. Pour vous en affranchir, sollicitez une société experte en automatisation ;).
Merci à tous pour la qualité de ces échanges et ces partages d’expérience, nous ne manquerons pas d’en tenir compte et d’y répondre à travers notre ligne éditoriale.
Et pour ceux que nous n’avons pas eu la chance de voir, n’hésitez pas à prendre rendez-vous au moment qui vous conviendra
Pour conclure.
Au final, la meilleure solution n’a pas de manuel pré-écrit : c’est celle qui vous permettra d’atteindre votre objectif : diminuer le nombre de régressions sur les versions mises en production. D’une manière générale et eu égard aux retours d’expériences des sociétés pour lesquelles nous intervenons, nous ne pouvons que déconseiller l’autonomie complète.
Pour les deux autres solutions cela dépendra des compétences, du temps et du budget dont vous disposez en interne. Pour savoir ce qu’il est possible de faire ou pas, nous sommes à votre disposition pour un rendez-vous-conseil sur l’automatisation de vos tests de non régression.
CloudNetCare
Pour que chaque clic soit une expérience réussie
On pilote vos tests, vous gardez le contrôle !
Grâce à notre expertise, vos applications et sites web restent fluides, sans bugs ni frictions, vous permettant de vous concentrer sur votre innovation et garantir ainsi une expérience utilisateur irréprochable.
Notre cabinet français d’experts en tests logiciels, automatise, gère et analyse vos tests quotidiennement pour détecter et corriger les dysfonctionnements avant qu’ils n’affectent vos utilisateurs.