Can I use the test dataset to select a model?
Your teacher is correct. The test dataset is unseen data. You could not select the final model using the test set. In competitions, to be fair, the test dataset is not revealed until you submit the final trained model.

To select the hyperparameters of the final model (e.g., activation functions, the number of hidden layers, the number of units, learning rate, dropout, ...), you should use the validation set.