Optimizing Test Efficiency: Guidelines for Writing Java Unit Tests