Testing that deliberately provides bad or unexpected inputs to software to see how it responds to incorrect usage.
Want to actually apply concepts like this instead of just reading definitions?