Fermer

décembre 20, 2022

Tests agiles ou traditionnels : y a-t-il vraiment une différence ?


Explorez la réalité des tests de logiciels. Existe-t-il des différences vraiment significatives entre les tests Agile et les tests traditionnels ? Au-delà de la planification, la tâche de test réelle est-elle différente pour les testeurs QA ? Découvrez à quel point la méthodologie utilisée importe peu pour les professionnels des tests de logiciels.

Les tests de logiciels évoluent selon un schéma circulaire continu, ou du moins cela semble être le cas. Il existe des distinctions précises entre les tests de logiciels dans une équipe de développement Agile et un assurance qualité (QA) équipe de test qui teste de manière traditionnelle. Les tests traditionnels sont définis comme toute méthode autre que Tests agiles. Les tests traditionnels incluent des équipes de développement utilisant des cascades ou d’autres formes de test formelles ou hautement réglementées.

Lors de la planification et de l’exécution des tests, y a-t-il vraiment une différence entre les tests agiles et traditionnels ? Outre la durée d’exécution et la planification des tests ? Mon expérience est que c’est littéralement la même chose, seulement dans les tests Agile, il est réparti sur des sprints, puis répété avant une version ou répété sous forme de test de régression continue. Y a-t-il une réelle différence pour les professionnels du test ?

Ce guide traite des différences et des similitudes entre les tests dans une méthodologie de développement logiciel Agile ou traditionnelle. Explorez la réalité des tests de logiciels. Existe-t-il des différences vraiment significatives entre les tests Agile et les tests traditionnels ?

Points clés à retenir

  • Qu’est-ce que la méthodologie Agile ?
  • Qu’est-ce que la méthodologie Agile dans les tests ?
  • Qu’est-ce qu’officiellement le test Agile ?
  • Qu’est-ce que le test Agile en réalité ?
  • Découvrez ce que les tests traditionnels signifient officiellement et comment cela fonctionne.
  • Découvrez les similitudes entre les techniques de test traditionnelles et agiles.
  • Découvrez à quelle fréquence les techniques de test se croisent, laissant peu de distinction dans les tâches de test réelles.

Qu’est-ce que la méthodologie Agile ?

La méthodologie agile est un processus qui vise à valoriser les individus et les interactions plutôt que la documentation, les processus formels et les outils. Agile admet que le changement se produit constamment dans le développement de logiciels et que la meilleure façon de gérer le changement est de l’accepter et de le gérer.

Développé à l’origine par le Alliance Agile en 2001, la méthodologie Agile est populaire pour les organisations de logiciels développant des applications qui doivent être livrées rapidement et avec une haute qualité. La méthodologie Agile détourne l’attention des processus suivants et de la création de documentation et donne la priorité au client. Le logiciel doit répondre aux attentes des clients et offrir une expérience utilisateur positive.

Qu’est-ce que la méthodologie Agile dans les tests ?

Le processus de test Agile s’inscrit dans le cadre du développement dans la mesure où les tests sont effectués pendant le codage. Les tests d’assurance qualité commencent au début du projet, de la conception au codage et jusqu’à la publication. Le test est continue tout au long du processus de développement plutôt que d’être séquentiel ou de se produire une fois le codage terminé.

Les tests agiles suppriment les barrières temporelles entre les fonctions en s’alignant sur une équipe de développement. L’équipe conçoit, code et teste le logiciel dans le cadre du processus de développement. Les tests agiles fournissent plus fréquemment un code de version fonctionnel et de qualité. En publiant fréquemment, l’équipe peut répondre aux commentaires des utilisateurs lors du prochain sprint ou itération. Garder le client au centre garantit que le produit répond aux attentes.

Quelle est la définition officielle des tests agiles ?

La définition officielle de Tests agiles teste des pratiques qui suivent les règles et les principes du développement logiciel Agile. Officiellement, il s’agit d’une définition vague sujette à de multiples interprétations d’Agile et des principes qu’une organisation de développement logiciel utilise dans la pratique.

