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.
Interactions homme-machinethumb|Personne plongée dans la réalité virtuelle grâce à un visiocasque et un gant électronique. thumb|L'interface homme-machine d'un des ordinateurs de bord des missions Apollo. L'interaction Homme-machine (ou interaction humain-machine), appelée IHM, s’intéresse à la conception et au développement de systèmes interactifs en prenant en compte ses impacts sociétaux et éthiques. Les humains interagissent avec les ordinateurs qui les entourent et cette interaction nécessite des interfaces qui facilitent la communication entre l'humain et la machine.
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.
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.
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.
Robustness (computer science)In computer science, robustness is the ability of a computer system to cope with errors during execution and cope with erroneous input. Robustness can encompass many areas of computer science, such as robust programming, robust machine learning, and Robust Security Network. Formal techniques, such as fuzz testing, are essential to showing robustness since this type of testing involves invalid or unexpected inputs. Alternatively, fault injection can be used to test robustness.
Interface de programmationthumb|Démonstration d'une routine appelant une base de données dans une interface de programmation. En informatique, une interface de programmation d’application ou interface de programmation applicative, souvent désignée par le terme API pour « application programming interface », est un ensemble normalisé de classes, de méthodes, de fonctions et de constantes qui sert de façade par laquelle un logiciel offre des services à d'autres logiciels.
Design numériquevignette|366x366px Incluant l’ensemble des pratiques utilisant des matières informatisées comme moyen et comme fin dans la conception, le design numérique (également appelé design d'interaction ou design interactif) définit les structures et comportements de systèmes interactifs. Apparaissant comme un nouveau champ issu de la révolution numérique, il réinvente la manière de façonner le design en mettant l’accent sur l’expérience de l’acteur et non l’objet en soi.
Modality (human–computer interaction)In the context of human–computer interaction, a modality is the classification of a single independent channel of input/output between a computer and a human. Such channels may differ based on sensory nature (e.g., visual vs. auditory), or other significant differences in processing (e.g., text vs. image). A system is designated unimodal if it has only one modality implemented, and multimodal if it has more than one. When multiple modalities are available for some tasks or aspects of a task, the system is said to have overlapping modalities.
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.
Fault injectionIn computer science, fault injection is a testing technique for understanding how computing systems behave when stressed in unusual ways. This can be achieved using physical- or software-based means, or using a hybrid approach. Widely studied physical fault injections include the application of high voltages, extreme temperatures and electromagnetic pulses on electronic components, such as computer memory and central processing units.
Distorsion (musique)vignette|droite|Pédale d'effet Turbo Distortion, fabriquée par l'entreprise Boss. La distorsion est un effet audio utilisé dans la création de sons saturés et distordus, en compressant les pics du signal audio d'un instrument de musique électronique et en y ajoutant des partiels acoustiques. Un effet par distorsion est également appelé, à tort, , et s'applique principalement aux guitares électriques, mais peut également s'appliquer aux instruments de nombreux genres de musiques électroniques et à la .
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 utilisateurUn test utilisateur, ou test d’utilisabilité, est une méthode permettant d'évaluer un produit en le faisant tester par des utilisateurs. Le plus souvent, il s'agit de produits du domaine informatique (par exemple : un logiciel ou un site web) dans le cadre de l'intervention ergonomique. Elle est considérée comme une démarche indispensable dans la conception de produit, car la plus efficace pour évaluer l'ergonomie d'une application ou d'un site web.
High dynamic rangeHigh dynamic range (HDR) is a dynamic range higher than usual, synonyms are wide dynamic range, extended dynamic range, expanded dynamic range. The term is often used in discussing the dynamic range of various signals such as s, videos, audio or radio. It may apply to the means of recording, processing, and reproducing such signals including analog and digitized signals. The term is also the name of some of the technologies or techniques allowing to achieve high dynamic range images, videos, or audio.
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.
Interaction techniqueAn interaction technique, user interface technique or input technique is a combination of hardware and software elements that provides a way for computer users to accomplish a single task. For example, one can go back to the previously visited page on a Web browser by either clicking a button, pressing a key, performing a mouse gesture or uttering a speech command. It is a widely used term in human-computer interaction. In particular, the term "new interaction technique" is frequently used to introduce a novel user interface design idea.
API Webvignette| Capture d'écran de la documentation de l'API Web de la NASA Une API Web est une interface de programmation d'application (API) pour un serveur Web ou un navigateur Web. En tant que concept de développement Web, il peut être lié au côté client d'une application Web (y compris à travers un framework web). Une API Web côté client est une interface de programmation permettant d'étendre les fonctionnalités d'un navigateur Web ou d'un autre client HTTP.
MetasploitMetasploit, Metasploit Pen Testing Tool, est un projet (open source, sous Licence BSD modifiée) en relation avec la sécurité des systèmes informatiques. Son but est de fournir des informations sur les vulnérabilités de systèmes informatiques, d'aider à la pénétration et au développement de signatures pour les systèmes de détection d'intrusion (IDS, Intrusion Detection System). Le plus connu des sous-projets est le Metasploit Framework, un outil pour le développement et l'exécution d'exploits (logiciels permettant d'exploiter à son profit une vulnérabilité) contre une machine distante.
Windows APIWin16, Win32 et Win32s sont des ensembles normalisés de fonctions qui permettent aux logiciels applicatifs de se servir des fonctionnalités des différents systèmes d'exploitation de la famille Windows. Win32 est l'ensemble de fonctions le plus souvent utilisé, et les programmes dits pour Windows sont généralement des programmes utilisant Win32. Win32, successeur de Win16, a été introduit en 1993, dans les produits 32 bits de la famille Windows comme Windows NT, Windows 2000, Windows 95 ou leurs successeurs.