optimal methods for testing