He had been visiting a doctor for 2 hours before she came.
She has been playing tennis as a professional for 10 years now.
She cooked breakfast, put on her clothes and went to her work. - я бы это перевел как past simple, т.к. есть последовательность действий. по мне perfect тут коряво будет выглядеть, но могу ошибаться.
He was working really hard last week. He has been tired now.