It is not necessary that you will always get good test accuracy.
Although there are many things you can try

Better scaling of the dataset (Normalization)
Drop out or batch normalization (I guess you should try this, like in your cases, overfitting)
By varying scheduler learning rate.