Lecture #2. Fundamentals of Software Testing