This is a good question…initially you must find out if you have a certain type of personality to accomplish software testing. You need to be organized, logical and thorough. You are going to be writing test cases determined by business and functional requirements – or you should be.
Then you’ve got to implement those tests – often repeatedly. Your main purpose would be to ensure that no software goes out to customers without all the bugs found. It’s rarely achievable, but should be your ultimate goal. I always prefer to believe that your 2nd goal must be to have every developer hate you because you keep finding bugs inside their code. 🙂
Whether or not software testing is a great career option is dependent upon who’s asking the question. I’ll answer it as if my audience is definitely an engineer.
I will be flip, but sincere – my working experience has proven to me that the principle of software development never happens in real life.
In theory, software testing is:
- Validating and recording that the software program performs the functions it’s supposed to.
- Validating and showing it doesn’t do just about anything it is not designed to.
This presupposes that you have been told what it’s supposed to do and not supposed to do. The folks you’re working for don’t always make that happen – they will often not necessarily rely on you to protect their secrets.
Because software programs are a business (except when you are employed by the military) business guidelines apply a lot more strongly than engineering rules. Software testing is expensive, and so the actions about targets and how much to do can be extremely focused on ROI considerations.
Within the end-user relationship, the user’s perception isn’t necessarily directly related to the physical world. It’s also the user’s perception of whether your system works that finally rules within the minds of management, whose job is purely to ensure no one is complaining about the software.
Therefore, the truly practical meaning of software testing might be summarized as 3 goals:
- Verify that the people that use software believe it’s doing whatever they demand it to do;
- Verify that the software doesn’t do anything immediately detectable that’s not desirable for the user;
- Verify that any undesirable action is rare enough that the software executes correctly long enough for you to make it to another round of VC funding or sell the organization. 🙂
And you? Do you consider Software Testing will be the right career path?
About the guest author: J. Fleming is writing for the easy software testing course blog, her personal and non-commercial in nature hobby web log to supply free tips for software testing starters /experts to help them find a new career.