Do both of them tell us that they are still living here.i am not sure if second one is correct and if it is,please tell me what is the difference between the two in terms of current situation.
The two sentences are similar but not identical.
They have been living here for ten years
means that they are still living here.
They have lived here for ten years
indicates that they are still living here but I can imagine a situation when a friend/relative uses the latter construction to talk about a couple who have just died or recently moved away.
However, this is a subtle nuance that may not find support with others.
They both continue to be true in the present. Both these tenses are used in reference to a present time, the time of speaking.
The difference lies in the extent to which one wants to emphasize the activity (living: what they have been doing) versus not giving a specific date about when they started living there.
If you do not want to give a specific date, as in: They lived here ten years [and now do not] but want to signal that the starting to live here began in the past and is still true, you use**: They have lived here for 10 years. The point here is that it began in the past.
Another example: I have been drinking coffee for many years. [emphasis: the fact of drinking coffee which is ongoing until the present]
I have drunk coffee for many years. [the coffee drinking is still going on but it began in the past. The activity itself is not emphasized. The information is that it began in the past.] Compare that to: I started drinking coffee in 2000.