Spike Test: Understanding, Implementing, and Best Practices in Java