Test (informatique)vignette|Une programmeuse écrivant du code Java avec JUnit. En informatique, un test désigne une procédure de vérification partielle d'un système. Son objectif principal est d'identifier un nombre maximal de comportements problématiques du logiciel. Il permet ainsi, dès lors que les problèmes identifiés seront corrigés, d'en augmenter la qualité. D'une manière plus générale, le test désigne toutes les activités qui consistent à rechercher des informations quant à la qualité du système afin de permettre la prise de décisions.
FuzzingLe fuzzing (ou test à données aléatoires) est une technique pour tester des logiciels. L'idée est d'injecter des données aléatoires dans les entrées d'un programme. Si le programme échoue (par exemple en plantant ou en générant une erreur), alors il y a des défauts à corriger. Exemples de points d'entrée d'un programme : Fichiers Périphériques (clavier, souris, etc.) Variables d'environnement Réseau Limitation des ressources (mémoire, disque dur, temps CPU, etc.) etc.
Objet de première classeEn informatique, un objet de première classe (ou valeur de première classe, ou entité de première classe) dans le contexte d'un langage de programmation particulier est une entité qui peut être utilisée sans restriction. Selon le langage, cela peut impliquer : être expressible comme une valeur anonyme littérale ; être affecté à des variables ou des structures de données ; avoir une identité intrinsèque ; être comparable pour l'égalité ou l'identité avec d'autres entités ; pouvoir être passé comme paramètre à une procédure ou une fonction ; pouvoir être renvoyé par une procédure ou une fonction ; pouvoir être constructible lors de l'exécution.
Nombre cyclomatiqueLe nombre cyclomatique, la complexité cyclomatique ou la mesure de McCabe est un outil de métrologie logicielle développé par Thomas McCabe en 1976 pour mesurer la complexité d'un programme informatique. Cette mesure reflète le nombre de décisions d'un algorithme en comptabilisant le nombre de « chemins » linéairement indépendants au travers d'un programme représenté sous la forme d'un graphe. La complexité cyclomatique d'un programme structuré est définie par : où : M = complexité cyclomatique ; E = le nombre d'arêtes du graphe ; N = le nombre de nœuds du graphe ; P = le nombre de composantes connexes du graphe.
Statistique de testEn statistique, une statistique de test - aussi appelée variable de décision - est une variable aléatoire construite à partir d'un échantillon statistique permettant de formuler une règle de décision pour un test statistique. Cette statistique n'est pas unique, ce qui permet de construire différentes règles de décision et de les comparer à l'aide de la notion de puissance statistique. Il est impératif de connaitre sa loi de probabilité lorsque l'hypothèse nulle est vraie. Sa loi sous l'hypothèse alternative est souvent inconnue.
Couverture de codeEn génie logiciel, la couverture de code est une mesure utilisée pour décrire le taux de code source exécuté d'un programme quand une suite de test est lancée. Un programme avec une haute couverture de code, mesurée en pourcentage, a davantage de code exécuté durant les tests ce qui laisse à penser qu'il a moins de chance de contenir de bugs logiciels non détectés, comparativement à un programme avec une faible couverture de code.
Revue de codevignette|Illustration de programmation en binôme, une méthode de revue de code La revue de code (calque de l'anglais code review), ou révision de code, est l'examen systématique du code source d'un logiciel. Cet examen peut être comparé à la critique effectuée par un comité de lecture, dont le but est de trouver des bugs ou des vulnérabilités potentielles ou de corriger des erreurs de conception afin d'améliorer la qualité, la maintenabilité et la sécurité du logiciel.
First-class functionIn computer science, a programming language is said to have first-class functions if it treats functions as first-class citizens. This means the language supports passing functions as arguments to other functions, returning them as the values from other functions, and assigning them to variables or storing them in data structures. Some programming language theorists require support for anonymous functions (function literals) as well.
Protocole de communicationDans les réseaux informatiques et les télécommunications, un protocole de communication est une spécification de plusieurs règles pour un type de communication particulier. Initialement, on nommait protocole ce qui est utilisé pour communiquer sur une même couche d'abstraction entre deux machines différentes. Par extension de langage, on utilise parfois ce mot aussi aujourd'hui pour désigner les règles de communication entre deux couches sur une même machine.
Boîte blancheDans la théorie des systèmes, une boîte blanche (de l'anglais white box), ou boîte transparente, est un module d'un système dont on peut prévoir le fonctionnement interne car on connaît les caractéristiques de fonctionnement de l'ensemble des éléments qui le composent. Autrement dit une boîte blanche est un module qui comporte aussi peu de boîtes noires que possible. On qualifie les systèmes mixtes de « boîtes grises ».
Analyse dynamique de programmesthumb|Logo de Valgrind. Outil permettant de profiler du code. L'analyse dynamique de programme (dynamic program analysis ou DPA), est une forme d'analyse de programme qui nécessite leur exécution. Elle permet d'étudier le comportement d'un programme informatique et les effets de son exécution sur son environnement. Appliquée dans un environnement physique ou virtuel, elle est souvent utilisée pour profiler des programmes. Que ce soit pour retirer des informations sur le temps d'utilisation du processeur, l'utilisation de la mémoire ou encore l'énergie dépensée par le programme.
Preuve empiriquePreuve empirique, données ou connaissance, aussi appelée expérience des sens, est un terme collectif pour désigner la connaissance ou les sources de la connaissance acquise au moyen des sens, en particulier par l'observation et l'expérimentation. Le terme vient du mot grec ancien pour expérience, ἐμπειρία (empeiría). Après Emmanuel Kant, il est habituel en philosophie d'appeler une connaissance ainsi acquise connaissance a posteriori. Cela en opposition à une connaissance a priori, connaissance accessible à partir de la pensée spéculative seule.
DebuggingIn computer programming and software development, debugging is the process of finding and resolving bugs (defects or problems that prevent correct operation) within computer programs, software, or systems. Debugging tactics can involve interactive debugging, control flow analysis, unit testing, integration testing, , monitoring at the application or system level, memory dumps, and profiling. Many programming languages and software development tools also offer programs to aid in debugging, known as debuggers.
Extraction de connaissancesL'extraction de connaissances est le processus de création de connaissances à partir d'informations structurées (bases de données relationnelles, XML) ou non structurées (textes, documents, images). Le résultat doit être dans un format lisible par les ordinateurs. Le groupe RDB2RDF W3C est en cours de standardisation d'un langage d'extraction de connaissances au format RDF à partir de bases de données. En français on parle d'« extraction de connaissances à partir des données » (ECD).
Suite des protocoles InternetLa suite des protocoles Internet est l'ensemble des protocoles utilisés pour le transfert des données sur Internet. Elle est aussi appelée suite TCP/IP, DoD Standard (DoD pour Department of Defense) ou bien DoD Model ou encore DoD TCP/IP ou US DoD Model. Elle est souvent appelée TCP/IP, d'après le nom de ses deux premiers protocoles : TCP (de l'anglais Transmission Control Protocol) et IP (de l'anglais Internet Protocol). Ils ont été inventés par Vinton G. Cerf et Bob Kahn, travaillant alors pour la DARPA, avec des influences des travaux de Louis Pouzin.
Graphe de connaissancesDans le domaine de la représentation des connaissances, un graphe de connaissances (knowledge graph en anglais) est une base de connaissance modélisant les données sous forme de représentation graphique. Depuis le développement du web sémantique, les graphes de connaissances sont souvent associés aux projets de données ouvertes du web des données, visant surtout à connecter les concepts et entités. Ils sont fortement liés aux et utilisés par les moteurs de recherches, dont certains, tels Google, ont développé leur propre graphe de connaissances.
Pile de protocolesUne pile de protocoles est une mise en œuvre particulière d'un ensemble de protocoles de communication réseau. L'intitulé « pile » implique que chaque couche de protocole s'appuie sur celles qui sont en dessous afin d'y apporter un supplément de fonctionnalité. Il en existe de plusieurs : thumb|Position de la couche réseau dans le modèle OSI et dans TCP-IP • Le « modèle de référence OSI » — OSI signifiant « Open Systems Interconnection » soit en français « Interconnexion de systèmes ouverts » — défini par l'ISO décrit ainsi sept couches empilées les unes sur les autres.
Pratique fondée sur les preuvesLa pratique fondée sur les preuves, sur les faits, ou sur des données probantes est une approche interdisciplinaire de la pratique clinique qui a gagné du terrain après son apparition au début des années 1990 par l'intermédiaire du médecin canadien Gordon Guyatt. En 1992, une publication indique : . Elle a commencé en médecine comme médecine factuelle (EBM) et se propage aux professions paramédicales de la santé, domaines éducatifs et autres.
Test statistiqueEn statistiques, un test, ou test d'hypothèse, est une procédure de décision entre deux hypothèses. Il s'agit d'une démarche consistant à rejeter ou à ne pas rejeter une hypothèse statistique, appelée hypothèse nulle, en fonction d'un échantillon de données. Il s'agit de statistique inférentielle : à partir de calculs réalisés sur des données observées, on émet des conclusions sur la population, en leur rattachant des risques d'être erronées. Hypothèse nulle L'hypothèse nulle notée H est celle que l'on considère vraie a priori.
Simple Network Management ProtocolSimple Network Management Protocol (abrégé SNMP), en français « protocole simple de gestion de réseau », est un protocole de communication qui permet aux administrateurs réseau de gérer les équipements du réseau, de superviser et de diagnostiquer des problèmes réseaux et matériels à distance. Les systèmes de gestion de réseau sont basés sur trois éléments principaux : un superviseur (manager), des nœuds (nodes) et des agents. Dans la terminologie SNMP, le synonyme manager est plus souvent employé que superviseur.