DELE B1 Present Perfect: Practice Test & Review
The present perfect (he hablado, has comido, ha vivido) is one of the most tested tenses on the DELE B1 exam. It appears in reading passages, listening sections, and cloze exercises, often contrasted with the preterite.
This page gives you a five-part practice quiz: an evaluation set to see where you stand, three practice sets to drill the tense, and a challenge set to confirm mastery. If you get stuck, scroll down for the full explanation.
Ready? Start with the evaluation set below.
The Rule
The present perfect (he hablado) describes an action that happened in the past but is still connected to the present. It’s formed with the present tense of haber + past participle.
Haber + past participle = present perfect
| Pronoun | Haber | Example |
|---|---|---|
| yo | he | He hablado. |
| tú | has | Has comido. |
| él / ella / usted | ha | Ha vivido. |
| nosotros | hemos | Hemos trabajado. |
| vosotros | habéis | Habéis visto. |
| ellos / ellas / ustedes | han | Han llegado. |
The participle never changes. He hablado, has hablado, hemos hablado — always hablado.
Forming the Past Participle
| Verb type | Ending | Example |
|---|---|---|
| -AR verbs | -ado | hablar → hablado |
| -ER verbs | -ido | comer → comido |
| -IR verbs | -ido | vivir → vivido |
Irregular Participles
These verbs have irregular participles. They must be memorized.
| Verb | Participle |
|---|---|
| hacer | hecho |
| decir | dicho |
| ver | visto |
| escribir | escrito |
| volver | vuelto |
| abrir | abierto |
| romper | roto |
| poner | puesto |
When to Use Present Perfect
Use the present perfect when the action is connected to the present in some way.
| Use | Example | Translation |
|---|---|---|
| Action within today | Hoy he desayunado a las ocho. | Today I had breakfast at eight. |
| Action within this week/month/year | Esta semana he tenido mucho trabajo. | This week I’ve had a lot of work. |
| Life experience | He viajado a México. | I have traveled to Mexico. |
| With ya (already) | Ya he comido. | I’ve already eaten. |
| With todavía no (not yet) | Todavía no he terminado. | I haven’t finished yet. |
| With nunca (never) | Nunca he visto esa película. | I’ve never seen that movie. |
| With alguna vez (ever) | ¿Has probado el sushi alguna vez? | Have you ever tried sushi? |
| With últimamente (lately) | Últimamente no he dormido bien. | Lately I haven’t slept well. |
| With hace… que | Hace dos años que estudio español. | I’ve been studying Spanish for two years. |
Present Perfect vs Preterite
This is the contrast the DELE B1 exam tests most. The choice depends on whether the time period is finished or unfinished.
| Use present perfect | Use preterite |
|---|---|
| Today (hoy) | Yesterday (ayer) |
| This week/month/year | Last week/month/year |
| Lately (últimamente) | In 2020, in June |
| Ever / never / already / not yet | Specific finished time (anoche, el lunes) |
| Life experience (no specific time) | Completed action in finished time |
Examples:
- Hoy he comido paella. (Today — unfinished period)
- Ayer comí paella. (Yesterday — finished period)
- Esta semana he trabajado mucho. (This week — unfinished)
- La semana pasada trabajé mucho. (Last week — finished)
Time markers that trigger present perfect:
- hoy, esta semana, este mes, este año
- ya, todavía no, nunca, alguna vez, últimamente
- hace… que
Time markers that trigger preterite:
- ayer, anoche, anteayer
- la semana pasada, el mes pasado, el año pasado
- en 2020, el lunes, en junio
Common Mistakes
1. Using preterite with hoy.
✗ Hoy desayuné a las ocho.
✓ Hoy he desayunado a las ocho.
Hoy is an unfinished time period. Use present perfect.
2. Using present perfect with ayer.
✗ Ayer he ido al cine.
✓ Ayer fui al cine.
Ayer is a finished time period. Use preterite.
3. Making the participle agree with the subject.
✗ Ella ha llegada.
✓ Ella ha llegado.
The participle never changes. Llegado is always llegado.
4. Using tener instead of haber.
✗ Tengo visto esa película.
✓ He visto esa película.
Present perfect uses haber, not tener.
Quick Decision Chart
| Ask yourself | Answer | Tense |
|---|---|---|
| Is the time period finished? | Yesterday, last week, in 2020 | Preterite |
| Is the time period unfinished? | Today, this week, lately | Present perfect |
| Is it a life experience? | Ever, never, already | Present perfect |
| Is it “not yet”? | Todavía no | Present perfect |
| Is it “ago” or “for”? | Hace… que | Present perfect |
Two Sentences That Show the Difference
Hoy he hablado con mi madre tres veces.
Today I have spoken with my mother three times.
- Today = unfinished period. Present perfect.
Ayer hablé con mi madre tres veces.
Yesterday I spoke with my mother three times.
- Yesterday = finished period. Preterite.
