Good communication skills
Attention to detail
Analytical thinker
Patience
Think out the box
I don't think a tester needs any programming experience or know how. A programmers job is just that, to program. A testers job is to think like a user & make sure the program works according to the specification and to make sure it does not come back.