UNRAVELING THE MYSTERIES OF DEBUGGING: A PRACTICAL GUIDE TO SOFTWARE TESTING