A way to test whether the use of the present perfect progressive is
appropriate is to add, mentally, "for xxx," with "xxx"
indicating a certain period of time. This period of time ends at the
moment of speaking, but the action of the verb could continue into the
future.
For example, adding “for three months” to the sentence:
I've read that book.
it doesn't fit. But change the verb to 've been reading
and it is correct:
I've been reading that book for three months.
Another question to ask yourself about the present perfect progressive:
Is this sentence a present continuous statement, with a time expression
added? For example:
I'm reading a book. I started reading it three months
ago.
Therefore:
I've been reading the book for three months.
You couldn't say: I've read a book for three months.
These simple questions do not always work—for example, in negative
sentences—but they might help you out in your own mind if you've
been having trouble getting started.
RSK
Back to Present perfect
vs. present perfect progressive