Litmus: Generation of Test Cases from Functional Requirements in Natural Language

  • Anurag Dwarakanath
  • Shubhashis Sengupta
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7337)

Abstract

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.

Keywords

Functional Testing Test Case Generation NLP Link Grammar 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Neill, C.J., Laplante, P.A.: Requirements engineering: The state of the practice. IEEE Software 20(6), 40–45 (2003)CrossRefGoogle Scholar
  2. 2.
    Sleator, D.D.K., Temperley, D.: Parsing English with a Link Grammar. In: Third International Workshop on Parsing Technologies (1993)Google Scholar
  3. 3.
    Sneed, H.M.: Testing against Natural Language Requirements. In: Seventh International Conference on Quality Software, pp. 380–387 (2007)Google Scholar
  4. 4.
    IEEE-829-2008, IEEE Standard for Software and System Test DocumentationGoogle Scholar
  5. 5.
    Stoer, J., Bulirsch, R.: Introduction to Numerical Analysis. Springer (2002)Google Scholar
  6. 6.
  7. 7.
    Luisa, M., Mariangela, F., Pierluigi, I.: Market Research for Requirements Analysis using Linguistic Tools. Requirements Engineering 9(1), 40–56 (2004)CrossRefGoogle Scholar
  8. 8.
    Ilieva, M.G., Ormandjieva, O.: Automatic Transition of Natural Language Software Requirements Specification into Formal Presentation. In: Montoyo, A., Muńoz, R., Métais, E. (eds.) NLDB 2005. LNCS, vol. 3513, pp. 392–397. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  9. 9.
    Howden, W.: Functional Program Testing & Analysis. McGraw Hill, New York (1987)Google Scholar
  10. 10.
    IEEE-830-1998: IEEE Recommended Practice for Software Requirements SpecificationsGoogle Scholar
  11. 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. 12.
    Kof, L.: Faster from Requirements Documents to System Models: Interactive Semi-Automatic Translation. In: First International Requirements Engineering Efficiency Workshop (2011)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Anurag Dwarakanath
    • 1
  • Shubhashis Sengupta
    • 1
  1. 1.Accenture Technology Labs.BangaloreIndia

Personalised recommendations