Demystifying Unit Testing: Basics and Benefits