Quand l’intérêt du projet doit passer avant les intérêts individuels.
La mise en place de tests automatisés sur navigateurs ou sur mobile fait appel à 3 fonctions essentielles et complémentaires dans l’entreprise :
• Le « Quality Assurance » pour définir et imaginer les parcours clients à effectuer sur l’application réalisée par les équipes de développement. Il évalue la pertinence des tests et des scénarios pour valider les besoins.
• Le « Développeur » pour assurer l’aspect technique de la mise en place. Il monte l’infrastructure nécessaire à la réalisation des différents scénarios.
• L’ « Automaticien » qui, conjointement avec le QA, développe et élabore les tests fonctionnels pour vérifier que l’application répond bien aux besoins et aux fonctions exprimées par les équipes métiers.
L’équipe QA a donc pour objectif d’élaborer des tests pour assurer la concordance des besoins métiers avec les livrables développés. Prenons un exemple : le besoin est d’affecter automatiquement les véhicules du parc automobile en fonction de l’ancienneté dans l’entreprise. Véhicule haut de gamme pour les plus anciens et ainsi de suite jusqu’au nouveaux arrivants. Les ressources humaines ont exprimé le besoin, les développeurs gèrent l’aspect technique et le QA valide par des tests fonctionnels en utilisant les jeux de donnés correspondants. Deux cas de figure peuvent alors se présenter :
1 – Les tests fonctionnels et de non régression font partie de la culture de l’entreprise. Cette dernière a implémenté l’industrialisation de l’automatisation des tests et c’est un automaticien, ou un partenaire, qui va utiliser une plateforme pour générer les tests.
2 – Le QA exécute les tests manuellement, semi-manuellement ou externalise tout ou partie des tests à réaliser manuellement.
Mais, ça, c’est en théorie. Et en théorie tout va bien ! Car ces différents interlocuteurs sont des Humains. Et, si on ajoute un soupçon de science du comportement dans notre exemple on obtient :
• Plusieurs interlocuteurs qui ont à cœur la défense de leurs propres intérêts.
L’équipe de tests est au croisement entre la bonne compréhension du besoin par les équipes métiers et la bonne vérification des lignes de code réalisées par les développeurs. Les équipes de tests (QA ou automaticien) se retrouveront entre deux feux dès la levée du premier défaut peu importe la typologie du dysfonctionnement.
Dans notre exemple, si les tests font remonter que les salariés avec 4 ans d’ancienneté se retrouvent avec les mêmes véhicules que les salariés qui viennent d’arriver. Il faut trouver d’où vient l’erreur ? Où, autrement dit, à qui est la faute ? Et c’est là que le projet prend une nouvelle tournure. Est-ce que le besoin exprimé par les équipes métiers était suffisamment clair ? Est-ce une erreur technique, de développement ? Est-ce que tous les cas de figures ont bien été exprimés ?
Depuis 30 ans, 70% des projets informatiques périclites en cause : des problèmes de communication entre les équipes métiers, développement, test… On peut ajouter à cela les équipes infrastructure, base de données …
Le problème est toujours le même : communication, sémantique, définition des termes utilisés, chacun est dans son jargon et dans la défense de SES intérêts. Les relations sont encore plus compliquées lors de l’intervention d’un prestataire extérieur. Dans le cas d’un intervenant externe, outre les difficultés de l’information à remonter, il y a également l’aspect contractuel qui va entrer en jeu. Qui a raison ? Qui a tort ? Qui va payer ?
Mais quand c’est un interne, il y a des problèmes d’égo et de politique. On a tous connu la situation ce n’est pas moi, c’est lui, quand ce n’est pas nous c’est eux.
La solution ?
Si vous faites appel à des prestataires externes, il faut une relation basée sur la confiance et sortir à tout prix de cette relation client fournisseur avec des points physiques très réguliers et non pas des points d’avancement par téléphone. Il faut que dans chacune des entités soit nommé un responsable de “bonne foi”. Comment le déceler nous diriez-vous ? Le seul moyen de s’en garantir c’est de faire plusieurs contrôles de références pour le prestataire externe.En interne, ça dépend uniquement de la culture de l’entreprise. Si au niveau de la direction la culture est de considérer et de mettre en œuvre une compétition entre les services au détriment de l’intérêt collectif. C’est une évidence mais le projet n’a que très peu de chance d’aboutir.
Au contraire, si les différentes compétences travaillent dans un climat de confiance avec une volonté commune de faire aboutir le projet dans les meilleures conditions : vous disposez de toutes les clés du succès. Il y a des corps métiers qui œuvrent et qui ont œuvrés pour considérer les prestataires comme de “simple” fournisseur, qui ont insufflé des compétitions “malsaines” … Ces corps métiers-là ont des projets qui périclite beaucoup plus fréquemment.
On ne mène pas des projets AGILE sans la culture d’entreprise qui va avec.
Points de vigilance : pour augmenter le taux de réussite de l’automatisation, il faut s’assurer que les tests à automatiser sont basés sur des processus de tests manuels matures et documentés. Il faut également ne pas sous-estimer l’effort et l’implication nécessaire de l’équipe QA (concepteur, responsable des tests, testeur, automaticien) dans les phases d’élaboration des tests automatisés et pendant leur exécution.
La gestion des données (élaboration des jeux d’essais, jeux de données) est un élément fondamental qui implique souvent une charge de travail importante à ne pas sous-estimer.
Sans une gestion rigoureuse vous risquez d’être submergé par les informations et vous retrouvez face à l’incapacité de traiter pour améliorer.
Pour conclure.
Quand on parle Humain, on parle de sentiments et d’émotions. Il n’y a rien de rationnel dans tout cela et c’est bien ça l’ennemi des projets informatiques. Placez les intérêts collectifs avant les intérêts individuels. Protégez les individus en instaurant un climat de confiance où chacun peut apprendre de ses erreurs sans être jugé et sans mettre son avancement de carrière en jeu. Vous aurez toutes les clés pour mener à bien vos projets informatiques et, encore mieux, votre projet d’industrialisation de l’automatisation des tests logiciel.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.