As a requirements manager I want the traceability report to show the fraction of the number of items in one level (of the tracing policy) which fulfill the tracing policy, divided by the total number of items in that level (of the tracing policy). The fraction shall be shown as percentage.
Example: If the tracing policy is: Tests --(trace to)--> Requirements, then the report shall show the fraction of requirements which are covered by at least one test, divided by the total number of requirements.
Some software tests are not mapped to the requirements correctly. example, software test mapping is missed or software tests are swapped while mapping.
The test shall verify output file contains correct mapping of requirement to software tests based on requirement reference mentioned in software tests.
The test shall verify output file contains correct mapping of software tests to requirement based on requirement reference mentioned in software tests.
IF "trace to" is an invalid entry given in the configuration file according to the schema, THEN the tool shall exit with a non-zero return code and with an error message "lobster error: unknown item".
Issues:
missing up reference
missing reference to Software Requirements
missing reference to System Tests
Build Reference: main | Timestamp: 2025-09-18 11:06:21+00:00 UTC
OTHERWISE IF the "just_up" list of the [[item]] contains at least one value AND there is at least one level in "trace to" in the tracing policy for the level of the item, THEN the tool shall set the tracing status to "JUSTIFIED" of that [[Item]].
OTHERWISE IF the "just_down" list of the [[item]] contains at least one value AND the level of the item is mentioned in at least one "trace to" entry of any other level, THEN the tool shall set the tracing status to "JUSTIFIED" of that [[Item]].
OTHERWISE, IF an [[Item]] has no references to an [[Item]] from a level mentioned in trace to, THEN the tool shall set the tracing status to "MISSING" of that [[Item]] and write "missing up reference" into the message section according to the schema.
OTHERWISE, IF an [[Item]] has references to an [[Item]] from a level mentioned in trace to, THEN the tool shall set the tracing status to "OK" of that [[Item]]
IF a level defined in the tracing policy has zero items in the corresponding input file, THEN the tool shall set the coverage for that level to 0.0 in the generated report file.
IF an input file given in the configuration is not valid JSON, THEN the tool shall raise an error of type LOBSTER_Error AND shall exit with a non-zero return code AND shall report the error location and message.
IF a JSON input file does not contain a dictionary at the top level, THEN the tool shall raise a Exception, AND the tool shall exit with a non-zero return code.
IF a lobster input file contains a schema that is not in the list of supported schemas, THEN the tool shall: - Report "unknown schema kind <schema>" - Exit with a non-zero return code
IF a lobster input file contains a schema with an unsupported version number, THEN the tool shall: - Report "version <X> for schema <Y> is not supported" - Exit with a non-zero return code
Issues:
missing up reference
missing reference to Software Requirements
missing reference to System Tests
Build Reference: main | Timestamp: 2025-09-18 11:06:21+00:00 UTC
IF the input .lobster file is missing a schema key, THEN the tool shall raise a LOBSTER_Exception, AND the tool shall exit with a non-zero return code.
IF the input .lobster file is missing a version key, THEN the tool shall raise a LOBSTER_Exception, AND the tool shall exit with a non-zero return code.
IF the tool detects an invalid input file AND raises a LOBSTER_Exception, THEN the tool shall invoke the exception's dump() method to display the error details in the standard output AND exit with a non-zero return code.
IF a reference in a lobster file points to a tag that does not exist in the set of loaded items, THEN the tool shall report "unknown tracing target <tag>" and exit with non-zero return code.
IF a reference specifies a version but the destination tag is unversioned, THEN the tool shall report "tracing destination <tag> is unversioned" and exit with non-zero return code.
IF a reference specifies a version and the destination tag has a different version, THEN the tool shall report "tracing destination <tag> has version <x> (expected <y>)" and exit with non-zero return code.
IF a required input file for the tool does not exist or cannot be accessed, THEN the tool shall report "file not found <file_path>" and exit with a non-zero return code.
IF the tracing policy is a linear tracibility where each level traces to exactly one other level, forming a linear chain of traceability, THEN the tool support linear tracing policies.
IF the tracing policy is complex with multiple interconnected levels, where traceability can exist between multiple levels, THEN tool shall support complex tracing policies.
IF multiple input files are available in the workspace, THEN the tool shall only process the input files specified in the tracing policy configuration AND shall ignore any additional lobster files not referenced in the policy.
IF the tracing policy defines multiple levels with multiple source files for each level, THEN the tool shall correctly process and consolidate all source files and generate lobster report.
IF an item contains a "message" and traces to another item, THEN the traced item shall have 100% coverage, AND the item with the message shall have 0% coverage.
IF the tool processes multiple items with their respective data and information, THEN the tool shall ensure that data do not get mixed between different items, AND each [[item]] shall maintain its own distinct data,
IF the tracing policy configuration references input files that cannot be found in the workspace, THEN the tool shall report error AND shall exit with a non-zero return code.