I don't believe that we can actually design a system that is safe like this, so yes it needs a lot of testing and iterative improvement. In the meantime, we need to use it to launch equipment and a few brave souls that understand the risks.
Actually to add to that, I think putting timescales in front of something like this as a tendency to clarify the goals and therefor simplify the engineering. If we sit around for decades trying to shave a couple ounces off every single part and build in triplicate redundancy so its perfect it will fail.
If you look at apollo, what you see is that they had a review committee that followed up the work and tested/built their understanding from the ground up. Part of that was ripping out systems that were to complex to be easily understood when possible, and considering how everything worked together.
In many ways this appears to be what spaceX is doing, initial design, prove it out with a bunch of launches, fix problems as they appear, etc. So one of most important design goals is designing something that will be launched thousands of times (not necessarily the same rocket, just the scale) rather than something that is designed to be the perfectly safe vehicle for another half dozen launches before we scrap it for another 40 years.