Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

Test case information extraction from requirements specifications using NLP-based unified boilerplate approach

Published: 01 May 2024 Publication History

Highlights

Ambiguity in requirements increases the challenges of automated testing.
Extracted test case information from positive and negative requirements using NLP.
Unified boilerplates as the grammar guideline for requirements analysis.
Extracted information became building blocks for automated test case generation.

Abstract

Automated testing which extracts essential information from software requirements written in natural language offers a cost-effective and efficient solution to error-free software that meets stakeholders’ requirements in the software industry. However, natural language can cause ambiguity in requirements and increase the challenges of automated testing such as test case generation. Negative requirements also cause inconsistency and are often neglected. This research aims to extract test case information (actors, conditions, steps, system response) from positive and negative requirements written in natural language (i.e. English) using natural language processing (NLP). We present a unified boilerplate that combines Rupp's and EARS boilerplates, and serves as the grammar guideline for requirements analysis. Extracted information is populated in a test case template, becoming the building blocks for automated test case generation. An experiment was conducted with three public requirements specifications from PURE datasets to investigate the correctness of information extracted using this proposed approach. The results presented correctness of 50 % (Mdot), 61.7 % (Pointis) and 10 % (Npac) on information extracted. The lower correctness on negative over positive requirements was observed. The correctness by specific categories is also analysed, revealing insights into actors, steps, conditions, and system response extracted from positive and negative requirements.

References

[1]
Y. Aoyama, T. Kuroiwa, N. Kushiro, Test case generation algorithms and tools for specifications in natural language, in: 2020 IEEE International Conference on Consumer Electronics (ICCE), 2020,.
[2]
Y. Aoyama, T. Kuroiwa, N. Kushiro, Executable test case generation from specifications written in natural language and test execution environment, in: 2021 IEEE 18th Annual Consumer Communications & Networking Conference (CCNC), 2021,.
[3]
C. Arora, M. Sabetzadeh, L.C. Briand, F. Zimmer, Requirement boilerplates: transition from manually-enforced to automatically-verifiable natural language patterns, in: 2014 IEEE 4th International Workshop on Requirements Patterns (RePa), 2014,.
[4]
C. Arora, M. Sabetzadeh, L. Briand, F. Zimmer, Automated checking of conformance to requirements templates using natural language processing, IEEE Transact. Software Eng. 41 (10) (2015) 944–968,.
[5]
S. Bird, E. Klein, E. Loper, Natural Language Processing With Python, 2009.
[6]
G. Carvalho, D. Falcão, F. Barros, A. Sampaio, A. Mota, L. Motta, M. Blackburn, NAT2TESTSCR: test case generation from natural language requirements based on SCR specifications, Sci. Comput. Program. 95 (2014) 275–297,.
[7]
Ferrari, A., Giorgio Oronzo Spagnolo, & Gnesi, S. (2017). PURE: a dataset of public requirements documents. https://doi.org/10.1109/re.2017.29.
[8]
J. Fischbach, M. Junker, A. Vogelsang, D. Freudenstein, Automated generation of test models from semi-structured requirements, in: 2019 IEEE 27th International Requirements Engineering Conference Workshops (REW), 2019,.
[9]
R. Gröpler, V. Sudhi, E. José, A. Bergmann, NLP-Based requirements formalization for automatic test case generation, CEUR. Workshop. Proc. 21 (2021) 18–30.
[10]
C.T.M. Hue, D.H. Dang, N.N. Binh, A.H. Truong, USLTG: test case automatic generation by transforming use cases, Internat. J. Software Eng. Know. Eng. 29 (09) (2019) 1313–1345,.
[11]
IEEE Standard for Software and System Test Documentation. (2008). IEEE Std 829-2008, 1–150. https://doi.org/10.1109/IEEESTD.2008.4578383.
[12]
P.A. Lindsay, S. Kromodimoeljo, P.A. Strooper, M. Almorsy, Automation of test case generation from behavior tree requirements models, in: 2015 24th Australasian Software Engineering Conference, 2015,.
[13]
Loper, E., & Bird, S. (2002). NLTK. proceedings of the acl-02 workshop on effective tools and methodologies for teaching natural language processing and computational linguistics -. https://doi.org/10.3115/1118108.1118117.
[14]
P.X. Mai, F. Pastore, A. Goknil, L.C. Briand, A natural language programming approach for requirements-based security testing, in: 2018 IEEE 29th International Symposium on Software Reliability Engineering (ISSRE), 2018,.
[15]
A. Mavin, P. Wilkinson, A. Harwood, M. Novak, Easy approach to requirements syntax (EARS), in: 2009 17th IEEE International Requirements Engineering Conference, 2009,.
[16]
G.A. Miller, WordNet: A Lexical Database for English, ACLWeb, 1994, https://aclanthology.org/H94-1111.
[17]
A.M.N. Mustafa, W. Wan-Kadir, N. Ibrahim, M. Arif Shah, M. Younas, A. Khan, M. Zareei, F Alanazi, Automated test case generation from requirements: a systematic literature review, Comput. Mater. Contin. 67 (2) (2021) 1819–1833,.
[18]
M.A. Salam, M. Abdel-Fattah, A.A. Moemen, A Survey on Software Testing Automation using Machine Learning Techniques, Int. J. Comput. Appl. 183 (51) (2022) 12–19,.
[19]
Shweta, R Sanyal, Impact of passive and negative sentences in automatic generation of static UML diagram using NLP, J. Intelligent Fuzzy Syst. (2020) 1–13,.
[20]
S. Tiwari, D. Ameta, A. Banerjee, An Approach to identify use case scenarios from textual requirements specification, in: Proceedings of the 12th Innovations on Software Engineering Conference (Formerly Known as India Software Engineering Conference, 2019,.
[21]
Tiwari, S., Shah, P., & Khare, M. (2022). NL2RT: a tool to translate natural language text into requirements templates (RTs). 262–263. https://doi.org/10.1109/RE54965.2022.00035.
[22]
C. Wang, F. Pastore, A. Goknil, L. Briand, Automatic generation of acceptance test cases from use case specifications: an NLP-based approach, IEEE Transact. Software Eng. 48 (2) (2020) 585–616,.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Journal of Systems and Software
Journal of Systems and Software  Volume 211, Issue C
May 2024
518 pages

Publisher

Elsevier Science Inc.

United States

Publication History

Published: 01 May 2024

Author Tags

  1. Natural language processing
  2. Test case generation
  3. Automation
  4. Software requirements
  5. Software Testing
  6. Test Case

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 0
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 17 Feb 2025

Other Metrics

Citations

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media