Passer des tests en cascade aux tests agiles

Lorsqu'une entreprise décide de passer du test Waterfall au test Agile, quels sont les domaines les plus importants sur lesquels se concentrer pour un test Agile efficace?

Comment le test en Agile se compare-t-il à celui du modèle Waterfall? Quel ensemble d'activités sont importants pour les testeurs à connaître et à faire?



Tester tout au long du développement

La première chose à comprendre est que dans le développement agile, les tests sont intégrés tout au long du cycle de vie; tester le logiciel en continu tout au long de son développement.


Dans le modèle Waterfall traditionnel, les tests représentent un effort important et sont laissés vers la fin du développement, alors qu'en Agile, les tests sont petits mais plus fréquents et se produisent tout au long du développement.

Tester tout au long du développement signifie également que le logiciel est dans un état libérable tout au long du développement, de sorte qu'il peut être expédié à tout moment.


Dans le modèle Waterfall, on nous apprend à penser en phases, telles que la phase de conception, la phase de développement et la phase de test. Le développement Agile ne comporte pas de phase de test distincte en tant que telle. Les développeurs sont beaucoup plus impliqués dans les tests, écrivant des tests unitaires répétables automatisés pour valider leur code.



Participation des développeurs aux tests

Avec les tests unitaires automatisés, les tests peuvent être effectués dans le cadre de la génération, garantissant que toutes les fonctionnalités fonctionnent correctement à chaque fois que la génération est produite. Avec une base solide de bonne couverture des tests unitaires, les développeurs se sentiront également plus confiants pour refactoriser le code.

Tester en Agile signifie également commencer tôt. Cela signifie que le contrôle qualité devrait être impliqué dès la phase de conception, comprendre les fonctionnalités et les histoires et commencer à préparer et même à rédiger des tests dès le départ.

L'automatisation des tests est un autre aspect important pour pouvoir exécuter des tests en continu au fur et à mesure du développement du produit. Il ne s'agit pas seulement de tests automatisés unitaires, mais également de tests automatisés API et UI.




Équipes intégrées et inter-fonctionnelles

La transition vers Agile est une activité d'équipe de projet interfonctionnelle. Cet effort conjoint ne se limite pas aux activités de test. Les développeurs doivent aider à tester les cadres et à créer des fonctionnalités, les analystes commerciaux aident à affiner l'histoire.

Chaque membre de l'équipe travaille sur une histoire jusqu'à ce que toute l'histoire soit terminée, c'est-à-dire développée et testée. Les concepteurs, les développeurs et les testeurs travaillent ensemble en parallèle afin d'atteindre un objectif commun et ils devraient tous savoir ce qui est nécessaire pour faire avancer les choses.

La performance en équipe est le principal point clé de la transition de Waterfall vers Agile Testing. L'entreprise peut décider de passer aux tests agiles, mais les gens doivent soutenir ce changement pour réussir.

Il n'y a pas d'équipe de test en agile.




Esprit de qualité, approche de toute l'équipe

Visez la prévention des défauts plutôt que la détection des défauts.

Avec la participation précoce des testeurs au projet, ils peuvent aider à identifier les scénarios clés nécessaires pour tester une histoire. Très souvent, les critères d'acceptation sont rédigés dans le cadre d'un effort conjoint entre un Product Owner, un Développeur et un Testeur - les Trois Amigos.

Cela garantit que tout ce qui est construit est testable et compris par toutes les parties prenantes. De plus, comme de plus en plus de personnes sont impliquées dans la définition des critères d'acceptation et de la «définition de terminé», les erreurs peuvent être rectifiées plus tôt et finalement le bon produit est construit correctement.

Chacun est impliqué et responsable de la qualité du produit.




Moins de documentation, plus de collaboration

Dans le développement Agile, l'accent est davantage mis sur la conversation et la collaboration pour clarifier les exigences que l'approche traditionnelle des spécifications et de la documentation.

Bien que les exigences puissent être clarifiées dans une certaine mesure dans le développement agile, il est toujours possible que les exigences soient ambiguës et incomplètes et que les membres de l'équipe aient une compréhension différente des exigences.

Alors qu'est-ce que cela signifie pour un testeur Agile? Une préoccupation commune pour les testeurs qui passent au développement Agile est qu'ils ne savent pas exactement ce qu'ils testent. Ils n'ont pas de spécification détaillée à tester, alors comment peuvent-ils le tester?

Vous n'avez pas besoin de documentation détaillée pour commencer les tests. Plusieurs fois, des testeurs décents peuvent utiliser leur jugement et leur bon sens pour valider un produit. La connaissance du domaine devient d'une importance cruciale.


Les testeurs doivent être sûrs de travailler davantage à partir de leur propre connaissance de ce à quoi ressemble un bon. Il ne s’agit certainement pas simplement de suivre un script de test, de s’assurer que le logiciel fait ce qu’il dit dans la spécification.