While Software Development Life Cycle (SDLC) has a generic definition, the practice will vary from organization to organization.
Some organizations do not strictly follow design requirements as a pre-requisite to commence the build process, while others follow strict processes. Some organizations follow waterfall method, while others use an iterative approach (note that I have avoided using Agile here). Some have engagement by the test team very early in the process, while some engage test team only after the design document/requirements documents are finalized.
So the test team needs to be able to adopt based on the practice in the organization.
There are even times when incremental/iterative development may lead to more issues for the test team where the incremental code drops have significant cross impact. Such approach can increase the regression testing effort manifolds, thereby raising the cost of the project/application.
So as you can see from above, SDLC cannot succeed independently. It must be complimented by proper project planning,, early engagement of all relevant stakeholders, and ability to adopt based on change in direction from management