Software testing is the act of examining the artifacts and the behavior of the software under test by validation and verification.