Because for test cross you need to phenotype far less progeny to be reasonably sure about parent genotype. Lets say you decide to phenotype N progeny. If the tested parent is heterozygote the random chance of you getting all N plants tall is (1/2)N for test cross and (3/4)N for self pollination.
So for example if you decide to phenotype N=8 progeny plants in case of self pollination (3/4)8=10% of your heterozygous parents will be wrongly assigned as homozygous which is error too high for almost anything serious. In case of test cross (1/2)8=0.4% of your heterozygous parents will be wrongly assigned as homozygous. To achieve the similar level of accuracy with self pollination you would have to phenotype N=19 or N=20 progeny plants.
The difference does not seem like much when testing one parrent but if you need to test many the costs will add up.