I believe this is a common issue for any QA that enters a project with existing test base.
I entered the project which have lots of unit tests and FIT tests for existing functionality. When I test a certain defect or new sub-feature added to existing functionality, I try also to understand if existing tests cover the application domain well. That's hard to trace. There is no test management software in use so far, and many tests contain detailed data without high-level descriptions ("The goal of this test is to..." or "We vary XML input files by variable X..."). The good thing is catalog and file names for test cases are quite descriptive.
I have two complementary ideas to understand test coverage:
Systematic: For a small feature under tests, I create matrix of possible test cases (e.g., combination of possible input variables) and compare it with space covered by existing tests.
Ad-hoc: An idea about possible missing test comes to my mind and I retrieve the existing test base for it.
However, both ideas hard to apply and time-consuming for two reasons:
- The domain of possible variables is complex and many variables are interrelated.
- It is hard to map my combinations matrix to the way someone else classified the test so far, and from this classification it is not straighfoward to see all dimensions already tested.
Do you have any approach to understand the coverage?