Testing is the process of executing a program with the intention of finding errors, or bugs . By errors , I mean any case in which a program's actual results fail to match the expected results. The criteria of the expected results might not include just the correctness of the program; they might also include other attributes such as usability, reliability, and robustness. The process of testing can be manual, automated, or a mixture of both techniques. Unit testing involves performing basic tests at the component level to ensure that each unique path in the component behaves exactly as documented in its specifications. |