Software testing is meant to see how the software works under different conditions. These conditions might be different depending on what the audience is. Testing is done to understand if it will work correctly, partially fail to work properly, or totally fail to work properly. Each test may be used to see how one, or many, parts of the software work at a point in its development.