At WiseGEEK, we're committed to delivering accurate, trustworthy information. Our expert-authored content is rigorously fact-checked and sourced from credible authorities. Discover how we uphold the highest standards in providing you with reliable knowledge.
What Does a Software Tester Do?
A software tester takes a computer software program through its paces to find glitches or errors that diminish the program’s usefulness and the user’s satisfaction. In these tests, the main purpose is quality control, so the tester tries to duplicate common user behaviors along with unusual actions that might occur infrequently. The tester’s main job is to find weaknesses in the software program that could result in a malfunction. Software testers may be asked to suggest improvements or modifications that the original programmers overlooked while creating the code for a software product.
User software has at least two sets of instructions. The software that lets a computer user write letters, balance a budget or create presentations requires a set of instructions, or program. The program users see — the interface — is different from the program the computer reads to perform the tasks the software is designed to complete. Each piece of software must also speak to the computer’s operating system and access resources that it controls.
The codes for each of these instructions combine to create a piece of software. In the course of developing these software programs, a software tester must verify that all the codes and instructions for the computer and the user actually work as intended. People who hold these jobs need to understand how computers work and how people use them.
The proliferation of computer viruses and malware means software testers often run special tests to check for vulnerabilities in software programs. Computer hackers write or use special programs that exploit weaknesses in operating system software and user software. Once he discovers these potential weaknesses, a software tester can communicate with the software designer so the vulnerability to hackers can be eliminated.
Common skills for software testers include attention to detail and the ability to analyze information. Logical thinking and the capacity to learn quickly are also important. Programming experience is helpful because it give the software tester some insight into the probable causes of software errors. A software tester must also be organized and detail-oriented to document software processes.
This job requires meetings with developers and writing reports along with testing the software. The majority of software testers have at least one computer certification. Quality assurance engineers are software testers with specific training and education in the field of software testing. An undergraduate degree in computer science is generally required to qualify for these jobs. To advance in this career, a graduate degree is useful.
Discussion Comments
@NathanG - There’s a company in our town that keeps running ads for a junior software tester. There must be a demand because the ads keep running.
I agree with you – everyone wants to jump on the programming bandwagon. But as a software tester, you do need programming experience and it will give inside exposure to the application.
You will know what works and what doesn’t. In the end I think you’ll be a better programmer as a result if you decide to transition. I also believe that the salary for a good software tester is quite high, especially for those who have been educated in software testing methodologies. We will always need testers, in my opinion.
@everetra - QA testing is not too glamorous and it’s underrated in the software world, from what I can tell. Everyone wants the exciting job – to be the programmer.
However, system testing is vitally important. I’ve known of some small software companies that had a good product but they eventually failed because they didn’t have good testing and support. Support and software testing are everything.
Fortunately there are some good tools that you can get your hands on that will help. At our company we used automated software testing utilities that will allow us to test portions of code at a time to make sure that it does what it’s supposed to do.
It’s a good product but I don’t think it’s ideal for all applications. If you’ve written a lot of “spaghetti code” for example, it won’t work, because it works on a modular level. You need concise modules of code that can be tested.
I did some software testing for the company I work at. It’s a software company and the sad reality is that we had almost no dedicated software testing being done on our products before shipping them out.
Usually the programmers were supposed to do the testing but they were not always thorough. The developers are up against tight deadlines and their main focus is how to get the software out in time.
So finally I was asked to do some light testing. Basically I was given a list of user interface options to use and make sure that they worked as they intended, including the more involved import/export functions, which is where a lot errors and user complaints occur.
I documented my errors and submitted them to my project manager, who submitted them to the developers to correct.
Post your comments