Assuming you just automatically get the correct labels for the test set after making a prediction, this is a standard problem known as online learning. Just incorporate the new labels into your training set and update your model. For standard modern models learned via SGD, as long as you think your test set is approximately IID from the target distribution, you can just keep updating your model with SGD; this might risk catastrophic forgetting, however.
To answer your comment elsewhere:
How would that be any different from batch learning? I understand that online learning incrementally keeps updating the model but alternatively, I can also wait for some time to collect some test data and then retrain the model using all of data. Right?
Yes, this would be one strategy for "online learning." This is also fine, but more expensive than simply updating your model as you go (since you have to completely retrain, and store all of the data you've ever seen). It might make you slightly more robust to the test data not being completely IID, but it also might make you take longer to adapt to true concept drift. If you're using a complex model whose optimization surface is non-convex, e.g. a deep network, then you also might have a chance to reach a better solution by retraining with more data.