Negative testing
This approach to testing works by deliberately inputting values that are, according to the specification at least, invalid. The aim of this is to test the robustness of the system.
In an ideal case, the system refuses to accept incorrect input and enters into exception handling.
Non-functional requirement
This is a requirement which specifies the quality of a software that is being developed: non-functional requirements are almost as important as functional requirements in terms of customer satisfaction.
Non-functional requirements include usability, performance and reliability.
Non-functional testing
Refers to testing non-functional requirements such as usability or reliability using various test cases.