Quality assurance testers examine new or modified computer software applications to evaluate whether or not they perform as intended. Testers might also verify that computer-automated quality assurance programs function properly. Their work entails trying to crash computer programs by punching in certain characters very quickly, for example, or by clicking the mouse on the border of an icon. They keep very close track of the combinations they enter so that they can replicate the situation if the program does crash. They also offer opinions on the user-friendliness of the program. They report in detail any problems they find or suggestions they have both verbally and in writing to supervisors.
Quality Assurance Tester Career History
The first major advances in modern computer technology were made during World War II. After the war, it was thought that the enormous size of computers, which easily took up the space of entire warehouses, would limit their use to huge government projects. Accordingly, the 1950 census was computer processed.
The introduction of semiconductors to computer technology made possible smaller and less expensive computers. Businesses began adapting computers to their operations as early as 1954. Within 30 years, computers had revolutionized the way people work, play, and shop. Today, computers are everywhere, from businesses of all kinds to government agencies, charitable organizations, and private homes. Over the years, the technology has continued to shrink computer size as their speeds have increased at an unprecedented rate.
Engineers have been able to significantly increase the memory capacity and processing speed of computer hardware. These technological advances enable computers to effectively process more information than ever before. Consequently, more sophisticated software applications have been created. These programs offer extremely user-friendly and sophisticated working environments that would not have been possible on older, slower computers. In addition, the introduction of CD-ROMs and DVDROMs to the mass computer market enabled the production of complex programs stored on compact discs.
As software applications became more complicated, the probability and sheer number of errors increased. Quality assurance departments were expanded to develop methods for testing software applications for errors, or “bugs.” Quality assurance is now a branch of science and engineering in its own right. “Testing is finally being recognized as an important phase of the product cycle,” says Steve Devinney, a Senior Consultant at the Quality Assurance Institute in Orlando, Florida. The importance of good testing procedures came to the forefront of the computer industry in the late 1990s with the emergence of the Year 2000 (Y2K) problems. “Testers were second-class citizens,” says Devinney. “The thought was that if the project was running late, you could just skip the testing. Now, because of the Y2K situation, testing has become more important.”
The field has changed with the advent of automated testing tools. As technology continues to advance, many quality assurance tests are automated. Quality assurance testers also “test the tests,” that is, look for errors in the programs that test the software. There will always be a need for quality assurance testers, however, since they, not another computer, are best suited to judge a program from a user’s point of view. “The use of tools will increase, but they can never replace humans,” notes Devinney.
The Job of Quality Assurance Tester Career
Before manufacturers can introduce a product on the consumer market, they must run extensive tests on its safety and quality. Failing to do so thoroughly can be very expensive, resulting in liability lawsuits when unsafe products harm people or in poor sales when products do not perform well. The nature and scope of quality assurance testing varies greatly. High-tech products, such as computers and other electronics, require extremely detailed technical testing.
Computer software applications undergo a specific series of tests designed to anticipate and help solve problems that users might encounter. Quality assurance testers examine new or modified computer software applications to evaluate whether or not they function at the desired level. They also verify that computer automated quality assurance programs perform in accordance with designer specifications and user requirements. This includes checking the product’s functionality (how it will work), network performance (how it will work with other products), installation (how to put it in), and configuration (how it is set up).
Some quality assurance testers spend most of their time working on software programs or playing computer games, just as an average consumer might. If it is a game, for example, they play it over and over again for hours, trying to make moves quickly or slowly to “crash” it. A program crashes if it completely stops functioning due to, among other things, an inability to process incoming commands. For other types of programs, such as word processors, quality assurance testers might intentionally make errors, type very quickly, or click the mouse on inappropriate areas of the screen to see if the program can correctly handle such usage.
Quality assurance testers keep detailed records of the hours logged working on individual programs. They write reports based on their observations about how well the program performed in different situations, always imagining how typical, nontechnical users would judge it. The goal is to make the programs more efficient, user-friendly, fun, and visually exciting. Lastly, they keep track of the precise combinations of keystrokes and mouse clicks that made the program crash. This type of record is very important because it enables supervisors and programmers to replicate the problem. Then they can better isolate its source and begin to design a solution.
Programs to be tested arrive in the quality assurance department after programmers and software engineers have finished the initial version. Each program is assigned a specific number of tests, and the quality assurance testers go to work. They make sure that the correct tests are run, write reports, and send the program back to the programmers for revisions and correction. Some testers have direct contact with the programmers. After evaluating a product, they might meet with programmers to describe the problems they encountered and suggest ways for solving glitches. Others report solely to a quality assurance supervisor.
When automated tests are to be run, quality assurance testers tell the computer which tests to administer and then ensure that they run smoothly by watching a computer screen for interruption codes and breakdown signals. They also interpret test results, verifying their credibility by running them through special programs that check for accuracy and reliability. Then, they write reports explaining their conclusions.
Some quality assurance testers have direct contact with users experiencing problems with their software. They listen closely to customer complaints to determine the precise order of keystrokes that led to the problem. Then, they attempt to duplicate the problem on their own computers and run in-depth tests to figure out the cause. Eventually, if the problem is not simply a result of user error, they inform programmers and software engineers of the problems and suggest certain paths to take in resolving them.
Quality assurance testers with solid work experience and bachelor’s degrees in a computer- related field might go on to work as quality assurance analysts. Analysts write and revise the quality standards for each software program that passes through the department. They also use computer programming skills to create the tests and programs the quality assurance testers use to test the programs. They might evaluate proposals for new software applications, advising management about whether or not the program will be able to achieve its goals. Since they know many software applications inside and out, they might also train users on how to work with various programs.
Quality Assurance Tester Career Requirements
Interested in becoming a quality assurance tester? If so, then take as many computer classes as possible to become familiar with how to effectively operate computer software and hardware. Math and science courses are very helpful for teaching the necessary analytical skills. English and speech classes will help you improve your verbal and written communication skills, which are also essential to the success of quality assurance testers.
It is debatable whether or not a bachelor’s degree is necessary to become a quality assurance tester. Some companies require a bachelor’s degree in computer science, while others prefer people who come from the business sector who have a small amount of computer experience because they best match the technical level of the software’s typical users. If testers are interested in advancement, however, a bachelor’s degree is almost a mandate.
Few universities or colleges offer courses on quality assurance testing. As a result, most companies offer in-house training on how to test their particular products.
Certification or Licensing
As the information technology industry becomes more competitive, the necessity for management to be able to distinguish professional and skilled individuals in the field becomes mandatory, according to the Quality Assurance Institute (QAI). Certification demonstrates a level of understanding in carrying out relevant principles and practices, and provides a common ground for communication among professionals in the field of software quality. The organization offers the designations certified software tester, certified software quality analyst, and certified software project manager.
Quality assurance testers need superior verbal and written communication skills. They also must show a proficiency in critical and analytical thinking and be able to critique something diplomatically. Quality assurance testers should have an eye for detail, be focused, and have a lot of enthusiasm because sometimes the work is monotonous and repetitive. Testers should definitely enjoy the challenge of breaking the system.
Some companies recommend testers have some programming skills in languages such as C, C++, SQL, or Visual Basic. Others prefer testers with no programming ability. “The most important thing is that testers understand the business and the testing tools with which they are working,” says Steve Devinney. “You have to be a good problem-solver and detective. Testing is a difficult job.”
Exploring Quality Assurance Tester Career
Students interested in quality assurance and other computer jobs should gain wide exposure to computer systems and programs of all kinds. Get a computer at home, borrow a friend’s, or check out the computer lab at your school. Work on becoming comfortable using the Windows programs and learn how to operate all parts of your computer, including the hardware, thoroughly. Look for bugs in your software at home and practice writing them up. Keep up with emerging technologies. If you cannot get hands-on experience, read about them. Join a computer group or society. Read books on testing and familiarize yourself with methodology, terminology, the development cycle, and where testing fits in. Subscribe to newsletters or magazines that are related to testing or quality assurance. Get involved with online newsgroups that deal with the subject. Check Web sites that deal with quality assurance.
If you live in an area where numerous computer software companies are located, you might be able to secure a part-time or summer job as a quality assurance tester. In addition, investigate the possibility of spending an afternoon with an employed quality assurance tester to find out what a typical day is like for him or her.
Quality assurance testers are employed throughout the United States. Opportunities are best in large cities and suburbs where business and industry are active. Many work for software manufacturers, a cluster of which are located in Silicon Valley, in northern California. There are also concentrations of software manufacturers in Boston, Chicago, and Atlanta.
Positions in the field of quality assurance can be obtained several different ways. Many universities and colleges host computer job fairs on campus throughout the year that include representatives from several hardware and software companies. Internships and summer jobs with such corporations are always beneficial and provide experience that will give you the edge over your competition. General computer job fairs are also held throughout the year in larger cities. Some job openings are advertised in newspapers. There are many online career sites listed on the World Wide Web that post job openings, salary surveys, and current employment trends. The Web also has online publications that deal specifically with quality assurance. You can also obtain information from associations for quality professionals, such as the QAI, and from computer organizations, including the IEEE Computer Society.
Quality assurance testers are considered entry-level positions in some companies. After acquiring more experience and technical knowledge, testers might become quality assurance analysts, who write and revise the quality assurance standards or specifications for new programs. They also create the quality assurance examinations that testers use to evaluate programs. This usually involves using computer programming. Some analysts also evaluate proposals for new software products to decide whether the proposed product is capable of doing what it is supposed to do. Analysts are sometimes promoted to quality assurance manager positions, which require some knowledge of software coding, the entire software production process, and test automation. They manage quality assurance teams for specific software products before and beyond their release. Some testers also go on to become programmers or software engineers.
Software quality assurance testers had median annual earnings of $59,950 in 2006, according to Salary.com. Salaries ranged from less than $51,509 to $71,477 or more annually. Workers with many years of technical and management experience can earn higher salaries. Testers in all industries had earnings that ranged from less than $17,264 to $50,850 or more annually in 2004, according to the U.S. Department of Labor. Testers generally receive a full benefits package as well, including health insurance, paid vacation, and sick leave. As in many industries, people with advanced degrees have the potential to make the most money.
Quality assurance testers work in computer labs or offices. The work is generally repetitive and even monotonous. If a game is being tested, for example, a tester may have to play it for hours until it finally crashes, if at all. This might seem like great fun, but most testers agree that even the newest, most exciting game loses its appeal after several hours. This aspect of the job proves to be very frustrating and boring for some individuals.
Since quality assurance work involves keeping very detailed records, the job can also be stressful. For example, if a tester works on a word processing program for several hours, he or she must be able to recall at any moment the last few keystrokes entered in case the program crashes. This requires long periods of concentration, which can be tiring. Monitoring computer screens to make sure automated quality assurance tests are running properly often has the same effect.
Meeting with supervisors, programmers, and engineers to discuss ideas for the software projects can be intellectually stimulating. At these times, testers should feel at ease communicating with superiors. On the other end, testers who field customer complaints on the telephone may be forced to bear the brunt of customer dissatisfaction, an almost certain source of stress.
Quality assurance testers generally work regular, 40- hour weeks. During the final stages before a program goes into mass production and packaging, however, testers are frequently called on to work overtime.
Quality Assurance Tester Career Outlook
The number of positions in the field of quality assurance is expected to grow faster than the average job over the next decade. This trend is predicted despite an increasing level of quality assurance automation. Before, software companies were able to make big profits by being the first to introduce a specific kind of product, such as a word processor or presentation kit, to the marketplace. Now, with so many versions of similar software on the market, competition is forcing firms to focus their energies on customer service. Many companies, therefore, aim to perfect their software applications before they hit the shelves. Searching for every small program glitch in this way requires the effort of many quality assurance testers.
This same push toward premarket perfection helps to explain the development of more accurate and efficient quality assurance automation. To stay competitive, companies must refine their quality assurance procedures to ever-higher levels. “In the next few years, testing will begin on Day One of the project,” says Steve Devinney. “This means that testers will be involved in the process from the beginning because they are the ones who know what the product’s functionality should be. Without testing requirements, you cannot do anything.”