JAVA testing patterns (Wiley Pub., 2004)