The correct answer to this question is D. Non-functional testing is the process of using tests to determine how a system, such as a software application, complies with relevant coding standards like usability, reliability, maintainability, performance, scalability, security, etc.
These nonfunctional parameters are not related to a specific function or user action, and therefore are not addressed by functional testing. Because of this, non-functional testing serves an important purpose, as nonfunctional aspects must work together with functional aspects to ensure a cohesive working system, and it is as important as functional testing to be sure the application meets business expectations.