About a month or two before I decide to upgrade I run the newer version locally while I'm developing (but being sure to not use any newer features). This usually weeds out any major incompatibilities and fix new warnings.
That said, I'm running 5.3 in production and have no real plans to upgrade to 5.4 anytime soon.