I know there have been discussions about this in the past so I'll say upfront that the definition I'm about to give is based on my personal experience.
The word 'Guerilla' has a history associated with loosely organised, barely trained rebel fighters within a theatre of war. The same is broadly true of 'guerilla testing' - loosely organised tests, often carried out by designers rather than researchers, within the design phase of a project.
Most refined testing is carried out during a discovery phase when testing can be organised carefully, accurate test candidates can be sourced, and more elaborate/time-intensive tests can be run. This doesn't always guarantee that you will have enough information to complete the design phase. To cope with any knowledge gaps you might make a highly specific test case and take it to as many people as you can find in the spare minutes available to you in the midst of your regular work during the design phase.
If designed carefully, guerilla testing can give insight into very specific questions. I would not recommend using it for broader questions as this will be more time intensive and, without sourcing test candidates that reflect your target users, could yield misleading results.
Here are a few things I have used guerilla test to determine:
- Button placement (are buttons where common users expect to find them)
- Function visibility (can common users find a specific function in a UI)
- function comprehension (is the purpose of a specific function signalled clearly enough)