Testing software’s changing features with environment-driven abstraction identification

Zedong Peng, Prachi Rathod, Nan Niu*, Tanmay Bhowmik, Hui Liu, Lin Shi, Zhi Jin

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

6 Citations (Scopus)

Abstract

Abstractions are significant domain terms that have assisted in requirements elicitation and modeling. To extend the assistance toward requirements validation, we present in this paper an automated approach to identifying the abstractions for supporting requirements-based testing. We select relevant Wikipedia pages to serve as a domain corpus that is independent from any specific software system. We further define five novel patterns based on part-of-speech tagging and dependency parsing, and frame our candidate abstractions in the form of <key, value> pairs for better testability, where the “key” helps locate “what to test”, and the “value” helps guide “how to test it” by feeding in concrete data. We evaluate our approach with six software systems in two application domains: Electronic health records and Web conferencing. The results show that our abstractions are more accurate than those generated by a state-of-the-art technique. While the initial findings indicate our abstractions’ capabilities of revealing bugs and matching the environmental assumptions created manually, we articulate a new way to perform requirements-based testing by focusing on a software system’s changing features. Specifically, we hypothesize that the same feature would behave differently under a pair of opposing environmental conditions and assess our abstractions’ applicability to this new form of feature testing.

Original languageEnglish
Pages (from-to)405-427
Number of pages23
JournalRequirements Engineering
Volume27
Issue number4
DOIs
Publication statusPublished - Dec 2022

Keywords

  • Abstractions
  • Environmental assumptions and conditions
  • Natural language
  • Requirements-based testing

Fingerprint

Dive into the research topics of 'Testing software’s changing features with environment-driven abstraction identification'. Together they form a unique fingerprint.

Cite this