Software verification: Difference between revisions

Content deleted Content added
No edit summary
Tags: Reverted Visual edit Mobile edit Mobile web edit
No edit summary
Tags: Reverted Visual edit Mobile edit Mobile web edit
Line 8:
 
Under the [[ACM Computing Classification System]], software verification topics appear under "Software and its engineering", within "Software creation", whereas [[Program verification]] also appears under [[Theory of computation]] under Semantics and reasoning, Program reasoning.
 
== Dynamic verification (Test, experimentation) ==
 
Dynamic verification is performed during the execution of software, and dynamically checks its behavior; 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:
* ''Test in the small'': a test that checks a single function or class ([[Unit test]])
* ''Test in the large'': a test that checks a group of classes, such as
** Module test (a single module)
** [[Integration test]] (more than one module)
** System test (the entire system)
* ''Acceptance test'': a formal test defined to check acceptance criteria for a software
** Functional test
** 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).
 
*