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.
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.
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.
Qualité logicielleEn informatique et en particulier en génie logiciel, la qualité logicielle est une appréciation globale d'un logiciel, basée sur de nombreux indicateurs. La complétude des fonctionnalités, la correction et précision des résultats, la fiabilité, la tolérance de pannes, la facilité et la flexibilité de son utilisation, la simplicité, l'extensibilité, la compatibilité et la portabilité, la facilité de correction et de transformation, la performance, la cohérence et l'intégrité des informations qu'il contient sont tous des facteurs de qualité.
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.
Management de la qualitévignette|La roue de Deming illustre le processus d'amélioration continue, l'un des principes fondamentaux du management de la qualité. Le management de la qualité, ou gestion de la qualité, est une discipline du management regroupant l'ensemble des concepts et méthodes visant à satisfaire les clients d'un organisme (en général les entreprises, associations, organismes publics) et à fournir des produits et services correspondant à leurs attentes.
Test d'intégrationDans le monde du développement informatique, L'objectif de chaque phase de test est de détecter les erreurs qui n'ont pas pu être détectées lors de la précédente phase. Pour cela, le test d’intégration a pour cible de détecter les erreurs non détectables par le test unitaire. Le test d’intégration permet également de vérifier l'aspect fonctionnel, les performances et la fiabilité du logiciel. L'intégration fait appel en général à un système de gestion de versions, et éventuellement à des programmes d'installation.
Assurance qualitéOn désigne par assurance qualité un moyen d'obtenir confiance dans l'assurance de la qualité c'est-à-dire dans l'aptitude de la société ou de l'organisation à satisfaire le niveau de qualité désiré. Le terme « assurance qualité » qui élide les articles naturellement présents dans la langue française est très commun du fait que le concept a été importé (anglicisme) de la langue anglaise où l'on parle de Quality assurance. Le terme assurance a donc ici la valeur de confiance que lui donne la langue anglaise.
Model-based testingvignette|Diagramme du model-based testing Le model-based testing (MBT) est une activité qui permet de concevoir et de dériver (de manière automatique ou non) des cas de tests à partir d'un modèle abstrait et haut niveau du système sous test (SUT). Le modèle est dit abstrait car il offre bien souvent une vue partielle et discrète des comportements attendus d'un logiciel ou d'un système. Sur la base de modèles abstraits, des cas de test peuvent être dérivées sous la forme de suites de tests.
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.
Système de management de la qualitéUn système de management de la qualité (SMQ) ou système de gestion de la qualité (SGQ) (en anglais quality management system) est l'ensemble des activités par lesquelles l’organisme définit, met en œuvre et revoit sa politique et ses objectifs qualité conformément à sa stratégie. Le SMQ d'un organisme est constitué de processus corrélés et interactifs utilisant des ressources pour atteindre les résultats visés et fournir de la valeur (produit, service, etc.).
Assurance qualité logicielleL’assurance qualité logicielle (AQL) est un ensemble d'activités planifiées et systématiques de toutes les actions nécessaires pour fournir une assurance suffisante de la qualité logicielle d'un nouveau logiciel ou d'une nouvelle version d'un logiciel est conforme aux exigences et aux attentes établies. Les pratiques d'AQL varient selon le modèle d'affaire et l'industrie où le logiciel est utilisé. La norme IEEE 730 décrit le contenu nécessaire dans un plan d'AQL pour un logiciel.
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.
Quality (business)In business, engineering, and manufacturing, quality – or high quality – has a pragmatic interpretation as the non-inferiority or superiority of something (goods or services); it is also defined as being suitable for the intended purpose (fitness for purpose) while satisfying customer expectations. Quality is a perceptual, conditional, and somewhat subjective attribute and may be understood differently by different people. Consumers may focus on the specification quality of a product/service, or how it compares to competitors in the marketplace.
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.
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.
Data-driven testingData-driven testing (DDT), also known as table-driven testing or parameterized testing, is a software testing methodology that is used in the testing of computer software to describe testing done using a table of conditions directly as test inputs and verifiable outputs as well as the process where test environment settings and control are not hard-coded. In the simplest form the tester supplies the inputs from a row in the table and expects the outputs which occur in the same row.
Contrôle qualitévignette|Contrôle qualité du nylon, 1954, Malmö. Photographie conservée au musée nordique. Le contrôle qualité est un aspect de la gestion de la qualité. Le contrôle est une opération destinée à déterminer, avec des moyens appropriés, si le produit (y compris, services, documents, code source) contrôlé est conforme ou non à ses spécifications ou exigences préétablies et incluant une décision d'acceptation, de rejet ou de retouche. L'ancienne norme ISO 8402 (maintenant annulée) en donnait la définition suivante : (ISO8402:1994, § 2.
Software requirements specificationA software requirements specification (SRS) is a description of a software system to be developed. It is modeled after the business requirements specification (CONOPS). The software requirements specification lays out functional and non-functional requirements, and it may include a set of use cases that describe user interactions that the software must provide to the user for perfect interaction.
CoûtUn coût est la mesure d'une consommation exprimée en valeur monétaire. On peut dire également que c'est la mesure de l'appauvrissement d'un agent économique, associé à un événement ou une action de nature économique. Les comptables définissent plus précisément le coût comme une somme de charges (la charge mesure une consommation), c'est-à-dire un calcul. Il est alors possible de calculer toutes sortes de coûts (coût de revient, coût de production, coût marginal, etc.).