Software testing involves identifying bug/error/defects in a software without correcting it. There are two main types of testing: Manual Testing and Automation Testing, which is used to re-run the test scenarios that were performed manually, quickly, and repeatedly. There are three main Methods:
Black-Box (based on external expectations – Internal behavior is unknown),
Grey-Box (done on the basis of data flow diagrams)
White-Box (internal workings are fully known) Testing.
The main levels of software testing are functional and non-functional