DELE B1 Present Perfect: Practice Test & Review

By SpanishGram

◄ Back to DELE B1 Hub

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

PronounHaberExample
yoheHe hablado.
túhasHas comido.
él / ella / ustedhaHa vivido.
nosotroshemosHemos trabajado.
vosotroshabéisHabéis visto.
ellos / ellas / ustedeshanHan llegado.

The participle never changes. He hablado, has hablado, hemos hablado — always hablado.

Forming the Past Participle

Verb typeEndingExample
-AR verbs-adohablar → hablado
-ER verbs-idocomer → comido
-IR verbs-idovivir → vivido

Irregular Participles

These verbs have irregular participles. They must be memorized.

VerbParticiple
hacerhecho
decirdicho
vervisto
escribirescrito
volvervuelto
abrirabierto
romperroto
ponerpuesto

When to Use Present Perfect

Use the present perfect when the action is connected to the present in some way.

UseExampleTranslation
Action within todayHoy he desayunado a las ocho.Today I had breakfast at eight.
Action within this week/month/yearEsta semana he tenido mucho trabajo.This week I’ve had a lot of work.
Life experienceHe 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… queHace 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 perfectUse preterite
Today (hoy)Yesterday (ayer)
This week/month/yearLast week/month/year
Lately (últimamente)In 2020, in June
Ever / never / already / not yetSpecific 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 yourselfAnswerTense
Is the time period finished?Yesterday, last week, in 2020Preterite
Is the time period unfinished?Today, this week, latelyPresent perfect
Is it a life experience?Ever, never, alreadyPresent perfect
Is it “not yet”?Todavía noPresent perfect
Is it “ago” or “for”?Hace… quePresent 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.