scratching the surface of functional testing