Lecture #3. Fundamentals of Software Testing