Testing software by presenting it with invalid input to find errors in input validation and handling.