I figured it all out. It's not the testfor command, it's the radius argument you are using. The radius argument is bugged. Try /testfor @p[r=!3] instead. Any time you use r=R you gotta type r=!R instead. It was reported to Mojang already, that's how I figure it out. Hope this helps!
Holy crap that worked, you are a lifesaver