Author

Xavier Brice

Browsing

L’assurance qualité est-elle un frein ou un support lors d’un projet agile ?

Aujourd’hui, lorsque l’on se penche sur la question de l’organisation à mettre en place lors du développement d’un logiciel, le choix d’une stratégie agile semble être l’option la plus performante face à la dynamique du marché. Mais quid de l’intégration de la QA dans cette organisation ? Selon l’étude menée par le world quality report en 2017 : 99% des personnes interrogées disent être confrontées à des difficultés lorsqu’elles effectuent des tests en mode Agile.

 

QA et agilité : de quoi parle-t-on ?

Dans le contexte du développement d’un produit digital, l’assurance qualité (ou QA pour Quality Assurance) désigne tout le processus de vérification mis en oeuvre pour garantir que le produit en cours de développement est conforme aux normes de qualité exigées.

Pour les entreprises, se doter  d’un département dédié à l’assurance qualité est un gage de crédibilité. Il renforce la relation de confiance avec les clients. C’est également un moyen de travailler plus efficacement et garantir les délais de mise en production.  

Nombreuses sont les entreprises à posséder une équipe de développement et un service dédié à l’assurance qualité. Mais ils fonctionnent bien souvent de manière autonome. Les développeurs travaillent sur de nouvelles fonctionnalités et les transmettent au contrôle qualité pour les tester.

Cependant, dans le cadre d’un développement de logiciel agile, où de petites équipent travaillent rapidement et publient fréquemment de nouvelles fonctionnalités, cela ne semble pas être la meilleure approche.

En effet, la méthode agile est une approche itérative et collaborative. Elle place le besoin client au centre du processus de création, notamment via différentes phases de tests. Aussi, la communication et la cohésion d’équipe passe avant les outils et les processus mis en place. L’entreprise ne travaille plus de manière silotée, ce qui facilite le partage des connaissances et assure une meilleure collaboration.

 

Testing Digital Lab

Le combo méthode Agile et QA est-il contre nature ?

En 2018, il paraît surprenant que les entreprises n’aient toujours pas trouvé le moyen d’intégrer correctement les tests dans le cadre d’une méthode agile. Certains chiffrent parlent d’eux-même :

  • La part des budgets consacrée aux tests et à l’assurance qualité (QA) est en baisse depuis 2 ans. Il ne présentait plus que 26% des budgets IT en 2017 contre 35% en 2015,*
  • 99 % des personnes interrogées disent être confrontées à des difficultés lorsqu’elles effectuent des tests en mode Agile.*

Or, il est inconcevable de ne pas tester ! Et ceci quel que soit le cycle de vie du développement et quelque soit la méthode de développement  utilisée. La phase de test doit être faire l’objet d’une réflexion aboutie, basée sur des principes et une méthodologie bien définis.  On qualifie alors de “bon test” la mise en pratique de cette méthodologie, couplée avec de solides compétences techniques. Autrement dit, le test doit s’appuyer sur un processus de base qui sera déployée de différentes façons, suivant le mode développement, y compris en méthode agile.  

Si l’on part du principe que la méthode agile ne repose pas uniquement sur des échanges facilités entre les équipes, mais comporte également une problématique business, quoi de mieux que l’assurance qualité pour atteindre ses objectifs ?  

Envisager dans la phase de test comme une composante à part entière d’un projet agile, semble être la réponse la plus adéquate. Pour être vraiment agile, et développer un logiciel de qualité supérieur, dans un lapse de temps très court, le contrôle qualité et les développeurs doivent donc être synchronisés et travailler en parallèle.

 

QUID de l’importance du testeur dans un projet de tests agile ?

Le testeur a la charge d’assurer la fiabilité du logiciel. C’est à lui de vérifier que les fonctionnalités implémentées par les développeurs répondent aux user stories.

Dans la culture de l’entreprise l’importance accordée au testeur est généralement moindre comparée à celle des développeurs, sauf lorsque l’on s’intéresse à la méthode scrum. Cette nouvelle organisation reconnaît que le testeurs possède une spécialité reconnue, car c’est le seul membre de l’équipe qui possède une vision global du fonctionnement du produit. En effet, il est le seul à connaître parfaitement l’architecture du produit et les fonctionnalités réellements terminée. Le testeur est capable au même titre que les autres membres de l’équipe de donner un feedback sur ce qui à marcher au non au près des clients et des utilisateurs.

