# Selection Modes

Redefine offers four selection modes to optimize testing:

1. [Discover](https://docs.redefine.dev/configuration/selection-modes/discover) mode collects data for improved predictions.
2. [Optimize](https://docs.redefine.dev/configuration/selection-modes/optimize) mode runs relevant tests within a time budget.
3. [Fail-Fast](https://docs.redefine.dev/configuration/selection-modes/fail-fast) mode stops CI runs if tests fail within the budget, or runs all tests if they pass.
4. [Prioritize](https://docs.redefine.dev/configuration/selection-modes/prioritize) mode reorders tests for faster feedback, especially when integrated with Redefine Slack or a first-fail testing framework.

{% hint style="info" %}
To enhance your developer experience, we strongly recommend the use of [ai-slack-notifications](https://docs.redefine.dev/integrations/ai-slack-notifications "mention").
{% endhint %}
