Abstract:
Because QAs are given less attention than Functional Requirements, non-testable QAs in the
SRS document continue to be a problem for software development. Hence, the design,
implementation, validation, and testing phases are carried out by the SRS's Quality
Attributes, non-testable QAs'll have to be identified and rewritten if they can't be verified.
The need for non-testable QA identification is therefore to reduce the system’s maintenance
costs and delays. For natural language requirements, this had to be done manually, which
consumes time and money. To address this issue, the goal of this thesis was to identify non-testable quality attributes using Machine learning approaches. The study used questionnaires
for preparing datasets, NLP techniques for pre-processing datasets, and machine learning
approaches to train and test datasets. The BOW and TFIDF vectorizers were compared to the
five machine learning Approaches (KNN, SVM, Naive Bayes, Random Forest, and Decision
Tree). With an accuracy of 83%, a BOW vectorizer combined with an SVM classifier
exceeds all other vectorization and classification techniques.
.
Keywords
Requirement engineering, Software architecture, Quality Attribute, Non-functional
requirement, Machine learning, Natural language processing.