There's nothing wrong with the way SpaceX is doing it. Build a prototype and fly it. Analyze the results, fix what went wrong and fly again. Automakers have been this for the past 100 years - build a prototype and run it around a test track. Analyze the weak points, fix them and run it again. SpaceX is no different, just that their test track is actually launching the beast.
All of their missions return telemetry until the end and they're making progress on every launch. It's amazing they are as far along as they are considering they only started 22 years ago.
It wasn't that long ago the idea of soft landing a rocket and reusing it with minimal processing was considered science fiction. Now it's routine and they've successfully launched over 300 times, re-using the same rockets up to 17 times so far. How did they get there? Try and try again.
Don't forget NASA threw away the entire spacecraft after each launch. The only exception was the Shuttle and it's solid fuel boosters, both of which required extensive rehab after each mission.
As far as cost, SpaceX is currently charging about 1/10th what NASA wants to get a payload into orbit. $2 million vs $60 million per launch.