
Software development starts with requirement engineering which involves establishing and documenting requirements. In agile environments, requirements are collected in the form of user stories. User stories play a crucial role in capturing functional requirements from end users. Testing and prioritizing user stories are essential to ensure whether the software meets the desired functionalities based on specifications. However, with the increasing complexity of software systems, manual classification and prioritization of test cases based on user stories have become time-consuming and error prone. The proposed solution leverages the power of NLP to extract key information from user stories. It employs machine learning algorithms for efficient classification and prioritization into Arrange, Act, and Assert (AAA) categories. The user stories are preprocessed using NLP techniques to extract keywords, remove noise, tokenize and represent the text as unigrams which are classified into the AAA categories. The proposed machine learning model prioritizes the associated test cases by considering factors like criticality, complexity, and dependencies. The results are enhanced by implementing a deep learning model which addresses complex and non-linear data. The classification and prioritization of these keywords in each user story helps in designing sequences of user stories with efficient resource allocation to enable the testing team to focus on high-priority test cases, reducing time and effort.
For more about this article see link below.
https://ieeexplore.ieee.org/document/10380221
For the open access PDF link of this article please click here.