Litmus: Generation of Test Cases from Functional Requirements in Natural Language
Generating Test Cases from natural language requirements pose a formidable challenge as requirements often do not follow a defined structure. In this paper, we present a tool to generate Test Cases from a functional requirement document. No restriction on the structure of the sentence is imposed. The tool works on each requirement sentence and generates one or more Test Cases through a five step process – 1) The sentence is analyzed through a syntactic parser to identify whether it is testable; 2) A compound or complex testable sentence is split into individual simple sentences; 3) Test Intents are generated from each simple sentence (Test Intents map to the aspects on which the requirement is to be tested); 4) The Test Intents are grouped and sequenced in temporal order to generate Positive Test Cases. A Positive Test Case verifies the affirmative action of the system; 5) Wherever applicable, Boundary Value Analysis and other techniques are used generate Negative Test Cases. Negative Test Cases verifies the behavior of the system in exception conditions. The automated generation of the Test Cases has been implemented in a tool called Litmus. We provide experimental results of our tool on actual requirement documents across domains and discuss the advantages and shortcomings of our approach.
KeywordsFunctional Testing Test Case Generation NLP Link Grammar
Unable to display preview. Download preview PDF.
- 2.Sleator, D.D.K., Temperley, D.: Parsing English with a Link Grammar. In: Third International Workshop on Parsing Technologies (1993)Google Scholar
- 3.Sneed, H.M.: Testing against Natural Language Requirements. In: Seventh International Conference on Quality Software, pp. 380–387 (2007)Google Scholar
- 4.IEEE-829-2008, IEEE Standard for Software and System Test DocumentationGoogle Scholar
- 5.Stoer, J., Bulirsch, R.: Introduction to Numerical Analysis. Springer (2002)Google Scholar
- 9.Howden, W.: Functional Program Testing & Analysis. McGraw Hill, New York (1987)Google Scholar
- 10.IEEE-830-1998: IEEE Recommended Practice for Software Requirements SpecificationsGoogle Scholar
- 11.Sutton, S.M., Sinha, A., Paradkar, A.: Text2Test: Automated Inspection of Natural Language Use Cases. In: Third International Conference on Software Testing, Verification and Validation, pp. 155–164 (2010)Google Scholar
- 12.Kof, L.: Faster from Requirements Documents to System Models: Interactive Semi-Automatic Translation. In: First International Requirements Engineering Efficiency Workshop (2011)Google Scholar