testing effort estimation can be done by 2 approaches
1) metrics based(based on materials gathered on doing the earlier projects).
2) experience based (many expertise and highly experienced people shares their knowledge in test estimation)
often the experience based one is the best one.
again it can be subclassified as Bottom up where the individaul tasks will be collected and then the dependencies for those tasks are estimated. this is applicable only to each and every task level.that means u have to divide the project in to multiple tasks and start estimating the dependencies like resouces, time schedules and members etc. hence called as bottom up.
the other one is called as "Top up" where the size and complexity of project will be rationalised (size:complex ratio) and then the developers and testers ratio , number of testcases to be executed each day etc will be estimated.