Yes, means testing is more efficient than universal programs, because, as much as we might like to, we cannot help everyone. There is no point to giving someone a benefit that can afford to pay for it themselves. The whole point of government aid is to help people who need help. Programs do not need to be universal.
Yes, means testing is a more efficient approach than universal programs for public benefits, because the government, and taxpayers, cannot afford universal benefits for everyone. Denying everyone the use of public benefits also leaves many of those services in the private sector, where the producers have to respond to consumer demand. Society cannot afford to give benefits to everyone, and there has to be a way to decide who gets them and who doesn't.