Fundamentals of Scratch Testing