Fundamentals of Testing in JavaScript