a) software testing should able to think analyticaly and understand clients requirements. Analytical skills will help to complex software system into smaller units to gain a better understanding and created corresponding test cases. b) strong technical skills. This would include high level of know-how intools such as MS Office, OpenOffice, etc., and testing tools like QTP, Loadrunner, etc. c) A good software tester able to communicate the issue to the development team is the most important job of the tester.