You could get such high accuracy values and it of course depends on the data set and used model.
Usually you would split the dataset into three parts:

training data, which is only used during the training to update the parameters
validation data, which is often used after each full training epoch, to apply early stopping and for general hyperparameter tuning
test data, which is never touched during training/validation, but one single time, if you end the training and would like to test the final model.

In the most careful approach, you should not modify the model or any hyperparameter anymore, as you would be leaking the test error information into the training, after calculating the test error.