There really is no right answer to this question. In general, tipping is more common in the big cities where there are a lot of tourists and they're used to it. In small towns it's not expected and I've actually had waiters/waitresses refuse my tip attempt. Others seem embarrassed by it. Most of the Italians I know here either tip very little or not at all. The only time I would tip 10% is if it were a very nice restaurant and a special occasion. In these cases, assuming the service was really good, I will usually give the waiter 5 or 10 euros (depending on the bill) but the important thing is to personally hand it to them with a heartfelt 'grazie'. Leaving money on the table is considered a bit rude here by many servers so it'a always best to either hand it to them after the meal or tell them what to take as they're doing the bill. For example, if the bill is 32.50, I might tell them to just take 35 (admittedly this is easier if you can speak Italian). If I feel in the slightest way that I'm not getting good value, a good meal or that the server is a tad rude, I don't tip at all as I figure I'm already paying a coperto. Coperto might not seem like much but there's a 2 euro coperto and there's 4 of us, suddenly I just paid an 8 euro cover charge for a basket of bread that I usually don't even touch and anything over 5 euros is, in most cases, a way-too-generous tip.