Non-functional testing is testing software for its non-functional requirements: the way a system operates, rather than specific behaviors of that system. This is in contrast to functional testing, which tests against functional requirements that describe the functions of a system and its components.
Non-functional testing includes: