Software testing is a process of executing a program or system to find errors or defects (normally call bugs) and make sure every program or system really works.
This is one of the many definitions that you can find on the Internet.
Many companies put every effort into finding the right and easy way to do testing by creating amazing frameworks, a practice called TDD (test-driven development).
TDD is a process that is based on repetition in a very short development cycle; here, feedback plays an important part of the process, because the developer writes code to pass a use case ...