Let's say you are in charge of an SQA & Testing company that offers outsourced testing services to other companies that develop software. Let's say you offer 4 general types of testing:
- Functional Testing
- Performance Testing
- Security Testing
- Usability Testing
Let's assume you use a fixed price model: your client comes with a project with pre-defined requirements and scope, and a fixed duration, which are unlikely to change. You estimate how much it will cost you to provide testing for that project, and then you offer your client a fixed price that hopefully ensures you will gain some profit above your costs.
My question is about how to do the estimation above. How would you go about estimating the costs of doing testing to a given project X for your client? What information about the project would you look at in order to make a good estimation?
To formalize my question a little bit more, let's say you have to define 4 functions:
- FunctionalCost(X): estimated cost of providing functional testing for project X
- PerformanceCost(X): estimated cost of providing performance testing for project X
- SecurityCost(X): estimated cost of providing security testing for project X
- UsabilityCost(X): estimated cost of providing usability testing for project X
How would you define these functions?