The concept of concrete and abstract nouns does not hold up to serious scrutiny.
In general, it seems that abstract noun describes an idea, a process, a state, or a group of things.
Practice is probably an abstract noun because it describes a collection of actions, or processes, and each of those actions or processes is abstract. Ball, leg, foot, and shoe are all concrete, but the action of kicking a ball, the kick is abstract.
Now, clearly you can see a kick - you can perceive that the leg has moved and the foot has collided with something. So maybe a kick is actually a concrete noun. Then let's try a more obviously abstract noun.
When you look up descriptions of abstract nouns, one thing that you'll almost always see mentioned is emotion. A smile, they say, is concrete, but happiness, the thing that causes the person to smile, is abstract.
With happiness, there seems to be nothing we can perceive - unless you define happiness as a mental state that is caused by an increase in certain chemicals in the brain. Brain chemistry can't be seen with the naked eye, but it can be perceived using special tools. And being visible to the naked eye must not really be the definition of concrete, since in that case, microorganisms would always be abstract.
Or, let's come at it from the other direction, with an example of a concrete noun.
A house seems like a nice, solid object. So what is a house? It seems to be a structure that someone lives in. But in that case, we're attributing a purpose (to be lived in), or a condition of existence (it is a house so long as someone lives in it) and purposes and conditions are definitely abstract.
When it comes down to it, there's no entirely satisfying way to define concrete and abstract.
Fortunately, it shouldn't matter.
To be frank, I don't know why anyone teaches this concept. Before answering this question, I read all the results that apapeared on the first page of a Google search and none even began to explain why it would matter whether a noun were concrete or abstract. Grammatically, there is no difference between a concrete and an abstract noun.