Le développement agile comprend généralement une étape de planification où les user stories sont créées, délimitées, révisées et placées dans une série d’itérations de une à plusieurs. Au cours des itérations, des tests ont lieu sur chaque user story, tandis que tests de régression sont développés à travers les itérations pour une exécution continue ou avant une version fonctionnelle de la fonctionnalité.

Selon l’équipe de développement, les testeurs de logiciels peuvent recevoir des spécifications et des documents de conception à utiliser, mais avec la mise en garde que les exigences peuvent changer selon les besoins. Une autre option est que toute la documentation des décisions de conception et de codage est hébergée dans un tableau de user stories stockées par projet.

La pratique réelle du développement, de la planification et de l’exécution des tests dépend du style de test utilisé. Par exemple, les organisations peuvent adapter Agile pour le développement et revenir aux méthodes de test traditionnelles une fois les itérations de fonctionnalités terminées. Les pratiques de test agiles peuvent impliquer TDD ou BDD (développement piloté par les tests ou développement piloté par le comportement), des tests de user story ou de feature story uniquement sans test de régression, ou un échantillonnage aléatoire de plusieurs techniques en fonction du temps disponible pour les tests. Pour certaines organisations Agiles, les tests n’existent pas en tant qu’effort de travail distinct, mais sont associés ou se produisent en tant que tâche gérée par le développement.

Qu’est-ce que les tests agiles dans la réalité ?

En réalité, les tests Agile ont une définition personnalisable basée sur les principes adoptés par l’entreprise de développement de logiciels et à quel point ils sont littéralement suivis. Sur la base de l’expérience, ce qui se passe généralement, c’est que la méthodologie Agile est adoptée par l’entreprise, suivie d’une formation aux itérations, aux tâches de scrum master et aux tâches d’équipe définies.

Le plus souvent, les tâches de travail restent dans un style traditionnel où la gestion des produits fournit des user stories avec un niveau variable de détails descriptifs ou d’exigences. Les chefs de produit dirigent l’équipe dans la planification et l’affectation des user stories en itérations pour le codage et les tests. Les tests suivent l’achèvement de chaque histoire codée, en supposant que la fonctionnalité fonctionne suffisamment pour être testable.

Maintenant, il y a probablement de nombreuses organisations qui suivent TDD, où des tests automatisés ou de type unitaire sont créés sur la base du code développé. Cependant, pour la plupart au moment des tests, les tests Agile deviennent des tests traditionnels mais à une vitesse Agile. En d’autres termes, les techniques de test traditionnelles se poursuivent mais à un rythme plus rapide et généralement avec des informations moins détaillées, telles que des spécifications de conception ou des cas d’utilisation fonctionnels complets. Essentiellement, les tests Agile équivaut souvent à exécuter des tests à plusieurs reprises dans un délai raccourci.

Quelle est la définition officielle des techniques de test traditionnelles ?

La définition officielle de tests traditionnels teste dans le cadre d’une méthodologie de développement logiciel où chaque phase organisée doit se terminer avant que la suivante ne commence. En d’autres termes, le processus de développement logiciel suit un chemin unidirectionnel depuis la conception, les exigences, le codage, les tests et la publication.

L’équipe de gestion des produits, comme Agile, planifie et documente les exigences en fonction des besoins des clients. La documentation du plan et des exigences passe à la phase de codage. Une fois les fonctionnalités codées, les testeurs de logiciels reçoivent une version de code pour commencer les tests. Les testeurs de logiciels utilisent les exigences et la documentation de conception lorsqu’elles existent pour développer des cas de test pour toutes les fonctionnalités prévues.

Les tests se poursuivent jusqu’à ce que toutes les exigences soient remplies. vérifié. Les défauts sont entrés, puis l’équipe de développement logiciel ou un comité détermine quels défauts sont corrigés et lesquels restent dans un carnet de défauts pour une future version. Si des corrections de défauts sont codées, tous les cas de test concernés sont mis à jour et une phase d’exécution des tests de régression reteste pour garantir la qualité de la version.

