When you train a model, you should consider any standardization/scaling to be part of the model training and thus use the estimates from the train set (e.g. sample average, standard deviation).
You can never use train+test set during model training because this leaks information from your 'unseen' data. This includes scaling (however subtle the effect).
Even if for some reason your test set or future data is larger than the train set, you should still use the sample estimates of the train set of whatever statistic you need for scaling, because you trained a model to perform well when scaled to these estimates. (Of course, if your test set really is considerably larger than your train set, you may want to consider retraining the model.)
The only exception is normalization using a well-defined minimum and maximum: If your data are 8-bit color intensities ranging from $0$ to $255$, then past, current and all future data will have the same minimum and maximum. In such cases, you should neither use your train set, nor your test set to estimate the extremes, but go with the known values instead.