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 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 books on testing and familiarize yourself with methodology, terminology, the development cycle, and where testing fits in. Join a computer group or society. Subscribe to newsletters or magazines that are related to testing or quality assurance. Get involved with online newsgroups that deal with the subject. Check out 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.
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, software developers, 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. They then 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. 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.