Qu'est-ce que le test statique?
Le test statique est un type de test logiciel dans lequel l'application logicielle est testée sans exécution de code. Des examens manuels ou automatisés du code, des documents d'exigence et de la conception des documents sont effectués afin de détecter les erreurs. Le principal objectif des tests statiques est d'améliorer la qualité des applications logicielles en découvrant les erreurs aux premiers stades du processus de développement logiciel.
Les tests statiques impliquent des examens manuels ou automatisés des documents. Cet examen est effectué au cours d'une phase initiale de test pour détecter les défauts au début du STLC. Il examine les documents de travail et fournit des commentaires de révision. Il est également appelé test de non-exécution ou test de vérification.
Exemples de documents de travail
- Spécifications des exigences
- Document de conception
- Code source
- Plans de test
- Cas de test
- Scripts de test
- Aide ou document utilisateur
- Contenu de la page Web
Qu'est-ce que le test dynamique?
Sous Dynamic Testing , un code est exécuté. Il vérifie le comportement fonctionnel du système logiciel, l'utilisation de la mémoire / processeur et les performances globales du système. D'où le nom "Dynamique"
L'objectif principal de ces tests est de confirmer que le produit logiciel fonctionne conformément aux exigences de l'entreprise. Ce test est également appelé technique d'exécution ou test de validation.
Le test dynamique exécute le logiciel et valide la sortie avec le résultat attendu. Les tests dynamiques sont effectués à tous les niveaux de test et peuvent être des tests en boîte noire ou blanche.
DIFFÉRENCE CLÉ
- Les tests statiques ont été effectués sans exécuter le programme tandis que les tests dynamiques sont effectués en exécutant le programme.
- Les tests statiques vérifient le code, les documents d'exigence et les documents de conception pour trouver des erreurs, tandis que les tests dynamiques vérifient le comportement fonctionnel du système logiciel, l'utilisation de la mémoire / CPU et les performances globales du système.
- Les tests statiques concernent la prévention des défauts, tandis que les tests dynamiques consistent à rechercher et à corriger les défauts.
- Le test statique effectue le processus de vérification tandis que le test dynamique effectue le processus de validation.
- Le test statique est effectué avant la compilation tandis que le test dynamique est effectué après la compilation.
- Les techniques de test statiques couvrent la structure et la déclaration tandis que les techniques de test dynamique sont l'analyse de la valeur aux limites et le partitionnement d'équivalence.
Techniques de test statique:
- Examens informels: il s'agit de l'un des types d'examen qui ne suit aucun processus pour trouver des erreurs dans le document. Dans le cadre de cette technique, il vous suffit de réviser le document et de lui faire des commentaires informels.
- Revues techniques: Une équipe composée de vos pairs, examine les spécifications techniques du produit logiciel et vérifie s'il est adapté au projet. Ils essaient de trouver des écarts dans les spécifications et les normes suivies. Cette revue se concentre principalement sur la documentation technique liée au logiciel, comme la stratégie de test, le plan de test et les documents de spécification des exigences.
- Procédure pas à pas: l'auteur du produit de travail explique le produit à son équipe. Les participants peuvent poser des questions le cas échéant. Une réunion est animée par l'auteur. Scribe prend note des commentaires de l'examen
- Inspection: Le but principal est de trouver les défauts et la réunion est dirigée par un modérateur formé. Cet examen est un type d'examen formel où il suit un processus strict pour trouver les défauts. Les examinateurs disposent d'une liste de contrôle pour examiner les produits du travail.Ils enregistrent le défaut et informent les participants pour corriger ces erreurs.
- Revue de code statique: il s'agit d'une revue systématique du code source du logiciel sans exécuter le code. Il vérifie la syntaxe du code, les normes de codage, l'optimisation du code, etc. Ceci est également appelé test de boîte blanche. Cet examen peut être effectué à tout moment au cours du développement.
Techniques de test dynamiques:
- Tests unitaires: sous Test unitaires, les unités ou modules individuels sont testés par les développeurs. Il s'agit de tester le code source par les développeurs.
- Test d'intégration: les modules individuels sont regroupés et testés par les développeurs. Le but est de déterminer quels modules fonctionnent comme prévu une fois qu'ils sont intégrés.
- Test du système: le test du système est effectué sur l'ensemble du système en vérifiant si le système ou l'application répond au document de spécification des exigences.
En outre, les tests non fonctionnels tels que les performances, les tests de sécurité entrent dans la catégorie des tests dynamiques.
Différence entre les tests statiques et dynamiques:
Test statique |
Test dynamique |
---|---|
Le test a été effectué sans exécuter le programme | Le test se fait en exécutant le programme |
Ce test fait le processus de vérification | Le test dynamique effectue le processus de validation |
Les tests statiques concernent la prévention des défauts | Les tests dynamiques consistent à trouver et à corriger les défauts |
Les tests statiques donnent une évaluation du code et de la documentation | Les tests dynamiques donnent des bogues / goulots d'étranglement dans le système logiciel. |
Les tests statiques impliquent une liste de contrôle et un processus à suivre | Les tests dynamiques impliquent des cas de test pour l'exécution |
Ce test peut être effectué avant la compilation | Le test dynamique est effectué après la compilation |
Les tests statiques couvrent les tests de couverture structurelle et de déclaration | Les techniques de test dynamique sont l'analyse de la valeur aux limites et le partitionnement d'équivalence. |
Le coût de recherche des défauts et de réparation est moindre | Le coût de recherche et de réparation des défauts est élevé |
Le retour sur investissement sera élevé car ce processus intervient à un stade précoce | Le retour sur investissement sera faible car ce processus implique après la phase de développement |
Plus de commentaires commentaires sont fortement recommandés pour une bonne qualité | Plus de défauts sont fortement recommandés pour une bonne qualité. |
Nécessite de nombreuses réunions | Nécessite comparativement moins de réunions |