Software verificationSoftware verification is a discipline of software engineering, programming languages, and theory of computation whose goal is to assure that software satisfies the expected requirements. A broad definition of verification makes it related to software testing. In that case, there are two fundamental approaches to verification: Dynamic verification, also known as experimentation, dynamic testing or, simply testing. - This is good for finding faults (software bugs).
Software verification and validationIn software project management, software testing, and software engineering, verification and validation (V&V) is the process of checking that a software system meets specifications and requirements so that it fulfills its intended purpose. It may also be referred to as software quality control. It is normally the responsibility of software testers as part of the software development lifecycle.
Capability Maturity ModelLe Capability Maturity Model (CMM) (en français : modèle d'évolution des capacités) est une approche interdisciplinaire d'ingénierie des systèmes couvrant les compétences et processus techniques et managériaux. Il vise à rendre prévisibles les délais, coûts et qualité des projets, à l'origine des projets de développement logiciel. Le CMM a été créé à la demande du Département de la Défense des États-Unis par Watts Humphrey, du Software Engineering Institute de l'Université Carnegie-Mellon.
Boîte blancheDans la théorie des systèmes, une boîte blanche (de l'anglais white box), ou boîte transparente, est un module d'un système dont on peut prévoir le fonctionnement interne car on connaît les caractéristiques de fonctionnement de l'ensemble des éléments qui le composent. Autrement dit une boîte blanche est un module qui comporte aussi peu de boîtes noires que possible. On qualifie les systèmes mixtes de « boîtes grises ».
Maintenance du logicielvignette|Cycle de vie d'un logiciel La maintenance du logiciel (ou maintenance logicielle) désigne, en génie logiciel, les modifications apportées à un logiciel, après sa mise en œuvre, pour en corriger les fautes, en améliorer l'efficacité ou autres caractéristiques, ou encore adapter celui-ci à un environnement modifié. La norme ISO (ISO/IEC 14764, Software Engineering—Software Life Cycle Processes—Maintenance) décrit en détail les processus de maintenance logicielle.
Règles de codagevignette|Exemple de code avec le langage de programmation Bash Les règles de codage sont un ensemble de règles à suivre pour uniformiser les pratiques de développement logiciel, diffuser les bonnes pratiques de développement et éviter les erreurs de développement "classiques" au sein d'un groupe de développeurs.
Point d'arrêt (informatique)vignette|Capture d'écran du débogage dans Eclipse : le programme est suspendu à un point d'arrêt Un point d'arrêt est une marque placée par le programmeur à un endroit précis d'un programme informatique (généralement dans le code source ou le code assembleur obtenu à l'aide d'un désassembleur), qui permet d'indiquer à un débogueur d'arrêter l'exécution lorsqu'il atteindra cet endroit. C’est un moyen de scruter dans le détail l’exécution du programme en le faisant progresser petit à petit, afin de repérer des défauts de conception ou de mieux le comprendre.
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.
Software sizingSoftware sizing or software size estimation is an activity in software engineering that is used to determine or estimate the size of a software application or component in order to be able to implement other software project management activities (such as estimating or tracking). Size is an inherent characteristic of a piece of software just like weight is an inherent characteristic of a tangible material. Software sizing is different from software effort estimation.