Commonly, you want to have unit tests (tests for what developers wrote, based on a feature / module), functional/acceptance tests (tests users would run to check that the features you develop match the use cases), load tests (how much volume your application can handle? / how does it perform?), usability tests (is the interface intuitive enough for your customers?).
Test coverage evaluates how much code you test through your unit tests.
One of the popular tool is Emma - a free Java code coverage tool.
Hope this answers your question,
Joelle
Joelle is right - there are levels of test cases within the development process. I think your question is more aimed at requirements coverage, though. Generally, there are similar levels of requirements coverage:
+ Unit tests (tests which are run when code is promoted from dev into 'test')
+ Integration tests (tests which prove that new code interfaces correctly with other functionality in the system)
+ System tests (test which validate end-to-end business and data flow, regardless of whether the code under test is new or legacy
+ Acceptance tests (UAT) tests which are run by the customer proving the system performs as they expected.
Generally, there can be around a one-to-one mapping of requirements to cases, or even one requirement to many cases. In UAT testing, one case can cover many requirements, though, as UAT is typically scenario-based and walks through the lifecycle of a business transaction. However, there is no formal guidance nor any formally accepted testing ratios for mapping level of requirements to level of test.
Perhaps this is an area of investigation for you - there might be value in establishing guidelines here!
John Overbaugh is testing professional with 13 years of experience. He blogs irregularly at <a href="http://thoughtsonqa.blogspot.com">http://thoughtsonqa.blogspot.com</a> and is a frequent contributor and testing expert with IT Knowledge Exchange..
***************************************************************
There are various types of test cases viz:
Boundary limits test cases
Negative test cases
Positive test cases
Performance test cases
Functional test cases
Load test cases
Code level test cases
The Coverage Requirements or test requirements will depend on the scope of test which in return will decide on the level of test cases. The level of test cases will depend on whether you are doing smoke testing, UAT, tool based testing, scenario based testing, functional testing, manual testing, load testing, performance testing etc. Each has its own benefits and disadvantages.
Test coverage is really a way to make sure that the requirements are covered. A test case can cover multiple requirements or one requirement could be spread across multiple tests. The tester has to make sure there is enough coverage. Enough here really depends on the organization and the processes they follow. Some companies use risk based approach and this helps in determining how much testing needs to be done