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.
DébogueurUn débogueur ou débugueur (de l'anglais debugger) est un logiciel qui aide un développeur à analyser les bugs d'un programme. Pour cela, il permet d'exécuter le programme pas-à-pas , d'afficher la valeur des variables à tout moment et de mettre en place des points d'arrêt sur des conditions ou sur des lignes du programme. Il s'agit de l'application à la programmation informatique du processus de troubleshooting. Le programme à déboguer est exécuté à travers le débogueur et s'exécute normalement.
Symbole (informatique)En programmation informatique, un symbole est une étiquette apposée sur certains éléments du code objet, du bytecode ou d'un arbre syntaxique abstrait, permettant de les identifier sous cette forme transformée du code source. Un symbole est très proche d'un identificateur du langage source, mais le concept d'identificateur ne recouvre pas totalement le concept de symbole. Le meilleur exemple en est la décoration de nom effectué par les compilateurs C++ qui consiste à trouver un symbole unique pour un identificateur dont le nom est surchargé.
Stepping (debugging)Program animation or stepping refers to the debugging method of executing code one instruction or line at a time. The programmer may examine the state of the program, machine, and related data before and after execution of a particular line of code. This allows the programmer to evaluate the effects of each statement or instruction in isolation, and thereby gain insight into the behavior (or misbehavior) of the executing program. Nearly all modern IDEs and debuggers support this mode of execution.
Constructionvignette|upright|Les grues sont essentielles pour des travaux importants tels que les gratte-ciel. La construction est le fait d'assembler différents éléments d'un édifice en utilisant des matériaux et des techniques appropriées. Le secteur économique de la construction, appelé « bâtiment et travaux publics » (BTP) dans une partie de l'Europe francophone, regroupe toutes les activités de conception et de construction des bâtiments publics et privés, industriels ou non, et des infrastructures telles que les routes ou les canalisations.
Construction managementConstruction management (CM) is a professional service that uses specialized, project management techniques and software to oversee the planning, design, construction and closeout of a project. The purpose of construction management is to control the quality of a project's scope, time / delivery and cost—sometimes referred to as a project management triangle or "triple constraints." CM is compatible with all project delivery systems, including design-bid-build, design-build, CM At-Risk and Public Private Partnerships.
Construction estimating softwareConstruction cost estimating software is computer software designed for contractors to estimate construction costs for a specific project. A cost estimator will typically use estimating software to estimate their bid price for a project, which will ultimately become part of a resulting construction contract. Some architects, engineers, construction managers, and others may also use cost estimating software to prepare cost estimates for purposes other than bidding such as budgeting and insurance claims.
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.
Test unitaireEn programmation informatique, le test unitaire (ou « T.U. », ou « U.T. » en anglais) est une procédure permettant de vérifier le bon fonctionnement d'une partie précise d'un logiciel ou d'une portion d'un programme (appelée « unité » ou « module »). Dans les applications non critiques, l'écriture des tests unitaires a longtemps été considérée comme une tâche secondaire. Cependant, les méthodes Extreme programming (XP) ou Test Driven Development (TDD) ont remis les tests unitaires, appelés « tests du programmeur », au centre de l'activité de programmation.
GNU DebuggerGNU Debugger, également appelé GDB, est le débogueur standard du projet GNU. Il est portable sur de nombreux systèmes type Unix et fonctionne pour plusieurs langages de programmation, comme le C, C++, Fortran, Ada, Objective-C, et le Go. Il fut écrit par Richard Stallman en 1988. GDB est un logiciel libre, distribué sous la licence GNU GPL. GDB a été écrit en premier par Richard Stallman en 1986 en parallèle de son système GNU, après que GNU Emacs ait été considéré comme "raisonnablement stable".
Test driven developmentTest-Driven Development (TDD), ou développement piloté par les tests en français, est une méthode de développement de logiciel qui consiste à concevoir un logiciel par des itérations successives très courtes (ou petits pas), telles que chaque itération est accomplie en formulant un sous-problème à résoudre sous forme d'un test avant d'écrire le code source correspondant, et où le code est continuellement remanié dans une volonté de simplification. À l'origine, il s'agissait simplement d'écrire les tests avant de coder, et cette méthode s'appelait le Test-First Design.
Test de validationUn test de validation est un type de test informatique qui permet de vérifier si toutes les exigences client, décrites dans le document de spécification du logiciel, sont respectées. Les tests de validation se décomposent généralement en plusieurs phases : Validation fonctionnelle : les tests fonctionnels assurent que les différents modules ou composants implémentent correctement les exigences client. Ces tests peuvent être de type valide, invalide, inopportuns, etc.
EmacsEmacs est une famille d'éditeurs de texte disposant d'un ensemble extensible de fonctionnalités. Il est populaire parmi les programmeurs et plus généralement les personnes ayant des compétences techniques sur les ordinateurs. L'EMACS originel, signifiant Editing MACroS running on TECO, c'est-à-dire « macros d'édition pour TECO », a été écrit en 1976 par Richard Stallman, initialement avec Guy Steele. Il a été inspiré par les idées développées dans TECMAC et TMACS, deux jeux de macros d'édition pour TECO, notamment écrits par Guy Steele, David Moon, Richard Greenblatt et Charles Frankston.
Automatisation de testL'automatisation de test permet de jouer à volonté des tests de régression à la suite de la livraison d'une nouvelle version d'une application. L'automatisation d'un test n'a de sens que si le test répond à un certain nombre de critères : le test est systématique : il doit être exécuté à chaque nouvelle version de l'application. le test est répétitif : il est présent dans de nombreux scénarios de test. le test est automatisable : il est possible techniquement de faire jouer le test par un robot.
Emacs Lispvignette|Logo de GNU Emacs Emacs Lisp est un dialecte du langage de programmation Lisp, utilisé entre autres par les éditeurs de texte GNU Emacs et XEmacs (qui auront la dénomination commune d'Emacs dans cet article). Il est utilisé pour l'implémentation de la plupart des fonctionnalités d'édition standard d'Emacs, le reste étant écrit en C. Les utilisateurs d'Emacs écrivent habituellement du code en Emacs Lisp afin de personnaliser et rajouter des fonctionnalités à Emacs.
GNU EmacsGNU Emacs est l’une des deux versions les plus populaires de l’éditeur de texte Emacs (l’autre version est XEmacs). Ces deux versions sont majoritairement compatibles et ont de très nombreux points communs, décrits dans l’article Emacs. Dans le manuel, on peut lire qu'il est l’. GNU Emacs, développé par Richard Stallman depuis 1984 dans le cadre du projet GNU, s’appuie sur le langage Emacs Lisp. GNU Emacs fait partie du projet GNU. En 1984, Stallman commence le projet sur les systèmes Unix.
Test de régressionUn test de régression, ou test de non-régression, est un test ayant pour but de détecter les régressions introduites dans un logiciel après un changement effectué dans celui-ci. Une régression est un défaut qui se produit après une modification d'un logiciel lorsque des fonctionnalités existantes ne sont plus réalisées aussi bien qu'avant.
Tests systèmeLes tests système de logiciel ou de matériel réfèrent à un processus de test d'un système intégré afin d'évaluer sa conformité aux exigences spécifiées. Les tests système appartiennent à la classe des tests de type boîte noire, et en tant que tels, ne devraient exiger aucune connaissance de la conception interne du code ou de la logique. En règle générale, les tests système prennent comme entrée tous les composants logiciels « intégrés » (ayant réussi les tests d'intégration) mais aussi le système logiciel lui-même intégré à n'importe quel système matériel compatible.
Quotient intellectuelvignette|upright=1|Un exemple d'un type d'élément de test de QI, sur le modèle des éléments des matrices progressives de Raven. Le quotient intellectuel, ou QI, est le résultat d'un test psychométrique qui entend fournir une indication quantitative standardisée de l'intelligence humaine. Le QI est mesuré par un psychologue pour des raisons qui peuvent être éducatives ou psychiatriques. Cependant, le QI, tout comme les notions associées de déficience mentale ou d'enfant à haut potentiel intellectuel, n'est pas un diagnostic.
Standardized testA standardized test is a test that is administered and scored in a consistent, or "standard", manner. Standardized tests are designed in such a way that the questions and interpretations are consistent and are administered and scored in a predetermined, standard manner. Any test in which the same test is given in the same manner to all test takers, and graded in the same manner for everyone, is a standardized test. Standardized tests do not need to be high-stakes tests, time-limited tests, or multiple-choice tests.