processus utilisé pour déterminer si la solution logicielle répond aux attentes du client, également appelé tests d'acceptation utilisateur
tests d'accessibilité
sous-ensemble des tests d'utilisabilité qui se concentre spécifiquement sur les besoins des utilisateurs handicapés
Écosystème de développement logiciel agile (ASDE)
cadriciels et méthodes de cycle de vie du développement logiciel (SDLC) agiles qui soulignent la difficulté de prédire les besoins futurs et évitent ainsi de créer des plans à long terme et des processus fixes afin que les développeurs puissent plutôt collaborer avec les clients et s'adapter à leurs besoins actuels
logiciel d'application
logiciel qui vous permet d'accomplir des tâches courantes telles que la création d'un document texte, le dessin d'une image ou la lecture de musique
gestion de l'architecture
aide à améliorer la conception architecturale pendant son développement
test automatisé
forme de test qui utilise des outils logiciels pour vérifier la fonctionnalité d'un système logiciel ou de certaines de ses parties ; cela permet de répéter les tests sans exiger un effort répété de la part du testeur
disponibilité
mesure de l'occupation d'un système lorsqu'un utilisateur tente de l'utiliser
test en boîte noire
manière de tester où les tests sont basés sur les exigences et la fonctionnalité de ce qui est testé sans le besoin de se concentrer sur le code lui-même ; tests entrée-sortie, tests basés sur les spécifications et tests comportementaux
bogue
problème ou erreur dans la programmation logicielle
système de suivi des bogues
aide au suivi et à la résolution des problèmes liés aux logiciels
à code source fermé
forme de licence logicielle qui interdit l'accès au code source sous-jacent ; ce type de logiciel est typiquement développé pour des organisations ou pour des logiciels destinés à être vendus
couverture de code
mesure du pourcentage de code qui est activé ou examiné par les tests unitaires
revue de code
processus par lequel le code source écrit par un développeur est inspecté manuellement par un autre développeur ou une équipe de relecteurs
phase de construction
activité cadre dans laquelle les documents de conception sont utilisés pour écrire le code source correspondant dans un langage de programmation et pour créer tous les actifs de support
conteneurisé
logiciel empaqueté de manière à pouvoir être exécuté facilement sur différents systèmes informatiques
activité transversale
(également : activité cadre) activité qui traverse l'ensemble du processus de développement logiciel mais ne fait pas partie des étapes de construction principales elles-mêmes
débogueur
programme qui aide à détecter et à corriger les bogues ; il le fait en permettant à l'utilisateur de suspendre l'exécution du programme à n'importe quelle instruction, de visualiser l'état du programme à ce moment-là, avant de permettre à l'ordinateur de continuer jusqu'à l'instruction suivante à laquelle il souhaite faire une pause
déploiement
activité cadre qui consiste à rendre la solution logicielle développée disponible aux utilisateurs
patron de conception
solution réutilisable à un problème de conception que les ingénieurs logiciels rencontrent à plusieurs reprises lors de l'architecture et de la conception de systèmes
conception détaillée (DLD)
se concentre sur la spécification ou l'expansion de la HLD ; dans le cadre de la DLD, chaque élément d'un système est fourni avec des spécifications détaillées, et la logique de chaque composant au sein de chaque module d'une solution système est déterminée
modèle DevOps
modèle de processus logiciel agile qui combine les pratiques de développement logiciel et d'opérations et utilise un cycle de vie de développement court et la livraison continue pour obtenir des produits logiciels de haute qualité
qualité dynamique
caractéristique non fonctionnelle qui se rapporte au comportement qualitatif du logiciel lorsqu'il est utilisé, ce qui signifie qu'elle dépend également du matériel sur lequel le système fonctionne
phase d'élaboration
activité cadre qui implique une analyse approfondie des exigences pour produire des modèles de conception du système à développer
logiciel embarqué
logiciel intégré au matériel et pouvant inclure des fonctionnalités logicielles d'application et de système
extensibilité
mesure de la quantité de travail et du coût requis pour ajouter de nouvelles fonctionnalités à un logiciel
flexibilité
mesure de la quantité de travail et du coût requis pour apporter des modifications à un système lorsque les exigences changent
exigence fonctionnelle
basée sur les attentes de l'utilisateur concernant les caractéristiques inhérentes du logiciel
test boîte grise
manière de tester dans laquelle la personne qui conçoit le test a une connaissance partielle de la structure du code et comprend la conception prévue du logiciel ; c'est un hybride des tests en boîte blanche et en boîte noire
conception de haut niveau (HLD)
se concentre sur la fourniture d'une description générale de la conception globale du système et peut inclure des informations sur les aspects généraux d'un système, y compris son architecture, ses données, ses systèmes, ses services et ses plateformes, ainsi que les relations entre les différents modules et composants
phase d'initialisation
activité cadre qui consiste à se concentrer sur la collecte et l'affinage (c'est-à-dire la définition) ainsi que la gestion des exigences fonctionnelles et non fonctionnelles, également connue sous le nom d'ingénierie des exigences
modèle incrémentiel
modèle de processus logiciel dans lequel le développement logiciel est divisé en modules, et chaque module se concentre sur un ensemble plus restreint d'exigences basé sur un plan d'affaires global
logiciel hérité
logiciel qui a été écrit dans le passé, repose sur une technologie obsolète et est toujours utilisé aujourd'hui
couverture de lignes
type de couverture de code qui mesure le pourcentage de lignes de code source activées qui sont testées dans un test unitaire
maintenabilité
mesure de la quantité de travail requise pour apporter des modifications à un système logiciel
maintenance
processus de mise à jour du logiciel après son déploiement
test manuel
forme de test où une personne doit exécuter le système logiciel, fournir toutes les entrées et vérifier manuellement toutes les sorties ; la répétition des tests exige que ces efforts soient répétés par le testeur
exigence non fonctionnelle
décrit une caractéristique de qualité souhaitée et couvre des aspects tels que la flexibilité, la maintenabilité, la performance, la portabilité, la fiabilité, l'extensibilité, la sécurité, et plus encore
à code source ouvert
forme de licence logicielle qui donne accès au code sous-jacent et permet généralement de réutiliser et de modifier le code ; également connu sous le nom de logiciel libre et open source (FOSS)
système d'exploitation
logiciel qui contrôle et donne accès aux fonctionnalités de base de l'ordinateur
couverture de chemins
type de couverture de code qui mesure le pourcentage de chemins à travers le code source que vous parcourez dans un test unitaire
motif
concept de haut niveau qui soutient l'idée de réutilisation et fournit des solutions réutilisables aux problèmes souvent rencontrés lors de la construction de logiciels
performance
mesure du temps de réponse tel que perçu par l'utilisateur
conception physique
représentation graphique de la méthode pour implémenter efficacement ce qui a été déterminé dans la conception logique d'une solution logicielle
portabilité
mesure de la quantité de travail et du coût requis pour migrer des solutions logicielles vers une nouvelle plateforme, telle qu'un nouveau système d'exploitation
modèle de processus prescriptif
prône une approche ordonnée de l'génie logiciel qui implique de suivre un ensemble d'activités prescrites de manière continue ; contrairement au développement agile
profileur
programme qui effectue une analyse dynamique de programme pouvant être utilisée pour optimiser ou rationaliser le code
modèle de prototypage
modèle de processus logiciel qui exige la création rapide d'une maquette (ou démo) du produit final attendu faisant ce qu'il est censé faire afin que les utilisateurs finaux puissent fournir des commentaires ; également connu sous le nom de RAD (Rapid Application Development)
refactorisation
processus de restructuration du code source sans en modifier la fonctionnalité
modélisation des exigences
action d'génie logiciel qui fait partie de la phase d'initialisation et se concentre sur l'analyse/la décomposition des exigences logicielles
extensibilité
mesure de la quantité de travail et du coût requis pour modifier un système afin d'augmenter le débit
scénario
instance spécifique de flux opérationnel au sein d'un cas d'utilisation qui se concentre sur la compréhension d'une action spécifique
Scrum
type de modèle de développement logiciel agile
sécurité
mesure de confiance que les données sont protégées contre la divulgation non autorisée et que les systèmes sont protégés contre l'accès non autorisé
architecture logicielle
description de la structure globale d'un système logiciel, de ses principaux composants et de leurs interrelations
conception logicielle
ensemble de tâches de conception d'ingénierie dans lequel l'abstraction et le raffinement des exigences sont transformés en une spécification qui peut être utilisée pour la création d'une solution logicielle
cycle de vie du développement logiciel (SDLC)
ensemble structuré d'activités cadre requises pour développer une solution logicielle basée sur un ensemble d'exigences
licence logicielle
documentation qui détermine si le code source et la fonctionnalité d'une organisation peuvent être utilisés par d'autres sans permission
amélioration des processus logiciels
processus de transformation de l'approche existante du développement logiciel en quelque chose de plus ciblé, plus reproductible, plus fiable (en termes de qualité du produit et de respect des délais de livraison) et plus rentable
gestion de la qualité logicielle (SQM)
se concentre sur le développement et la gestion de la qualité de la solution en cours de développement
modèle en spirale
modèle de processus logiciel qui est une combinaison du modèle en cascade avec une approche de modèle itératif et qui se concentre sur la réduction des risques au sein d'un projet
sprint
événement de flux de travail de durée fixe qui fait partie du développement de processus logiciel agile et dure généralement d'une à quatre semaines
couverture d'instructions
type de couverture de code qui mesure le pourcentage d'instructions activées au moins une fois lorsque vous exécutez tous les tests unitaires
qualité statique
caractéristique non fonctionnelle qui est inchangeable et peut donc être associée au code source ou à des exigences légales ou spécifiques à l'environnement du projet
logiciel système
logiciel qui vous permet de contrôler le matériel et fournit un environnement dans lequel d'autres logiciels peuvent s'exécuter
test système
se concentre sur le produit logiciel complet et entièrement intégré pour s'assurer que la solution logicielle complète fonctionne globalement comme prévu
développement piloté par les tests (TDD)
processus où les développeurs écrivent des tests avant d'écrire du code
débit
mesure de la quantité totale de données d'entrée qui peuvent circuler à travers un système ; elle est différente de la performance, qui mesure la vitesse à laquelle un système peut exécuter ses fonctions
modèle de processus traditionnel
cadre de processus qui englobe quatre activités cadre (c'est-à-dire génériques) également connues sous le nom de phases : initialisation, élaboration, construction et déploiement
activité cadre
(également : activité transversale) activité qui traverse l'ensemble du processus de développement logiciel mais ne fait pas partie des étapes de construction principales elles-mêmes
langage de modélisation unifié (UML)
langage de modélisation visuel qui peut être utilisé pour capturer le résultat de l'analyse et de la conception logicielles
modèle de processus unifié (UP)
modèle de processus logiciel dans lequel le développement d'un système logiciel est divisé en quatre phases principales (initialisation, élaboration, construction et transition), chacune impliquant plusieurs itérations
test unitaire
teste des unités de code individuelles, telles que des méthodes et des fonctions, et est généralement effectué par les développeurs pendant le développement du logiciel ou lors de mises à jour
utilisabilité
mesure de l'intuitivité de l'interface utilisateur
test d'utilisabilité
confirme que le logiciel en cours de développement non seulement répond aux exigences fixées par l'utilisateur, mais est également facile et intuitif à utiliser pour l'utilisateur
cas d'utilisation
décrit comment un système logiciel est censé être utilisé par les utilisateurs pour atteindre un objectif ou une exigence
partie de la programmation informatique qui concerne la manière dont l'information est présentée à l'utilisateur et comment l'utilisateur peut interagir avec un programme
récit utilisateur
explication générique destinée à l'utilisateur pour lui indiquer comment fonctionne une fonctionnalité logicielle
modèle en V
modèle de processus de développement logiciel similaire au modèle en cascade en ce qu'il s'agit d'un modèle prescriptif continu, mais il est associé à une étape/phase de test de vérification ou de validation, et est donc également connu sous le nom de modèle de vérification et de validation
validation
teste que la solution logicielle est conforme aux exigences et, par conséquent, fait ce que l'utilisateur veut qu'elle fasse
vérification
teste que la solution logicielle fonctionne sans erreurs
système de gestion de versions
outil utilisé pour stocker l'historique des modifications du code source et facilite la collaboration de plusieurs développeurs
modèle en cascade
modèle de processus logiciel prescriptif continu dans lequel les phases « s'écoulent » les unes dans les autres comme l'eau s'écoule du haut d'une cascade vers le bas
test en boîte blanche
manière de tester où le testeur utilise le code source afin de pouvoir développer des tests qui vérifient que la structure interne de l'élément testé fonctionne correctement ; également connu sous le nom de test boîte de verre, boîte transparente et test structurel