Product Design, Manufacturing & Innovation Resources
Maison » Vérification statique et vérification dynamique (IT)

Vérification statique et vérification dynamique (IT)

1970
Ingénieur logiciel effectuant une vérification statique à l'aide d'outils d'analyse de code en informatique.

(Image générée à titre d'illustration uniquement)

Vérification Les techniques de vérification sont généralement classées en deux catégories : statiques et dynamiques. La vérification statique (ou analyse statique) examine le code ou la conception du système sans l’exécuter. Parmi les exemples, citons les revues de code, les inspections et les outils d’analyse statique automatisés. La vérification dynamique (ou test) consiste à exécuter le système avec un ensemble d’entrées et à observer son comportement afin de détecter les défauts. Ces deux méthodes sont complémentaires pour une assurance qualité complète.

La vérification statique et la vérification dynamique sont des approches complémentaires pour la détection des défauts. La vérification statique est effectuée dès les premières étapes du cycle de développement, souvent avant même la compilation du code. Elle permet d'analyser l'intégralité du code source et d'identifier des problèmes tels que les erreurs de syntaxe, les incompatibilités de types, les déréférencements de pointeurs nuls et les violations des normes de codage. N'exigeant pas d'exécution, elle peut déceler des problèmes dans des parties du code difficiles d'accès par les tests. Les outils d'analyse statique automatisés font désormais partie intégrante des flux de travail de développement modernes, fournissant un retour d'information immédiat aux développeurs directement dans leurs environnements de développement intégrés (IDE).

La vérification dynamique, communément appelée test, se concentre sur le comportement du logiciel lors de son exécution. Elle consiste à exécuter le programme avec des entrées spécifiques et à comparer la sortie obtenue à la sortie attendue. C'est le seul moyen de détecter certains types d'erreurs, comme les goulots d'étranglement des performances, les fuites de mémoire qui apparaissent au fil du temps ou une gestion incorrecte des interactions utilisateur complexes. La vérification dynamique comprend différents niveaux de test, allant des tests unitaires qui vérifient chaque composant aux tests système qui valident l'application dans son ensemble. Bien que puissant, le test dynamique est par nature incomplet ; il ne peut prouver la présence de bogues que pour les entrées testées, et non leur absence pour toutes les entrées possibles.

Une stratégie de vérification complète utilise les deux méthodes. L'analyse statique permet de détecter rapidement et à moindre coût une catégorie d'erreurs, tandis que les tests dynamiques valident le comportement fonctionnel et non fonctionnel du système en fonctionnement, garantissant ainsi son bon fonctionnement en conditions réelles d'utilisation.

UNESCO Nomenclature: 1203
- Informatique

Taper

Système abstrait

Perturbation

Substantiel

Usage

Utilisation généralisée

Précurseurs

  • compiler theory (for parsing and semantic analysis)
  • techniques de débogage précoces (par exemple, instructions d'impression)
  • logique formelle
  • processus d'analyse et d'inspection du code

Applications

  • Outils d'analyse statique dans les IDE (par exemple, lint, findbugs)
  • frameworks de tests unitaires (par exemple, JUnit, Pytest)
  • processus d'inspection du code et d'examen par les pairs
  • tests de performance et de charge
  • tests d'intrusion de sécurité

Brevets:

NA

Idées d'innovations potentielles

En raison du trafic généré par les robots de scraping, actuellement supérieur à 40 000 par jour, ce contenu est réservé aux membres de la communauté.
> Connexion < ou > Registre < (100% gratuit) pour y accéder, ainsi qu'à tous les autres contenus et outils à accès restreint.

En lien avec : analyse statique, analyse dynamique, tests, vérification, qualité logicielle, revue de code, tests unitaires, lint.

Contexte historique

Vérification statique et vérification dynamique (IT)

1960
1960
1967
1970
1970
1970
1970
1956
1960
1967
1967
1970
1970
1970
1970-01-01

(si la date est inconnue ou non pertinente, par exemple « mécanique des fluides », une estimation arrondie de son émergence notable est fournie)

Inventions, innovations et principes techniques connexes

Les images en pleine résolution et les téléchargements sont uniquement disponibles, et 100% gratuits, pour les membres inscrits.