Software Testing Fundamentals: Methods and Metrics