Non Functional Testing are testing aspects that are not related to our specific requirements but more of the quality of our software.
Can our software scale?
Is our software performant?
Can it sustain load? What is the maximum load it can sustain?
What do we do to extend our security? Are our servers secure?
As developers, we sometimes forget the importance of non-functional testing, but what good is an application that meets the requirements but cannot be online for more than an hour? Both are extremely important and we must dedicate time to each area of testing so our software not only meets the requirements, but has great quality!