Facebook Twitter
alltechbites.com

Test D'évolutivité : 7 étapes Vers Le Succès

Posté le Mars 5, 2022 par Grant Tafreshi

Les systèmes qui fonctionnent très bien pendant le développement, déployés à une petite échelle, peuvent négliger de atteindre les objectifs de performance une fois que le déploiement est mis à l'échelle autour de soutenir les degrés d'utilisation réels.

Un cas d'exemplaire approprié de celle-ci provient d'une importante entreprise de bleu-cope qui a récemment externalisé le développement d'une plate-forme de haute technologie de réflexion à l'avenir. Bien que le développement ait été en retard, cela est jugé acceptable. La machine passait progressivement à travers des composants fonctionnels d'un test d'acceptation individuel et il semblait finalement si une date de déploiement pouvait être définie. Mais le fournisseur a commencé les tests de test et d'évolutivité. Il a suivi une quantité prolongée et coûteuse de modifications architecturales et de modifications des exigences de la machine. Le fournisseur a lutté héroïquement pour fournir un système satisfaisant, jusqu'à ce que le projet soit finalement millé.

Ce n'est pas un cas isolé. Le folklore abonde avec des contes similaires. Des systèmes de répartition des ambulances aux sites Web pour la soumission électronique des déclarations fiscales, les systèmes échouent car ils évoluent et subissent des demandes de pointe. Tous ces projets ne semblent jamais avoir identifié et ordonné les principaux risques auxquels ils ont été confrontés. Cela peut être une étape fondamentale des tests basés sur les risques et s'applique également aux tests d'évolutivité ou aux tests de charge, car il fait pour les tests de fonctionnalité ou les tests de continuité des activités. Sans évaluation des risques, ils ne reconnaissaient pas que la mise à l'échelle était entre les plus grands risques, beaucoup plus afin que la fourniture de toutes les fonctionnalités

les tendances récentes vers l'architecture orientée vers le service (SOA) essaient de résoudre le problème de l'évolutivité mais introduisez également de nouveaux problèmes. L'incorporation de services fournis en externe dans votre solution actuelle implique que votre capacité à évoluer maintenant dépend de ces systèmes externes qui fonctionnent sous charge. Assurer que cela peut être une tâche exigeante et malheureusement, les tests de déformation et les tests de contrainte ici sont souvent négligés.

Une meilleure pratique serait de démarrer le développement d'un système logiciel à grande échelle en utilisant clairement ses performances dans l'âme, en particulier les tests d'évolutivité, les tests de volume et les tests de charge. Pour générer cette mise au point des tests de performance:

  • Recherche et quantifier les volumes d'informations et les volumes de transaction que le marché de la marque implique. Quelques-uns de ces chiffres pourraient être les aveugles et aider les utilisateurs d'entreprise à réaliser toute l'échelle de la machine. Cela peut entraîner une réévaluation de la priorité de plusieurs caractéristiques.
  • Déterminez comment les fonctionnalités peuvent être présentées aux utilisateurs et à la machine structurée pour faciliter la mise à l'échelle de la machine. Habituellement, n'essayez pas d'avoir exactement les mêmes fonctionnalités que vous aurez pour une solution de bureau individuelle d'offre une alternative évolutive appropriée.
  • Reconnaître un domaine intrinsèque du processus de développement est un test de charge à l'échelle représentative à chaque version incrémentielle du logiciel. Il s'agit de tests continus, de se concentrer sur le plus grand risque pour le projet: la possibilité de fonctionner à grande échelle.
  • Assurez-vous que les tests de charge sont adéquats à la fois dans la portée et la rigueur. Le test de charge ne consiste pas seulement à mesurer les temps de réponse avec un test de performance. Le programme de test de déformation doit inclure d'autres styles de tests de charge, y compris les tests de contrainte, les tests de fiabilité et les tests d'endurance.
  • N'oubliez pas que les échecs se produiront. Les systèmes à grande échelle incluent généralement des clusters de serveurs avec un comportement de réduction. Les tests de défaillance, les tests de mise en œuvre et les tests de récupération effectués sur les systèmes d'échelle représentatifs fonctionnant sous charge doivent être inclus.
  • N'oubliez pas que l'échec catastrophique pourrait se produire. Pour les problèmes à grande échelle, les tests de catastrophe et les tests de reprise après sinistre doivent être terminés à l'échelle et aux charges représentatives. Ces activités peuvent être considérées comme les couches techniques des tests de continuité des activités.
  • Reconnaître les services externes si vous les utilisez. Ce que votre emplacement adopte une approche SOA et sont donc influencés par des services externes, vous devez être sûr que le débit et le délai d'exécution sur ces services resteront acceptables à mesure que les échelles corporelles et ses propres demandes augmentent. Une bonne architecture système comprend une réponse gracieuse et une opération de revers si le comportement de service externe se détériore ou échoue.
  • .