US2018196739A1PendingUtilityA1

System and method for safety-critical software automated requirements-based test case generation

Assignee: GEN ELECTRICPriority: Nov 20, 2015Filed: Mar 9, 2018Published: Jul 12, 2018
Est. expiryNov 20, 2035(~9.3 yrs left)· nominal 20-yr term from priority
G06F 11/3676G06F 11/3684G06F 11/368G06F 11/2273G06F 8/20G06F 11/3668G06F 8/35G06F 11/3672G06F 11/36G06F 11/3608
50
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Automated requirements-based test case generation method includes constructing a software architecture model derived from software design model architectural information, allocating requirement models into blocks/operators of the software architecture model, and generating component-level requirements-based test cases from the software architecture configured to be executable at different levels in the software architecture. The component-level requirements-based test case generation method includes receiving a software architecture along with allocated requirement models represented in hierarchical data flow diagram, selecting one of the software components, building an intermediate test model based on the selected component by automatically attaching at least one of test objectives or constraints to the corresponding software architecture model blocks/operators based on the selected test strategy, and generating human and machine readable test cases with the test generator for further automatic conversion to test executable and test review artifacts. A system and a non-transitory computer-readable medium for implementing the method are also disclosed.

Claims

exact text as granted — not AI-modified
1 . A method for automated requirements-based test case generation, the method comprising:
 constructing a software architecture model in a model based development tool, the software architecture model automatically derived from architectural information of a software design model;   allocating requirement models into different components of a software architecture model;   a test case generator unit generating component level requirements-based test cases from one or more levels of the software architecture model; and   the generated requirements-based test cases configured to be executable at different levels in the software architecture.   
     
     
         2 . The method of  claim 1 , including allocating the requirement models by connecting corresponding monitored or controlled variables with at least one of an input port and an output port of respective ones of the different modules. 
     
     
         3 . The method of  claim 1 , including the test case generator unit generating integration level test cases, and applying the integration level test cases to verify if a code module complies with the allocated requirements. 
     
     
         4 . The method of  claim 1 , including:
 receiving the software architecture model in the form of a hierarchical data flow diagram derived from the software design along with the allocated requirement models, the hierarchical data flow diagram including one or more blocks/operators mapping to corresponding components in the software design;   selecting one of the software components from the software design for test case generation; and   building an intermediate test model based on the selected component by automatically attaching at least one test objectives and test constraints to the corresponding software architecture model block/operator.   
     
     
         5 . The method of  claim 4 , including selecting the software component based on a level of test generation. 
     
     
         6 . The method of  claim 1 , including generating the test cases according to at least one strategy selected from the list of a requirements coverage strategy, a logic condition coverage strategy, an input masking strategy, a data completeness analysis strategy, an event strategy, a list strategy, a decomposition and equation strategy, an equivalence class strategy, a boundary value analysis strategy, a robustness strategy, and a timing strategy. 
     
     
         7 . The method of  claim 4 , including:
 generating requirements-based test cases by performing at least one of model-checking, theorem proving, constraint solving, and reachability resolution methods on the intermediate test model; and   translating the generated test cases into test scripts for test execution, and into test artifacts for review.   
     
     
         8 . A non-transitory computer-readable medium having stored thereon instructions which when executed by a processor cause the processor to perform a method for automated requirements-based test case generation, the method comprising:
 constructing a software architecture model, the software architecture model automatically derived from architectural information of a software design model;   allocating requirement models into different blocks/operators of a software architecture model;   generating component level requirements-based test cases from one or more levels of the software architecture model; and   the generated requirements-based test cases configured to be executable at different levels in the software architecture.   
     
     
         9 . The non-transitory computer-readable medium of  claim 8 , including instructions to cause the processor to allocate the requirement models by connecting corresponding monitored or controlled variables with an input port or an output port of respective ones of the different modules. 
     
     
         10 . The non-transitory computer-readable medium of  claim 8 , including instructions to cause the processor to generate integration level test cases, and apply the integration level test cases to verify if a code module complies with the allocated requirements. 
     
     
         11 . The non-transitory computer-readable medium of  claim 8 , including instructions to cause the processor to:
 receive the software architecture model in the form of a hierarchical data flow diagram derived from the software design along with the allocated requirement models, the hierarchical data flow diagram including one or more blocks/operators mapping to corresponding components in the software design;   select one of the software components from the software design for test case generation; and   build an intermediate test model based on the selected component by automatically attaching at least one test objectives and test constraints to the corresponding software architecture model block/operator.   
     
     
         12 . The non-transitory computer-readable medium of  claim 10 , including instructions to cause the processor to generate the test cases according to at least one strategy selected from the list of a requirements coverage strategy, a logic condition coverage strategy, an input masking strategy, a data completeness analysis strategy, an event strategy, a list strategy, a decomposition and equation strategy, an equivalence class strategy, a boundary value analysis strategy, a robustness strategy, and a timing strategy. 
     
     
         13 . The non-transitory computer-readable medium of  claim 11 , including instructions to cause the processor to:
 generate requirements-based test cases by performing at least one of model-checking, theorem proving, constraint solving, and reachability resolution methods on the intermediate test model; and   translate the generated test cases into test scripts for test execution, and into test artifacts for review.   
     
     
         14 . A system for automated requirements-based test case generation, the system comprising:
 a model based development tool including a control processor configured to execute instructions, the control processor connected to a communication link;   a component level test case generator unit to automatically generate test cases.   
     
     
         15 . The system of  claim 14 , including the control processor configured to execute instructions that cause the control processor to perform the steps of:
 deriving software architecture model from software design   allocating requirement models into different blocks/operators of a software architecture model;   generating component level requirements-based test cases.   
     
     
         16 . The system of  claim 15 , including the control processor configured to execute instructions that cause the control processor to generate integration level test cases, and apply the integration level test cases to verify if a code module complies with the software architecture model and the allocated requirement models. 
     
     
         17 . The system of  claim 15 , including the control processor configured to execute instructions that cause the control processor to:
 receiving the software architecture model in the form of a hierarchical data flow diagram derived from the software design along with the allocated requirement models, the hierarchical data flow diagram including one or more blocks/operators mapping to corresponding components in the software design;   selecting one of the software components from the software design for test case generation; and   building an intermediate test model based on the selected component by automatically attaching at least one test objectives and test constraints to the corresponding software architecture model block/operator.   
     
     
         18 . The method of  claim 6 , the input masking strategy including masking Modified Condition/Decision Coverage (MC/DC) to allow more than one input of an input condition to change in an independent pair. 
     
     
         19 . The non-transitory computer-readable medium of  claim 12 , the input masking strategy including masking Modified Condition/Decision Coverage (MC/DC) to allow more than one input of an input condition to change in an independent pair. 
     
     
         20 . The system of  claim 15 , the generating component level requirements-based test cases including an input masking strategy that allows more than one input of an input condition to change in an independent pair.

Join the waitlist — get patent alerts

Track US2018196739A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.