Static vs Dynamic Testing with and without executing the software’s code to find different types of problems