My project uses a fairly common structure; High Level Functional Requirements link to Use Case Segments which link to test cases.
A Use Case Segment is defined as one or more contiguous steps in-between branch points (e.g. an alternative flow) in a use case. A use case can be viewed as a "flattened" version of an Activity diagram. It is a trivial exercise to flip between the two views. Seen this way, the use case segments are the edges between decision points on an Activity diagram.
From a requirements point of view, a use case segment is atomic because you can't perform any step without performing all the steps in the segment.
We define a test case as a path through the use case (or equivalently, through the corresponding Activity diagram) that starts at the top and continues to the end. Think of taking a thick point magic marker and starting at the top of the Activity diagram, trace a path through the Activity diagram until the end is reached. This is test case one. Continue tracing paths until all the edges are covered. Each path is a test case. At the end, our test cases cover 100% of the use case paths. Industry averages indicate that 100% path coverage identifies 86-94% of the latent bugs in a system. Finding the remaining latent bugs can be very expensive (ask the US Space Shuttle development team).
When I put together a Requirements Traceability Matrix (RTM) I end up with many-to-many relationships between Use case segments and Test Cases. This is very confusing. The answer is to link the one or more test script steps to their corresponding use case segments. When that group of steps pass, the use case segment passes.
So here is my question. In RQM, how do I link test script steps to a requirement type of Use Case Segment so that as the contiguous steps pass the linked Use Case Segments are marked as passed? Or if any linked test script step fails, the linked Use Case Segment is flagged as failed?