Towards Improving the Quality of Requirement and Testing Process in Agile Software Development: An Empirical Study
Abstract
Software testing is a critical phase due to misconceptions about ambiguities in the requirements during specification,
which affect the testing process. Therefore, it is difficult to identify all faults in software. As requirement
changes continuously, it increases the irrelevancy and redundancy during testing. Due to these challenges; fault
detection capability decreases and there arises a need to improve the testing process, which is based on changes
in requirements specification. In this research, we have developed a model to resolve testing challenges through
requirement prioritization and prediction in an agile-based environment. The research objective is to identify the
most relevant and meaningful requirements through semantic analysis for correct change analysis. Then compute
the similarity of requirements through case-based reasoning, which predicted the requirements for reuse and
restricted to error-based requirements. Afterward, the apriori algorithm mapped out requirement frequency to
select relevant test cases based on frequently reused or not reused test cases to increase the fault detection rate.
Furthermore, the proposed model was evaluated by conducting experiments. The results showed that requirement
redundancy and irrelevancy improved due to semantic analysis, which correctly predicted the requirements,
increasing the fault detection rate and resulting in high user satisfaction. The predicted requirements are mapped
into test cases, increasing the fault detection rate after changes to achieve higher user satisfaction. Therefore, the
model improves the redundancy and irrelevancy of requirements by more than 90% compared to other clustering
methods and the analytical hierarchical process, achieving an 80% fault detection rate at an earlier stage. Hence, it
provides guidelines for practitioners and researchers in the modern era. In the future, we will provide the working
prototype of this model for proof of concept.