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.
Évaluation formativeLes concepts d’évaluation formative et sommative ont été apportés par Michael Scriven en 1967, dans le contexte de l’évaluation de programmes éducatifs (curriculum evaluation). Pour Scriven, une évaluation formative devait permettre à un établissement scolaire d’estimer la capacité de ses programmes scolaires à atteindre leurs objectifs, de façon à guider les choix de l’école pour les améliorer progressivement, au contraire d’une évaluation sommative qui cherche à poser un jugement final sur les programmes : « marchent-ils » ou pas ? Et en conséquence, faut-il les maintenir, les étendre ou les abandonner ? Benjamin Bloom reprend dans les années suivantes cette distinction pour l’appliquer au processus d’apprentissage, notamment dans son ouvrage Handbook on formative and summative evaluation of student learning.
Educational assessmentEducational assessment or educational evaluation is the systematic process of documenting and using empirical data on the knowledge, skill, attitudes, aptitude and beliefs to refine programs and improve student learning. Assessment data can be obtained from directly examining student work to assess the achievement of learning outcomes or can be based on data from which one can make inferences about learning. Assessment is often used interchangeably with test, but not limited to tests.
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.
Ressources éducatives libresL'expression ressources éducatives libres (REL), de l'anglais Open Educational Resources désigne « des matériaux d’enseignement, d'apprentissage ou de recherche appartenant au domaine public ou publiés avec une licence de propriété intellectuelle permettant leur utilisation, adaptation et distribution à titre gratuit ». En effet, avec Internet et notamment le développement du World Wide Web est né un mouvement mondial lancé par des enseignants et pédagogues, universités, fondations visant à créer et distribuer des ressources éducatives (cours, manuels, logiciels éducatifs, etc.
DidacticielUn didacticiel (contraction de « didactique » et « logiciel ») peut désigner deux choses : un programme informatique relevant de l'enseignement assisté par ordinateur (EAO) ; plus précisément, il s'agit d'un logiciel interactif destiné à l'apprentissage des savoirs (et plus rarement de savoir-faire) sur un thème ou un domaine donné et incluant généralement un auto-contrôle de connaissance ; la DGLF préconise dans le sens strict l'emploi de l'expression « logiciel éducatif » ; on parle aussi de tutoriel.
API testingAPI testing is a type of software testing that involves testing application programming interfaces (APIs) directly and as part of integration testing to determine if they meet expectations for functionality, reliability, performance, and security. Since APIs lack a GUI, API testing is performed at the message layer. API testing is now considered critical for automating testing because APIs now serve as the primary interface to application logic and because GUI tests are difficult to maintain with the short release cycles and frequent changes commonly used with Agile software development and DevOps.
Technologies de l'éducationLes technologies de l'éducation (Edtech en anglais, pour Educational technology) désignent l'ensemble des nouvelles technologies permettant de faciliter l’enseignement et l'apprentissage. On parle alors de technologies pédagogiques qui permettent d'apprendre de nouveaux contenus sous une forme ludique, stimulante et innovante. Le terme Edtech, né de la contraction d'« éducation » et de « technologie », est apparu dans la littérature anglophone en 2010. Il est devenu populaire pour désigner les startups qui innovent au service de l'éducation.
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.
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.
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.
EvaluationIn common usage, evaluation is a systematic determination and assessment of a subject's merit, worth and significance, using criteria governed by a set of standards. It can assist an organization, program, design, project or any other intervention or initiative to assess any aim, realisable concept/proposal, or any alternative, to help in decision-making; or to ascertain the degree of achievement or value in regard to the aim and objectives and results of any such action that has been completed.
Optimisation (mathématiques)L'optimisation est une branche des mathématiques cherchant à modéliser, à analyser et à résoudre analytiquement ou numériquement les problèmes qui consistent à minimiser ou maximiser une fonction sur un ensemble. L’optimisation joue un rôle important en recherche opérationnelle (domaine à la frontière entre l'informatique, les mathématiques et l'économie), dans les mathématiques appliquées (fondamentales pour l'industrie et l'ingénierie), en analyse et en analyse numérique, en statistique pour l’estimation du maximum de vraisemblance d’une distribution, pour la recherche de stratégies dans le cadre de la théorie des jeux, ou encore en théorie du contrôle et de la commande.
Optimisation combinatoireL’optimisation combinatoire, (sous-ensemble à nombre de solutions finies de l'optimisation discrète), est une branche de l'optimisation en mathématiques appliquées et en informatique, également liée à la recherche opérationnelle, l'algorithmique et la théorie de la complexité. Dans sa forme la plus générale, un problème d'optimisation combinatoire (sous-ensemble à nombre de solutions finies de l'optimisation discrète) consiste à trouver dans un ensemble discret un parmi les meilleurs sous-ensembles (ou solutions) réalisables, la notion de meilleure solution étant définie par une fonction objectif.
Optimisation de codeEn programmation informatique, l'optimisation de code est la pratique consistant à améliorer l'efficacité du code informatique d'un programme ou d'une bibliothèque logicielle. Ces améliorations permettent généralement au programme résultant de s'exécuter plus rapidement, de prendre moins de place en mémoire, de limiter sa consommation de ressources (par exemple les fichiers), ou de consommer moins d'énergie électrique. La règle numéro un de l'optimisation est qu'elle ne doit intervenir qu'une fois que le programme fonctionne et répond aux spécifications fonctionnelles.
Optimisation convexevignette|320x320px|Optimisation convexe dans un espace en deux dimensions dans un espace contraint L'optimisation convexe est une sous-discipline de l'optimisation mathématique, dans laquelle le critère à minimiser est convexe et l'ensemble admissible est convexe. Ces problèmes sont plus simples à analyser et à résoudre que les problèmes d'optimisation non convexes, bien qu'ils puissent être NP-difficile (c'est le cas de l'optimisation copositive). La théorie permettant d'analyser ces problèmes ne requiert pas la différentiabilité des fonctions.
Peephole optimizationPeephole optimization is an optimization technique performed on a small set of compiler-generated instructions; the small set is known as the peephole or window. Peephole optimization involves changing the small set of instructions to an equivalent set that has better performance.
Optimizing compilerIn computing, an optimizing compiler is a compiler that tries to minimize or maximize some attributes of an executable computer program. Common requirements are to minimize a program's execution time, memory footprint, storage size, and power consumption (the last three being popular for portable computers). Compiler optimization is generally implemented using a sequence of optimizing transformations, algorithms which take a program and transform it to produce a semantically equivalent output program that uses fewer resources or executes faster.
Dessinvignette|redresse|Léonard de Vinci, Homme de Vitruve (vers 1492). Le 'dessin' est une technique de représentation visuelle sur un support plat. Le terme « dessin » désigne à la fois l'action de dessiner, l'ouvrage graphique qui en résulte, et la forme d'un objet quelconque. Le « dessin linéaire » représente les objets par leurs contours, leurs arêtes et quelques lignes caractéristiques ; au-delà de cette limite, le dessin se développe en représentant le volume par les ombres, souvent au moyen des hachures, incorpore des couleurs, et rejoint, sans transition nette, la peinture.
Dessin technique400px|thumb|right|Table à dessin. Le dessin technique est un langage graphique figuratif pour la représentation graphique, la communication technique, la conception et l'analyse systémique de produits mécaniques, électroniques ou mécatroniques. Il est utilisé principalement en génie mécanique, mécanique industrielle, génie électrique, (bureau d'études, bureau des méthodes), en génie civil (architecture) ainsi qu'en électronique pour la représentation des différentes composantes et de leur structure.