In Barcelona and in Spain generally speaking, you do not have to tip, unless you want to. If you feel like tipping, because you feel that you have been very well looked after, then by all means tip 5% for good service and 10% for excellent service, but generally tipping is not expectd and locals do not tip.