Différence entre les performances et les tests de charge

Différence entre les performances et les tests de charge

Performances vs tests de chargement

Dans le contexte de l'ingénierie logicielle, des tests de performances sont effectués pour découvrir les goulots d'étranglement d'un système. Les tests de performance peuvent également être utilisés pour vérifier les attributs tels que la fiabilité, l'utilisation des ressources et l'évolutivité, et établir une base de référence pour les performances d'un système. Le test de charge est l'un des sous-genres de tests de performance. Il est effectué pour mesurer le comportement d'un système sous une charge de travail spécifiée. Les tests de charge sont plus pertinents pour les systèmes multi-utilisateurs basés sur le modèle client-serveur, mais d'autres systèmes logiciels tels que les traitements de texte ou les éditeurs graphiques peuvent également être testés à la charge.

Test de performance

Comme mentionné ci-dessus, des tests de performances sont effectués pour déterminer et éliminer les goulots d'étranglement d'un système logiciel et établir une base de référence de ses performances qui seraient utiles pour des tests supplémentaires. Les tests de performances comprennent des tests tels que des tests de charge, des tests d'endurance (tests de trempage), des tests de pointe, des tests de configuration et des tests d'isolement. Les tests de performances nécessitent d'obtenir un ensemble de mesures soigneusement contrôlé du système. Pour obtenir les meilleurs résultats des tests de performance, il doit être bien planifié et doit être fait sur un système stable où le processus de test peut se dérouler en douceur. Il est important de comprendre clairement ce que vous voulez réellement mesurer en termes de performances du système lors des tests de performances. Par exemple, si vous testez les performances d'une application Web, vous voudrez peut-être connaître le temps de réponse acceptable et le nombre d'utilisateurs simultanés qui peuvent être gérés par le système. Gardant ces deux aspects à l'esprit, vous pouvez démarrer le test en augmentant constamment le nombre d'utilisateurs et en identifiant le goulot d'étranglement.

Tests de charge

Comme mentionné précédemment, le test de charge fait partie des tests de performances et il est souvent effectué en augmentant la charge sur un système logiciel à l'aide d'outils automatisés. Les tests de charge sont parfois appelés tests de volume. Certains exemples de tests de chargement consisteraient à tester un serveur de message. Les tests de charge sont effectués en utilisant un niveau de charge prédéfini généralement en utilisant la charge maximale que le système peut gérer sans s'écraser. Habituellement, les tests de charge visent à exposer des bogues qui ne sont pas exposés dans les tests ordinaires tels que les problèmes de gestion de la mémoire, les fuites de mémoire, les débordements de tampon, etc. Les tests de charge sert également de moyen de s'assurer que le système répond à la ligne de base des performances établie lors des tests de performance.

Différence entre les performances et les tests de charge

Même si les termes tests de performances et tests de charge sont utilisés de manière interchangeable, le test de charge n'est qu'un seul aspect des tests de performances. Les objectifs des deux tests sont également différents. Les tests de performances utilisent des techniques de test de charge dans le but d'obtenir des mesures et des analyses comparatives et il utilise plusieurs niveaux de charge. Mais les tests de charge fonctionnent sur un seul niveau de charge prédéfini, généralement la charge la plus élevée que le système peut gérer sans s'écraser. En pratique, les tests de performance sont effectués avec l'intention de trouver les goulots d'étranglement du système et de les éliminer. Et lorsque le système ne peut plus être optimisé, les tests de chargement sont démarrés, pour déterminer ce que vous devez ajouter au système (le plus souvent des extensions matérielles telles que le nombre de serveurs Web ou de serveurs de base de données) pour maintenir les exigences prédéfinies par le client.