AP Spanish Perfect Tenses: Practice Test & Review
The perfect tenses report an action completed before a reference point. The present perfect (he hecho) reports an action completed before now, in a time frame that includes the present. The pluperfect (había hecho) reports an action completed before another past action. The future perfect (habrá hecho) reports an action completed before a future point, and the conditional perfect (habría hecho) reports a past action that would have been completed under a condition. The AP exam tests these in reading passages that report events, and in the written free-response tasks, where a clean sequence of past actions is part of what the rater scores.
This page gives you a five-part practice quiz: an evaluation set to see where you stand, three practice sets to drill the contrast, and a challenge set to confirm mastery. Every question is built around a cue that forces exactly one perfect form: a time frame that includes the present, a past reference point, a future reference point, a hypothetical past condition, or an irregular participle. If you get stuck, scroll down for the full grammar guide.
Ready? Start with the evaluation set below.
Grammar Guide
This guide explains the four perfect tenses in Spanish. The quiz above drills the contrast. The guide is for review and reference.
The Rule
The perfect tenses report an action completed before a reference point. Each form uses a conjugated auxiliary — haber in the required tense — plus a past participle. The present perfect (he hecho) reports an action completed before now. The pluperfect (había hecho) reports an action completed before another past action. The future perfect (habrá hecho) reports an action completed before a future point. The conditional perfect (habría hecho) reports a past action that would have been completed under a condition. The past participle stays invariant except for a few irregular forms, which must be memorized.
Present Perfect: Before Now
| Time Frame | Example | Translation |
|---|---|---|
| Hoy | Hoy he tomado tres cafés. | Today I have had three coffees. |
| Esta semana | Esta semana hemos trabajado mucho. | This week we have worked a lot. |
| Últimamente | Últimamente he estado muy cansado. | Lately I have been very tired. |
| Ya | Ya has hecho la tarea. | You have already done the homework. |
| Todavía no | Todavía no he escrito la carta. | I have not written the letter yet. |
| Nunca | Nunca he viajado a Japón. | I have never traveled to Japan. |
Pluperfect: Before Another Past Action
| Structure | Example | Translation |
|---|---|---|
| Cuando llegamos, ya… | Cuando llegamos, la película ya había empezado. | When we arrived, the movie had already started. |
| Ellos ya… cuando… | Ellos ya habían salido cuando los llamé. | They had already left when I called them. |
| Antes de + reference | Antes de los veinte años, ya había vivido en tres países. | Before I was twenty, I had already lived in three countries. |
| Reported past action | Ella me dijo que ya había enviado la carta. | She told me that she had already sent the letter. |
Future Perfect: Before a Future Point
| Structure | Example | Translation |
|---|---|---|
| Para + time | Para el viernes, habré terminado el proyecto. | By Friday, I will have finished the project. |
| Cuando + subjunctive | Para cuando llegues, ya habré salido. | By the time you arrive, I will have already left. |
| Para el año que viene | Para el año que viene, habrán pagado la casa. | By next year, they will have paid for the house. |
Conditional Perfect: Hypothetical Past
| Structure | Example | Translation |
|---|---|---|
| Si + pluperfect subjunctive | Si hubiera estudiado, habría aprobado. | If I had studied, I would have passed. |
| Si hubiera sabido… | Si hubiera sabido, habría hecho otra cosa. | If I had known, I would have done something else. |
| Si hubiéramos salido antes… | Si hubiéramos salido antes, no habríamos encontrado el tráfico. | If we had left earlier, we would not have hit traffic. |
Irregular Past Participles
| Verb | Participle | Example |
|---|---|---|
| hacer | hecho | he hecho |
| decir | dicho | he dicho |
| ver | visto | he visto |
| escribir | escrito | he escrito |
| poner | puesto | he puesto |
| volver | vuelto | he vuelto |
| abrir | abierto | he abierto |
| romper | roto | he roto |
Fixed Expressions
| Expression | Meaning | Tense |
|---|---|---|
| ya | already | Present perfect or pluperfect |
| todavía no | not yet | Present perfect |
| nunca | never | Present perfect |
| para cuando… | by the time… | Future perfect |
| si hubiera… | if I had… | Conditional perfect in the main clause |
Common Mistakes
1. Using the preterite with a time frame that includes the present.
✗ Hoy tomé tres cafés.
✓ Hoy he tomado tres cafés.
Hoy includes the present, so the present perfect is required.
2. Using the present perfect for an action before another past action.
✗ Cuando llegamos, la película ya ha empezado.
✓ Cuando llegamos, la película ya había empezado.
An action completed before another past action requires the pluperfect.
3. Using the future perfect for a hypothetical past condition.
✗ Si hubiera estudiado, habré aprobado.
✓ Si hubiera estudiado, habría aprobado.
The pluperfect subjunctive in the si clause forces the conditional perfect in the main clause.
4. Using a regular participle for an irregular verb.
✗ He hacido la tarea.
✓ He hecho la tarea.
Hacer has an irregular participle: hecho.
Quick Decision Chart
| Ask yourself | Answer | Form |
|---|---|---|
| Is the time frame open to the present? | Hoy, esta semana, últimamente, ya, todavía no | Present perfect |
| Is the action before another past action? | Cuando llegué, ya… | Pluperfect |
| Is the action before a future point? | Para el viernes, para cuando llegues | Future perfect |
| Is there a si + pluperfect subjunctive? | Si hubiera… | Conditional perfect |
| Is the verb hacer, decir, ver, escribir, poner, volver, abrir, or romper? | Yes | Use the irregular participle |
Two Sentences That Show the Difference
Cuando llegamos, la película ya había empezado.
When we arrived, the movie had already started.
The action of starting happened before the past action of arriving, so the pluperfect había empezado is required.
La película ya ha empezado; no podemos entrar.
The movie has already started; we cannot go in.
The action of starting is complete as of now, so the present perfect ha empezado is required.
