Present perfect simple or continuous – English Grammar Test for B2
Grammar » Grammar Test for B2 » Present perfect simple or continuous – English Grammar Test for B2
Part A – Multiple Choice
1 She ___ to the gym three times this week.
a) has gone
b) has been going
c) goes
2 Why are your hands dirty? – I ___ the bike.
a) have repaired
b) have been repairing
c) repair
3 How long ___ English?
a) have you learned
b) have you been learning
c) did you learn
4 He ___ his phone again!
a) has lost
b) has been losing
c) loses
5 The ground is wet because it ___ .
a) has rained
b) has been raining
c) rains
6 I ___ my best friend since high school.
a) have known
b) have been knowing
c) knew
7 Sorry I’m late. I ___ to the supermarket.
a) have gone
b) have been going
c) went
8 We ___ here for over an hour!
a) have waited
b) have been waiting
c) wait
9 She ___ three books already this month.
a) has written
b) has been writing
c) writes
10 He looks tired because he ___ video games all night.
a) has played
b) has been playing
c) plays
11 How many cups of coffee ___ you ___ today?
a) have / drunk
b) have / been drinking
c) did / drink
12 They ___ this project for months, but it’s still not finished.
a) have worked
b) have been working
c) work
13 I ___ a new phone, so now I can take better pictures.
a) have bought
b) have been buying
c) buy
14 She ___ in this company since 2015.
a) has worked
b) has been working
c) both a and b
15 The teacher ___ already ___ our essays.
a) has / corrected
b) has / been correcting
c) corrects
Part B – Gap-fill Sentences
16 I ___ (wait) here since 6 p.m.
17 He ___ (never / try) sushi before.
18 Sorry, I ___ (not / pay) attention. Could you repeat?
19 How long ___ you ___ (look) for a job?
20 She ___ (write) five articles this week.
21 Why are you so tired? – Because I ___ (work) all day.
22 The kitchen looks great. They ___ (paint) it.
23 I ___ (study) German for two years.
24 He ___ (break) his leg, so he can’t play football.
25 How many times ___ she ___ (visit) London?
26 My hands are dirty because I ___ (fix) the car.
27 We ___ (not / finish) the project yet.
28 She ___ (teach) at this school since 2010.
29 I ___ (already / see) that movie twice.
30 It ___ (rain) all day, and the streets are wet.
Part C – Error Correction
Find and correct the mistake.
31 I have been knowing him for many years.
32 She has wrote three letters today.
33 They have gone to Italy last summer.
34 I have been losing my keys twice this week.
35 He has been finishing his homework, so he can go out now.
36 Have you ever been trying yoga?
37 She has been painted the living room all day.
38 I haven’t been seeing her recently.
39 They have visited us all afternoon.
40 He has been always arriving late.
Part D – Dialogue Completion
41
A: Why are you late?
B: Sorry, I ___ (talk) to my boss.
42
A: ___ you ___ (ever / be) to New York?
B: Yes, twice.
43
A: You look tired.
B: I ___ (work) since early morning.
44
A: How many books ___ you ___ (read) this month?
B: Four already.
45
A: ___ she ___ (call) you yet?
B: Yes, once.
46
A: Why are your hands so dirty?
B: I ___ (plant) flowers.
47
A: ___ they ___ (finish) the project yet?
B: No, not yet.
48
A: Where ___ you ___ (be)?
B: I ___ (shop) downtown.
49
A: Why is she so happy?
B: Because she ___ (just / pass) her exam.
50
A: How long ___ you ___ (know) Peter?
B: Since university.
Part E – Reading Comprehension
I have been living in Madrid for almost a year now. It’s the first time I have lived in Spain, and the experience has been amazing. Since I arrived, I have been learning Spanish at a local school, and I have already made many friends.
In the past months, I have visited different parts of Spain: Barcelona, Valencia, and Seville. I have also tried traditional dishes like paella and churros. Recently, I have been practising Spanish with my neighbours every evening, and I think my speaking skills have improved a lot.
Life here is not always easy. Sometimes I miss my family, but I have been enjoying the culture and the people so much that time has passed quickly. I’m grateful for everything I have experienced so far.
51 How long ___ the writer ___ (live) in Madrid?
52 Is this the first time he ___ (live) in Spain?
53 What language ___ he ___ (learn) at school?
54 How many Spanish cities ___ he ___ (visit)?
55 What traditional foods ___ he ___ (try)?
56 Who ___ he ___ (practice) Spanish with recently?
57 How much ___ his speaking skills ___ (improve)?
58 Why ___ life sometimes ___ (be) difficult for him?
59 What aspects of Spain ___ he ___ (enjoy)?
60 ___ he ___ (be) grateful for his experience?
Answer
1 a) has gone – result, number of times.
2 b) have been repairing – ongoing activity explains dirty hands.
3 b) have you been learning – duration.
4 a) has lost – result, missing phone.
5 b) has been raining – explains wet ground.
6 a) have known – state verb.
7 a) have gone – she is still away.
8 b) have been waiting – unfinished duration.
9 a) has written – number completed.
10 b) has been playing – continuous activity explains tiredness.
11 a) have drunk – number of cups.
12 b) have been working – still not finished.
13 a) have bought – completed action.
14 c) both a and b – both possible for state verb.
15 a) has corrected – result.
16 have been waiting – duration.
17 has never tried – experience.
18 haven’t been paying – continuous neglect.
19 have you been looking – ongoing.
20 has written – number of articles.
21 have been working – ongoing, explains tiredness.
22 have painted – completed result.
23 have been studying – duration.
24 has broken – completed result.
25 has she visited – number of times.
26 have been fixing – ongoing activity explains dirty hands.
27 haven’t finished – result not complete.
28 has been teaching – ongoing since 2010.
29 have already seen – number of times.
30 has been raining – continuous, explains wet streets.
31 Error: have been knowing → have known (state verb).
32 Error: has wrote → has written.
33 Error: have gone last summer → went last summer.
34 Error: have been losing twice → have lost twice.
35 Error: has been finishing → has finished.
36 Error: been trying yoga → tried yoga.
37 Error: has been painted → has been painting.
38 Error: haven’t been seeing → haven’t seen.
39 Error: have visited all afternoon → have been visiting all afternoon.
40 Error: has been always arriving → has always been arriving.
41 have been talking – explains delay.
42 Have you ever been – life experience.
43 have been working – explains tiredness.
44 have you read – number.
45 Has she called – result.
46 have been planting – visible result (dirty hands).
47 Have they finished – result.
48 Where have you been / have been shopping – recent action.
49 has just passed – recent result.
50 have you known – state verb.
51 has been living – duration (almost a year).
52 Yes, he has – first time.
53 has been learning Spanish – ongoing.
54 has visited three cities – result.
55 has tried paella and churros – completed experiences.
56 has been practising with neighbours – ongoing.
57 has improved a lot – result.
58 has been difficult because he misses family – state.
59 has enjoyed culture and people – ongoing/result.
60 Yes, he has – grateful attitude.
