t-test or z-test: assume normality or s≈σ? Let's say I have a large sample ($n>30$) with mean $\bar{X}$ and standard deviation $S$. I can calculate only: $T=\frac{\bar{X}-\mu}{S/\sqrt{n}}$.

*

*If I want to use t-test for a hypothesis, then I have to assume normality of the population.

*If I want to use z-test for a hypothesis, then I have to assume that $\boldsymbol{s\approx\sigma}$.

What is the less important assumption? What test should I do? Should I do t-test, z-test or doesn't matter?
 A: 
If I want to use t-test for a hypothesis, then I have to assume normality of the population.

Not so.  The population is irrelevant (well...not completely, we really only need to assume finite variance and make vague assumptions about the skew, mainly that the population is not "skewed too much". See the Berry-Esseen Theorem for more on how the skew affects the t test through the CLT).  The normality requirement is provided by the Central Limit Theorem.  See this excellent blog post for more. Additionally, see this rather flippant blog post I wrote.

If I want to use z-test for a hypothesis, then I have to assume that $s\approx\sigma.$

The reason we use the t over the z test is because there is uncertainty introduced by approximating the sample standard deviation.  If we knew $\sigma$ with infinite precision, we would always use a z test.  We never know $\sigma$ with perfect precision so technically we would never use a z test.
That being said, a t distribution becomes almost identical to a standard normal with enough data.  So while we technically can never know $\sigma$ with infinite precision, we can pretend we do anyway and perform a z test with impunity

What is the less important assumption? What test should I do? Should I do t-test, z-test or doesn't matter?

I would say that with enough data, error introduced by estimating the standard deviation becomes negligible and the normality requirement has been greatly exaggerated or misunderstood.
