The traditional test estimation techniques do not seem to work well in agile systems. In general, most test estimate models are based on development estimates and often you don't get sufficient time for complete test coverage. There will always be a battle between devs. and testers in scheduling and effort estimation.
Think about a simple scenario. Manager of project A asks a developer how many days he needs to implement a particular module. Suppose developer requests 3 weeks. Then
the manager asks how long will it take to do testing of that particular module. Test lead may request 2 weeks based on his estimates.
The immediate answer will be "No, do it in 1 week, you can get help from a few more testers working on project B"
Suppose the test estimate has done using valid estimation mechanism and enough time is allocated for executing all test cases.
Will the testing be completed within 2 weeks (or 1 week with more testers) as scheduled?
According to my experience, It depends.
If your programmers write unit tests and do code reviews, the test schedule will not be deviated much from the original estimates.
However, if the above disciplines are not followed, the estimations will no longer valid. There will be hell a lot of bugs when QA team start testing the code. Blockers may prevent exercising major components and therefore product Schedule slippages are ineviatable.
I think there shouldn't be two different estimates for development and testing. Both should come together in a common project estimate to achieve on time delivery.
The estimates to complete a module should be prepared, which includes both dev and testing effort.
In the above example, developer and tester can work together to come up with a combined estimation which captures code quality and testing implications. Both parties should monitor the progress and adjust the estimates accordingly. If unit tests and code reviews are not happened as scheduled, project leads should agree to allocate more time for testing.
Keep in mind. I'm expressing my views according to the Agile environments. Not the outsourced test models which requires to have separate QA/test estimates to be signed off by clients before start testing cycles.