Determining the influential factors of conducting non-functional testing in agile software development Ashwinesh C - Ashwinesh C.Ganapathi (2023)
Non-functional requirements define the systems attributes such as performance, security, etc. Even though these requirements are important in a system, they are known to be left out due to various factors, most commonly due to time and budget of a project. Agile software development practices have become a preferred approach in software development due to the ability to deliver an end product at a short period of time. However, in agile software development, there is no phase specifically defined for requirement elicitation which diverts the agile team members focus away from non-functional requirement testing and focus is put mainly toward functional testing instead. In this study, we identify the factors influencing non-functional testing, we discover the challenges faced in conducting non-functional testing and what are the practices that can be adopted to successfully conduct non-functional testing agile software development projects. Therefore, a detailed literature review was conducted to identify the factors, challenges and practices gathered from previous studies to be included in the survey. A quantitative approach was used whereby a set of questionnaires consisting statements related to factors, challenges and practices were distributed in Malaysia. An expert review was conducted to validate the survey. SPSS Version 26 was used to analyze the data obtained from the survey whereby various statistical tests were administered. As a result, this study identified thirteen factors influencing non-functional testing, six main challenges faced in conducting non-functional testing and seven practices that can aid in the process of conducting non-functional testing in an agile environment. The findings from this study would benefit agile team members to have a better understanding of the significance of conducting non-functional testing and at the same time serve as a guide for agile team members in conducting non-functional testing.