Externaliser ses tests: pourquoi et comment ?

Aujourd’hui nous aborderons un sujet délicat: l’externalisation des tests. Il existe déjà un article  sur l’externalisation des tests mobiles dans la taverne, n’hésitez pas à le lire.

L’article aborde ce sujet différemment. L’externalisation des tests est toujours une possibilité, encore faut-il pourquoi et quand la faire, mais aussi comment la préparer… car externaliser ses tests sans préparation c’est saboter cette externalisation.

A noter: nous parlerons ici de l’externalisation de l’exécution/analyse/maintenance des tests mais pas de leur conception.

Pourquoi externaliser ses tests?

Il y a plusieurs raisons pour lesquelles on peut vouloir externaliser ses tests, en voici une liste non exhaustive:

  1. On souhaite avoir une forte indépendance des tests. L’indépendance des tests est un point important qui est bien expliciter dans le syllabus ISTQB. Plus un test est indépendant, plus il est partial… La contrepartie est souvent une connaissance plus faible de l’application.
  2. On souhaite pouvoir tester sur un très grand nombre d’environnements (ou devices) et il est impossible d’avoir les environnements et le matériel nécessaire. On parle ici d’adaptabilité. Ce problème est fréquent avec les applications mobiles grand public. Dans ce cas l’externalisation des tests peut être une solution… tout comme des bêta test (sous forme de crowdtesting par exemple).
  3. Les compétences en test ne sont pas disponibles. Ce point peut fréquemment arriver lorsque l’on parle automatisation des tests.
  4. La qualité en production de mon application n’est pas au rendez-vous. Cela rejoint en partie le point précédent.
  5. On souhaite accélérer le temps d’exécution des tests. Cela peut également être une raison valable dans le cas où la campagne nécessite un grand nombre de jours/homme (ex: 40 jours/hommes) de travail et que le nombre de testeurs disponibles (ex: 2 testeurs) ne permet pas d’exécuter assez rapidement tous les tests (1 semaine de campagne).
  6. Diminuer les coûts. C’est également une raison pour laquelle on peut vouloir externaliser. Cette diminution des coûts peut être obtenu par la suppression du besoin d’achats de certains licences.

Quels sont les risques de l’externalisation?

Externaliser ses tests n’est pas anodins et n’est pas sans risque! Dans les principaux risques il y a:

  1. Un manque de connaissance de la nouvelle équipe et donc la dégradation des tests qui entrainera une baisse de la qualité de l’application.
  2. Un manque ou une mauvaise communication qui entraine des incompréhensions
  3. Des problèmes de délais. Les problèmes de délais peuvent également arriver avec de l’externalisation, il faut être vigilant sur ce point.
  4. Une perte de connaissance sur les tests de l’équipe en place. Cette perte de connaissance est induite par la non « maitrise » des tests.
  5. Une dépendance envers le client externe suite à la perte de connaissance.
  6. Des aspects contractuels trop lourds prenant le pas sur l’intérêt du logiciel. Ce type de problème peut arriver dès lors où l’on travaille avec un partenaire, que cela soit de l’externalisation des  tests ou tout autre aspect du projet.

Que faire lorsque l’on souhaite externaliser ses tests?

Il n’y a pas de formule miracle. Néanmoins certaines actions/bonnes pratiques sont nécessaire:

  1. Prévoir en amont (de préférence dès l’élaboration du plan de test) l’externalisation des tests afin de bien la préparer. Une externalisation ne se fait pas à la légère. C’est une décision importante qui oriente la manière de travailler et qui doit être préparée. Ce point permet de limiter le risque de manque de connaissance de la nouvelle équipe et de manque de communication.
  2. Garder certaines activités de test (comme la conception et l’exécution des tests de validation). Cela permet de limiter les risques de perte de connaissance de l’équipe et de dépendance.
  3. Garder au moins un référent sur les tests afin de dialoguer avec le client externe. Cette action permet de fortement réduire les risques de perte de connaissance, de dépendance mais aussi de manque ou de mauvaise communication.
  4. Avoir une bonne documentation du logiciel dans son ensemble ainsi que des tests à externaliser très bien écrits et documentés (non sujets à interprétation). C’est primordial car les testeurs ne connaîtront pas le logiciel ni le contexte. Il sera impossible de compter sur la connaissance du testeur interne qui connait parfaitement l’application! Cette partie permet de limiter le risque de manque de connaissance de l’équipe externe.
  5. Prévoir du temps pour un passage de connaissance entre les équipes. Ce temps est malheureusement trop souvent sous-estimé mais reste nécessaire. Cela permet de limiter le risque de manque de connaissance et de problèmes de délais pour cause de monter en compétence de l’équipe externe.
  6. S’engager avec un partenaire de confiance avec lequel il sera possible d’établir une vraie collaboration. Cela peut paraitre évident ou futile mais il est important de le rappeler. C’est d’ailleurs un des 4 points du manifeste agile (la collaboration plus que les contrats). Il faut également s’assurer que son partenaire potentiel dispose des moyens nécessaires afin de mener à bien les tests que nous pouvons difficilement faire en interne. Bien choisir son partenaire externe permet de limiter les risques de connaissance (avec un partenaire expérimenté dans le test), de communication (avec une bonne collaboration) mais surtout éviter de n’échanger qu’autour du contrat.

Conclusion

Il y a un très grand nombre de raisons d’externaliser ses tests. Il faut cependant jamais le faire à la légère et toujours bien préparer cette externalisation. Afin de bien préparer cette externalisation il faut identifier pourquoi on veut externaliser et quels sont nos besoins. Cette partie devrait se faire lors de l’établissement du plan de test maitre. Cette externalisation doit alors être anticipée, préparée en proposant une documentation et des tests simples, clairs et fiables. Il faut également faire attention à toujours garder la connaissance des tests au sein de l’équipe et bien choisir son partenaire pour externaliser ses tests, partenaire qui devra être dans une démarche et collaboration mais également dans la capacité de bien réaliser ces tests (outils, environnements, personnel…)

 

Pensez à rejoindre le groupe Le métier du test si le test vous intéresse !

N’hésitez pas à me suivre et lire mes autres articles si vous voulez en apprendre plus sur le test ou venir partager vos connaissances

Merci à tous ceux qui mettent « j’aime », partagent ou commentent mes articles

Publié par

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s