Performance Testing

Sub Text of Performance Testing Resources

AGILE – Quoi, Pourquoi, Comment … ???

by Swaraj Gupta

Quelle définition adopter ?

Une méthode d’exécution de projet très collaborative et progressive, incrémentale, qui produit un résultat « haute qualité » avec « juste ce qu’il faut » en entrée, peut être qualifiée d’AGILE. AGILE est synonyme de souple, et la souplesse est bien la caractéristique de cette méthodologie. Une organisation agile peut être moulée / repensée en fonction des exigences du projet et du produit final.

Qu’est-ce qui fait qu’un projet est AGILE ?

Chaque équipe a donc une approche ou une manière de faire différente dans l’exécution d’un projet AGILE et quelques-uns des indices que je cherche pour qualifier un projet d’AGILE sont :

  • L’équipe suit-elle un développement piloté par les tests (TDD) ?
  • Chacun des participants impliqués dans le cycle de vie du projet (développeurs, testeurs, parties prenantes de l’entreprise, utilisateurs finaux) est-il activement impliqué dans son exécution (le développement du produit) ?
  • L’équipe fonctionne-t-elle de manière très collaborative et disciplinée ?
  • Tout en développant le produit, suivent-ils une approche d’auto-amélioration ?
  • L’équipe aspire-t-elle à un produit de très haute qualité dans le budget le plus restreint possible ?

Les principes Lean et ceux d’AGILE sont largement adoptés dans les projets de développement de logiciels et AGILE gagne une grande renommée dans la communauté du développement des solutions technologiques.

Voyons ce qu’était la méthodologie la plus utilisée avant AGILE et analysons ce qu’AGILE nous apporte :

Le modèle en cascade

Ce modèle traditionnel de développement de logiciel est un modèle vertical dans lequel les exigences du projet sont établies dès le début, la phase de conception commence, plus tard la mise en œuvre et la vérification, et le processus se termine avec la phase de maintenance. Cette méthode est connue pour être extrêmement longue et très coûteuse. Il a été observé beaucoup de gaspillage (en termes d’heures travaillées) et d’autres effets négatifs également —

  • Dans la plupart des cas, soit les exigences n’ont pas été correctement recueillies, soit elles ont été modifiées dans le cours normal du développement et une fonctionnalité incorrecte ou non souhaitée a été fournie aux utilisateurs finaux.
  • Les murs entre les différentes équipes ont causé des manques dans la communication, donc engendré des problèmes et défauts dans le produit final
  • Corriger les défauts prenait encore du temps, et est également coûteux.

Certaines étapes clés dans un engagement AGILE

L’ensemble du cycle de vie d’un projet AGILE peut être décomposé en trois étapes principales :

  • Création :

    Elle appelle le début de l’élaboration du produit. Elle se compose du recueil des exigences, de la formation de l’équipe, il faut rendre les exigences, les buts et les objectifs clairs pour l’équipe de développement. Fondamentalement, toutes les parties impliquées dans le projet en viennent dans cette étape à une sorte de compréhension commune et définissent / envisagent un objectif commun, résultat de cette étape. En ce qui concerne les tests, des activités comme la configuration de l’environnement, l’identification et l’achat d’outils, la documentation et la planification deviennent le cadre de cette phase.

  • Développement — Itératif :

    Cette phase est la phase clé d’un projet agile, au sein de laquelle le produit est compilé, testé, livré et amélioré (progressivement). Lorsque l’équipe commence le développement du produit, son premier objectif est de livrer la première version exploitable du logiciel, et le plus tôt possible. L’équipe suit l’approche selon la hiérarchisation des besoins (en fonction des besoins commerciaux), la détermination et la répartition du nombre d’heures (les efforts) nécessaires pour répondre à ces exigences, puis la délivrance du produit dans le délai prévu. En même temps, au cours du développement du produit, les testeurs écrivent leur code de test (ou une suite de tests de régression) pour réaliser les tests du produit d’après le développement effectué (développement – piloté – par les tests, TDD)

  • Livraison — Transition :

    Dans cette phase liée à son utilisation, le produit est déployé avec succès dans l’environnement de production et délivré aux équipes commerciales. Beaucoup d’équipes s’impliquent dans le cycle de vie d’un projet comprenant maintenant l’assistance, l’exécution, les tests UAT et les clients. Les équipes marketing s’impliquent également dans cette phase et commencent à vendre le produit. Dans le cadre de cette phase, au fur et à mesure que des demandes d’améliorations arrivent, le produit est mis à jour et publié de manière itérative.

Pourquoi AGILE est au-dessus de la cascade ?

This post is also available in: Anglais


About Swaraj Gupta

Swaraj is a performance, automation and functional test expert who has worked on variety of desktop and mobile applications. The major areas that he focuses on are - functionality, usability, performance and consistency of application behavior. He manages the entire performance testing cycle of the projects that he is responsible for and works on multiple such engagements simultaneously. He has worked in variety of different business domains that include - Hi tech consulting, Financial services, management consulting, auditing services, e commerce, e learning, etcT

Learn more about QTest
AgileLoad.com
Agile Software Security


More Blog