Une fois la phase de test terminée, le code est empaqueté et mis à la disposition du client. On peut le considérer comme un processus étape par étape depuis la conception, les exigences, le codage, les tests, puis la publication. Le seul chevauchement est le travail qui commence et se termine par différentes équipes au sein du groupe de développement logiciel. Par exemple, le développement de cas de test commence une fois la conception et les exigences terminées et pendant le codage. Lorsque les tests sont actifs, les équipes de conception et de produit travaillent à la conception de l’ensemble de fonctionnalités de la prochaine version.

Comment les tests agiles et traditionnels se croisent dans la réalité

Les tests agiles et traditionnels se croisent, à commencer par les techniques de test utilisées. Par exemple, l’automatisation des tests, l’unité, la fumée, la régression, l’intégration et les tests fonctionnels ou de fonctionnalités sont des types de tests pertinents utilisés pendant les cycles de test. De plus, les tests agiles et traditionnels utilisent les mêmes techniques, notamment l’automatisation des tests de fumée, de régression et fonctionnels. Utiliser des tests exploratoires ou des tests de valeurs limites et de transition de phase pour trouver des défauts.

<aside>
  <hr>
  <div class="row">
    <div class="col-4 u-normal-full u-small-mb0">
      <h4 class="u-fs20 u-fw5 u-lh125 u-mb0">
        Testing Methodologies: From Requirements to Deployment
      </h4>
    </div>
    <div class="col-8">
      <p class="u-fs16 u-mb0">
        <a href="https://www.telerik.com/blogs/testing-methodologies-requirements-deployment" target="_blank">Wrap your head around the various testing methodologies</a>, at what point to implement them and what each methodology tests.
      </p>
    </div>
  </div>
  <hr class="u-mb3">
</aside>

Les deux utilisent essentiellement les mêmes techniques de test et les mêmes types de test. En réalité, les tests agiles impliquent souvent des tests au-delà des tests TDD, BDD ou user story. Les exécutions de test se produisent après la correction des défauts et plusieurs itérations sont terminées. Pourquoi? Bien que techniquement non Agile, les tests de régression à la fin d’une série d’itérations permettent de réduire le nombre de défauts pour la version. Insectes et les défauts sont faciles à coder lorsque les exigences et les fonctionnalités changent au cours des itérations du développement logiciel. Cependant, la divulgation des défauts aux clients ne sert souvent pas à établir la confiance ou à améliorer l’expérience client.

De même, les tests traditionnels ont tendance à impliquer un remaniement ou un recodage cohérent. Lorsque les décisions de conception et de codage sont prises une fois, puis codées, testées et publiées, il y a beaucoup de temps pour qu’un changement d’avis se produise. Peut-être que le client décide que la fonctionnalité ne fonctionne pas comme prévu, ou qu’il a vu quelque chose de mieux et souhaite que de nouvelles fonctionnalités soient ajoutées à la fonctionnalité d’origine. Pour le développement traditionnel, cela déclenche un autre cycle complet de conception, de codage et de test, un peu comme une itération Agile, mais plus longtemps.

Les tests sont similaires pour le développement de logiciels Agile et traditionnel. La seule différence significative est le temps. Le temps alloué aux tests dans Agile est plus court car, en théorie, les tests sont la responsabilité de chacun et toutes les fonctionnalités doivent être testées dans la conception, le codage et la gestion des produits. Les autres membres de l’équipe testent-ils vraiment ? Si oui, les tests sont-ils effectués efficacement ? La réponse dépend de l’équipe de développement logiciel et de la manière dont elle utilise les tests Agile ou traditionnels.

Les tests sont des tests, et des tests efficaces réduisent les défauts dans les versions destinées aux clients. On peut appeler cela des tests agiles ou traditionnels, la différence se résume au timing. Le moment et la fréquence d’exécution des tests sont les seules différences entre les tests Agile et les tests traditionnels pour les testeurs de logiciels.

Vos testeurs sont-ils déjà au maximum d’exécutions de tests ? Envisagez des outils pour rendre la gestion des tests à la fois efficace et efficiente. Des outils de test comme Test Studio tirent parti des dernières nouveautés technologie de test pour créer, gérer et exécuter une exécution de test efficace et efficiente, qu’elle soit Agile ou traditionnelle.




Source link

décembre 20, 2022