Tests & qualité logiciels
Familles de tests
Quand faire les tests ?
Comment faire les tests ?
Qui fait et interprète les tests ?
Que coûtent et rapportent les tests ?
CMMi et l’accroissement de la qualité
Tests d’intégration
Quelles briques entrent dans les tests d’intégration ?
Identifier les briques du logiciel
Identifier les interfaces et les interactions entres les briques et l’environnement
Comment réaliser un plan d’intégration ?
Anticiper l’intégration demande une coordination avec les équipes de développement
Protocole
– Respect des règles d’expérimentation
– Rédaction d’un protocole
– Mise en place d’une plateforme de test
– Expérimentation
Résultat
Collecte et interprétation
Tests de dégradation
Comment différencier la dégradation d’un incident ?
La dégradation est prévue dans la conception du logiciel
Les tests de dégradation sont applicables tôt dans la fabrication du logiciel
Comment prévoir la dégradabilité d’une application ?
Lors de la spécification des besoins
Condition de dégradation : volontaire ou sur incident
Documentation des modes dégradés : condition & résultats
Mesure de la fiabilité
Protocole
– Respect des règles d’expérimentation
– Rédaction d’un protocole
– Mise en place d’une plateforme de test
– Expérimentation
Résultats
Collecte et bilan
Tests de reprise sur incident
Quels sont les critères de bonne reprise ?
Temps de restauration
Automatisation des opérations de reprise
Protocole
– Respect des règles d’expérimentation
– Rédaction d’un protocole
– Mise en place d’une plateforme de test
– Expérimentation
Résultats
Collecte et bilan
Tests de charge & tests de stress
Qu’est-ce qu’une mesure de performance ?
Les critères de performance des applications : architecture, qualité du code, réglage des serveurs, disponibilités du réseau
Performance et charge des applications
Les facteurs aggravants
À quelle phase du projet étudier les performances ?
En phase de développement : pour vérifier le comportement de l’application en accès simultanés et déboguer le code
En fin de projet : pour régler les serveurs et augmenter les performances
Quoi mesurer ?
– L’activité du système
– L’activité du réseau
– L’occupation mémoire
– L’occupation du processeur
– Les moniteurs des serveurs Web, de composants et de bases de données
Comment faire les mesures ?
– Mettre en place de la plateforme de test
– Installer un outil de simulation de charge
– Définir un protocole de mesures
– Conformer la plateforme de test à la plateforme de production
– Simuler, mesurer, collecter
Comment interpréter les mesures ?
– Mesurer la charge
– Mesurer la performance
Quels sont les outils de mesure de performance ?
– Les outils de profilage du code
– Les simulateurs de montée en charge
Comment améliorer les performances des applications ?
– Ordres SQL, MPD et réglages du SGBD
– Configuration et trafic sur le réseau
– Bon usage et réglage du serveur web
– Bon usage et réglage du serveur de composants
– Le code, bonnes et mauvaises pratiques
– Qualité versus rapidité
Conclusion
– Anticiper les tests de montée en charge
– Veiller à la qualité du code
– Opérer un « refactoring » régulier