Debugging a website in an efficient way is one of the most important jobs of PHP developers. These days, a website is a lot more than some simple HTML pages. In a Magento web shop, you have a lot of complex business logic that is used in the flow of an e-commerce transaction.
Debugging in PHP is not out of the box like in other programming languages. There are many ways to configure a PHP debugger (Xdebug) with a good code editor such as NetBeans. With some extra tools such as FirePHP and the Zend Wildfire plugin, debugging is much easier.
Another part of debugging is automated tests. While working with objects and functions, there are many ways to write some tests that you can run on a set of configured functions. A report will show you the information about the passed and failed tests.