Let’s start from the highest levels:
||Passion and Motivation
“The only way to do great work is to love what you do” - Steve Jobs
This is the key to success; if you are finding that outside factors are not motivational enough for you, look inside yourself for your real motivations.
Your positive attitude energizes all the team. When you join optimistic people, you feel optimistic; you can guess what happens when you join pessimistic people.
Successful projects are built by a synergy team with a fluent communication between members. This means strong verbal and written communication skills are a MUST for a software tester.
You have to analyze the business needs and generate a Test Plan and Test Cases that can be understand and executed by any of the team members. During the Test Execution, you have to provide clear and concise information about your findings (issues, improvements, etc.) and you need to be able to provide the “extra-information” required for reproducing and solving the issue. If you do not properly report all the information, the developer cannot reproduce the bug; making it the same as if you hadn’t found it at all. You must also provide an accurate Testing Status report in a timely manner. It should show the current testing picture and any historical trends.
You should maintain a respectful relationship with all the team members, listen first and speak second. Keep in mind that you are analyzing the application quality, not the developer skills. Work as a team instead of pointing with the finger to somebody else.
||Organization and Prioritization
This is when a good tester is separated from an average one. The skill to organize your tasks and prioritize them is extremely important in the testing phase, where most of the activities have a very small time frame.
Keep your daily, weekly, monthly project goals focused. It is useful to have in hand a to-do checklist for the important/urgent activities so you do not delay or miss them.
As in software development, Testing is a constantly evolving activity where assumptions or definitions can change weekly or even daily. The ability to analyze, organize and adapt these changes with your tasks is essential.
Software testing requires an “eye for detail” perspective. You should be able to catch the issues that were not identified by the project leader, business analysts, and/or developers. You are the last eyes before the end users, so pay attention to details during your evaluation.
However, it is also important to do not miss the “big picture” in your detail scene. Something that might seem irrelevant could generate serious problems on production, and vice versa, so analyze each situation carefully.
What about the Technical skills?
Keep an eye out for Part 2, Skills every software tester must have...