Software verification: Difference between revisions

Content deleted Content added
m Phrases about a more general issue moved to its own section.
Relationship with static and dynamic testing made evident.
Line 2:
 
There are two fundamental approaches to verification:
* ''Dynamic verification'', also known as Test or[[experimentation]], [[Experimentationdynamic testing]] or, simply testing. - This is good for finding faults ([[software bugs]]).
* ''Static verification'', also known as [[Staticstatic code analysis|Analysisanalysis]] or, [[static code analysis|static testing]] - This is useful for proving the correctness of a program. althoughAlthough it may result in false positives when there are one or more conflicts between the process a software really does and what the static verification assumes it does.
 
 
== Dynamic verification (Test, experimentation) ==
 
Dynamic verification is performed during the execution of software, and dynamically checks its behaviourbehavior; it is commonly known as the [[Software testing|Test]] phase.
Verification is a Review Process.
Depending on the scope of tests, we can categorize them in three families:
Line 20:
** Non functional test (performance, [[stress testing (software)|stress test]])
 
The aim of software dynamic verification is to find the errors introduced by an activity (for example, having a medical software to analyze bio-chemical data); or by the repetitive performance of one or more activities (such as a stress test for a web server, i.e. check if the current product of the activity is as correct as it was at the beginning of the activity).
 
== Static verification (Analysis) ==