Jama / cover
- Looked at linked test id, line hits
- malformed_input:negative not in scope
Topic · Requirements coverage
Gist
Jama stores a link a person filled. go test -cover counts lines the suite touched. Neither asks whether this shall still has a witness. Proof fails the merge when an obligation on the checklist has no annotated test, with the same command on every push.
proof audit --fail-level warn
Keep Jama for the programme. Keep the cover report for lines. The missing cell is obligation_evidence_complete.
01 · The filled cell
Someone typed the requirement id into a test-case field last quarter. The suite that still runs never opens that path.
The ageing spreadsheet lives on the RTM page. The two percentages live on test coverage vs requirements coverage. This page is the completeness question: every shall on the checklist, a witness in code, or the merge stays red.
An ALM cell is an assertion. A cover report is a line count. An obligation is a class with a required evidence list. malformed_input is not done when the happy path passed. The catalog asks for nominal and negative. One annotated test is not both.
// SYS-REQ-116:malformed_input:nominal
func TestAcceptsWellFormed(t *testing.T) {
// valid payload, store updated
}
Cover is green. The matrix row is green, because a person linked that test. The malformed payload still writes. obligation_evidence_complete is a verify-stage warning by default. Wire
proof audit --fail-level warn
and the missing negative cell fails the push.
02 · The exhibit
The matrix says covered. The catalog says the class still owes a negative. Click the tabs.
Jama / cover
The shall
When the payload is malformed, the parser shall reject it and leave the store unchanged.
No negative annotationJama / cover
Still a filled cell. Still a line count. Still no reject path.
Still the assertionProof
Same shall. A filled cell, or a witness. Click the tabs.
| Who | What they notice | What they lose |
|---|---|---|
| Jama / DOORS / Polarion | A person asserted a test-case link on the requirement | They author the programme. They do not re-read the suite. Keep them. |
go test -cover |
Which lines this process executed | A line hit is not a class on the checklist. Keep the cover report. |
| The two percentages | Test coverage versus requirements coverage as different jobs | That split lives on the coverage page. |
| Proof | Each required evidence type on the obligation still has an annotated test, or the merge stays red | Proof does not invent the shall. An unnamed partition is not in the denominator. Jama still authors. |
The check reads the obligation checklist, then the triple on the test:
proof audit --check obligation_evidence_complete --verbose
proof catalog show malformed_input
// SYS-REQ-116:malformed_input:nominal
// SYS-REQ-116:malformed_input:negative
proof audit --fail-level warn
plain class: nominal only.
error_handling and malformed_input: nominal plus negative.
concurrent: nominal plus race.
denial_of_service_resistant: nominal plus fuzz.
Typed evidence needs run provenance. A comment without a run is not a witness.
We have not run Jama against that gate on a frozen corpus of shalls. The loss is named, not scored.
03 · The honest loss
If nobody wrote the shall, there is nothing for obligation_evidence_complete to fail on except the checklist you already have.
Proof does not author the programme. Jama still does. Proof does not count lines. go test -cover still does. Proof does not invent a partition that was never a condition. 100% MC/DC on the written decision still misses that case. The public miss on that shape is on
jsonparser,
not as a claim this page re-ran it.
A warning-by-default check is silent at the default fail level. The gate is
proof audit --fail-level warn.
A transform with no obligation checklist is skipped as information. Nominal on a derived requirement never validates the parent stakeholder criterion. Decomposition is not acceptance.
The matrix H1 lives on requirements traceability matrix. The two-percentage H1 lives on test coverage vs requirements coverage. Condition-level coverage lives on MC/DC for Go.
04 · Nearby questions
What is a requirements traceability matrix, and how do I keep it true? The ageing database versus links re-derived from source. RTM.
What's the difference between test coverage and requirements coverage? Two jobs, two denominators. The coverage page.
How do I find code that isn't tied to any requirement? Inverse coverage on the same graph. FAQ on the RTM URL. Do not mint a twin.
How do I get condition-level coverage, not just line coverage? Each condition shown to flip the outcome on its own. MC/DC for Go.