Use the present perfect continuous (have/has been + verb-ing) for an action that began in the past and is still going on, or has only just stopped, with for or since: It has been raining since morning. To say how many things are finished, use the present perfect simple: I have read three chapters. The answer key is at the end.
Learn the rules first: Mastering Perfect Continuous Tenses in English
Practise online, with instant answers: Present Perfect Continuous practice test (Basic)
A. Present perfect continuous forms
Write the present perfect continuous form of the verb in brackets. Some answers have more than one word. Where a sentence has two blanks, write both parts.
- Meena __________ (wait) for the bus since eight o'clock.
- It __________ (rain) for three hours.
- The children __________ (play) cricket since four.
- I __________ (not / sleep) well this week.
- How long __________ you __________ (learn) French?
- Ravi's eyes are red. He __________ (study) all night.
- My neighbours __________ (repair) their house since June.
- Why is your shirt wet? __________ you __________ (wash) the car?
B. Continuous or simple?
Circle the correct option.
- Priya (has written / has been writing) five letters today.
- The baby is tired because she (has cried / has been crying) for an hour.
- How many chapters (have you read / have you been reading) so far?
- I (have lost / have been losing) my wallet.
- Ravi (has broken / has been breaking) the window.
- She (has had / has been having) a fever since Monday.
- They (have repaired / have been repairing) the road for a week, and it is still not ready.
- Meena (has cooked / has been cooking) ten dishes for the party.
C. Rewrite with for or since
Rewrite each sentence in the present perfect continuous and add the words in brackets.
- Ravi is learning the guitar. (for two years)
- It is raining. (since morning)
- We are waiting for you. (for an hour)
- My sister is working in Pune. (since January)
D. Correct the mistakes
Each sentence has one mistake. Write the sentence correctly.
- She has been sleep since noon.
- They have been playing cricket since three hours.
- I have being waiting here for an hour.
- How long you have been learning English?
E. Write your own
Write a sentence of your own, as asked.
- Say what you have been doing this week. Use have been and for or since.
- Ask a friend how long they have been doing something. Use How long.
Answer Key
A. Present perfect continuous forms
- has been waiting
- has been raining
- have been playing
- have not (haven't) been sleeping
- have; been learning
- has been studying
- have been repairing
- Have; been washing
B. Continuous or simple?
- has written (a number of finished letters)
- has been crying
- have you read (how many)
- have lost
- has broken
- has had (have meaning "suffer from" is not used in the continuous)
- have been repairing (the work is not finished)
- has cooked (a number of finished dishes)
C. Rewrite with for or since
- Ravi has been learning the guitar for two years.
- It has been raining since morning.
- We have been waiting for you for an hour.
- My sister has been working in Pune since January.
D. Correct the mistakes
- She has been sleeping since noon.
- They have been playing cricket for three hours.
- I have been waiting here for an hour.
- How long have you been learning English?
E. Write your own
- Answers will vary, e.g. I have been practising English for two hours every evening this week.
- Answers will vary, e.g. How long have you been learning to swim?