Au delà de la méthode scrum, on assiste aujourd’hui à l’émergence des features team dans l’entreprise. Qu’est-ce que c’est ? Une feature team réunit de multiples compétences autour d’un même produit ou d’une macro-fonctionnalité: design, produit, développement, déploiement… Ses membres bénéficient d’une certaine autonomie. Ils travaillent idéalement à proximité (géographique) les uns des autres, afin de favoriser la communication et la collaboration. Au sein de cette équipe, le leader est celui que l’on appelle le scrum master. Il se positionne en grand maître de l’agilité, et se porte garant du respect de la méthode. Son rôle est de faciliter le travail de l’équipe en l’aidant à gagner en autonomie.

 

La dynamique agile donne un nouveau souffle à la stratégie de tests

La dynamique agile donne un nouveau souffle à la stratégie de tests, sans pour autant oublier que le rôle de l’assurance qualité est vital. En effet, l’agilité supprime les frontières entre les développeurs et les testeurs. Ceux-ci avaient jusqu’ici pour habitude de travailler de manière autonome. Cette nouvelle organisation favorise un environnement de travail collaboratif. Alors, non l’assurance qualité n’est pas un frein à l’agilité, bien au contraire ! Pensée en amont du processus de tests, elle va guider le développement logiciel. La QA apportera de la rapidité et de la valeur ajoutée au projet. Ces deux composantes permettront aux équipes de s’adapter plus facilement et de fournir un produit de meilleure qualité aux clients.

 

*Source :chiffres du World Quality report 2017

Automatisez les tests de non-régression sur desktop et mobile

Automatisez les tests en injectant massivement vos jeux de données. Et profitez-en pour augmenter drastiquement la couverture de vos tests.

Les cycles de développement sont de plus en plus courts. En effet les livraisons deviennent hebdomadaire voir quotidienne (!). Mais les sites Internet et les applications mobile intègrent toujours plus de fonctionnalités complexes. Par conséquence les parcours utilisateurs se dé-multiplient. Dans un environnement toujours plus concurrentiel l’enjeu des tests est fondamental. Mais les exécuter manuellement régulièrement (toutes les semaines voir tous les jours) devient impossible sans faire exploser les coûts… et perdre l’envie des testeurs !

Automatisez les tests de non-régression est la solution pour améliorer la qualité de vos livraisons, maîtriser les coûts. Et in fine d’améliorer le Retour Sur Investissement (ROI) alloué aux tests.

Adoptez une stratégie de tests performante pour vos projets agiles ou en cycle en V

Stratégie de tests

Concevoir une stratégie de tests en amont de vos projets c’est vous assurer un contrôle qualité rigoureux. C’est aussi l’adapter aux différents cycles de développement mais aussi, aux spécificités du projet. Pour cela le test leader prend contact avec le chef de projet, Product Owner, le scrum master, la DSI ou encore le métier. Ainsi, auprès d’eux, il recueille le besoin et comprend les enjeux. Dès lors il peut établir une stratégie de tests adaptée au projet en fonction.  Les éléments misent à sa disposition pouvant être : Spécifications Fonctionnelles (SFD), User Stories (US), Wireframes / Concept graphiques, Sitemap, Expression de besoin…

De la nécessité de lancer des tests fonctionnels et ergonomiques régulièrement

Les tests fonctionnels et ergonomiques doivent être lancer très régulièrement. Car garantir une application sans défaut pour les utilisateurs est un enjeu business de plus en plus important. En 2016 : 52,7% du trafic web total venait du mobile (3) ; 36,6 millions de Français achetaient sur Internet (1) ; 16% des transactions en-ligne se faisaient sur mobile en France avec une augmentation de 60% sur un an (2) ; soit 34% dans le monde (3). Ces chiffres ne cessent de prendre de l’ampleur et confirment la tendance et l’importance du “mobile first”… voir du “mobile only”.

Comment tester une Progressive Web App ?

Progressive Web App, futur du web ?

Chez Testing Digital nous sommes régulièrement approchés par les agences, startup et autres entreprises pour tester toutes sortes de sites Internet et Applications Mobiles. Ainsi une majorité d’entre eux développe sur des technologies connues. Alors la stratégie de tests à adopter est éprouvée.

Mais régulièrement on vient nous voir avec de nouvelles technologies, de nouvelles fonctionnalités. Celles-ci sont encore toutes jeunes, peu de développeurs les maitrises. Nous trouvons encore peu de documentation disponible sur Internet. Mais elles sont souvent portées par des leaders de la tech américaine : Facebook, Google et Apple… ce qui les rend attirantes pour beaucoup de développeurs.