As you’re researching careers in software engineering, you may have run across QA and wondered, what does QA stand for? QA stands for quality assurance, and it’s a large part of the software development process. Without it, there’s a chance companies would ship products that didn’t work at all!
Because QA is part of software development, some think it’s a hard career to break into or that you need extensive training or degrees. However, a career in QA may be one of the easier fields to enter, no matter your educational background. Ready to learn about the quality assurance field? This guide covers everything you need to know about QA.
Definition of Quality Assurance
In the broadest sense, quality assurance (QA) is the process of ensuring a product functions as intended. Does it work properly? Deliver on its promises? Exceed customer expectations? QA is the testing and retesting of the product during development (or updating) to find any flaws and correct them before customers start using it.
The two main reasons companies have QA is to protect their brands and save time. By finding and eliminating problems before something is shipped, the company doesn’t have to issue a fix or recall later. And it doesn’t have to send out a mea culpa that may not go over well with its customers.
What Is Quality Control?
Some people may think quality assurance is the same thing as quality control. When you’re ensuring something’s quality, you’re making sure it’s up to snuff. When you’re controlling something’s quality, that’s basically the same thing, right?
Software Engineering
See what it's like to work as a software engineer at Electronic Arts in this free course.
Avg. Time: 5-6 hours
Skills you’ll build: Game engine technology, object-oriented design, feature design, code analysis
Not exactly. Quality assurance is the overall process. There are documented steps and procedures to define what quality is, how to determine if the product meets that definition, and what happens if the product doesn’t meet those standards.Quality control is part of the QA process. It’s the actual testing and checking of the product. For example, a quality control check would be seeing if an app crashes when a user attempts to open it on a mobile device. The tester would open the app and see what happens. If it crashes, that’s flagged, and it goes back to the developers for corrections.
Moreton Bay Regional Council
Learn what it's like to work as a quality control inspector. Create a 2-D drawing and learn what goes into an accurate inspection.
Avg. Time: 2-3 Hours
Skills you’ll build: Attention to detail, AutoCAD, ComputerAided Design
What Is QA Testing?
QA testing ensures that things work before they’re released to the public and is most commonly associated with software development. Examples include looking for security risks and ensuring the newest version of the software is compatible with past and future versions of operating systems and devices.
What Industries Use QA?
From manufacturing physical products to developing cloud-based software, nearly every sector imaginable has a QA process, giving you lots of job opportunities. “There’s flexibility in what industry to work in. Most companies require some sort of QA,” says Rebecca Arrenius, QA manager at Forage.
The Bureau of Labor Statistics (BLS) predicts that jobs for software developers, quality assurance analysts, and testers will grow 25% (much faster than average) between 2022 and 2032. However, within industries, the growth potential varies.
As an example, the BLS says that between 2022 and 2032, the need for software quality assurance analysts and testers should grow by 12.1% in the computer and electronic manufacturing sector, 14.9% in miscellaneous manufacturing, and 5.7% in retail trade.
Software Engineering
Take your software security engineering skills to the next level in this free course from Goldman Sachs.
Avg. Time: 1-2 hours
Skills you’ll build: Cryptography basics, password cracking, password best-practices
How Does QA Testing Work?
Though the specifics of QA testing varies by product and team, the process is generally the same across companies and industries. Here’s a look at the Forage QA testing process.
The QA team meets with stakeholders (product managers, project managers, etc.) to collaborate and understand exactly what the end goal is. How should this feature function? What will determine if it’s functioning correctly? From there, the team decides the order it will test features.
During testing, the QA team puts the features through the wringer, shaking out the bugs and figuring out what isn’t working yet. They take their findings to the people who can make the necessary adjustments (like the engineers). Once the fixes are applied, the improved version is sent back to the QA team for more testing. Once everyone is satisfied the product works, the changes are rolled out.
The entire QA testing process looks something like this:
Types of QA Testing
There are several types of quality assurance testing in software, and each tests something different. These are:
- Unit testing: Testing smaller pieces of the code to ensure each function works as expected.
- Integration testing: Ensuring the individual parts of the code work together.
- System testing: Also known as end-to-end testing, this tests whether or not the program works correctly from start to finish. An example is testing an e-commerce site to see if a customer can browse products, click for more details, add the item to the cart, continue shopping, add more items to the cart, then checkout.
- Acceptance testing: This QA is done with end users (think: beta testers). They use the software like any user might and figure out what works and what doesn’t.
- Regression testing: This tests new code to ensure it doesn’t negatively impact the existing coding and functionality.
- Functional testing: Verifying what specific parts of the system do. For example, does the system allow someone with the proper credentials to log in?
- Performance testing: Unlike other types of QA testing, performance testing measures how well the software works in real-world conditions. This isn’t about finding bugs as much as it is making sure the software is stable under heavy load or unusual situations.
Like many processes, each of these quality assurance tests is important and builds on each other. As a rule, you wouldn’t conduct an acceptance test before a unit test. And there are two ways to complete them: automated and manual testing.
Automated QA testing is exactly what it sounds like. Instead of a human, an automated tool does the testing. A human carries out manual QA testing.
Advanced Software Engineering
Try your hand at advanced software engineering in this free course from PepsiCo.
Avg. Time: 6-7 hours
Skills you’ll build: Azure, user stories, UML diagraming, quality assurance
Depending on the type of quality assurance, how frequently it’s completed, and how large the quality assurance team is, companies may rely on one kind of testing or the other, but most companies use both.
Pros and Cons of a Career in Quality Assurance
Like all careers, working in QA has its pros and cons. However, some of the pros and cons of working in QA are unlike those of other fields.
Cons of Working in Quality Assurance
One of the bigger cons of working in QA is that it has the reputation of being a “necessary evil.” Everyone knows and understands why QA exists, but not everyone is excited about their work being criticized. “We can be seen as negative and poking holes in other people’s work,” notes Arrenius.
Additionally, some people view QA as “getting in the way of progress.” Because a large part of the QA process is often sending work back for updates, changes, and improvements, there is the impression that QA is time-consuming and prevents the team and product from moving forward.
Technical Interview Prep
Get prepped and ready for your technical interview in this free course from Girls Who Code.
Avg. Time: 5-6 hours
Skills you’ll build: Whiteboard challenge, array, matrix, hash table, dynamic programming
Other cons of a career in QA can include tight deadlines. The team (say, product or customer service) needs something sooner rather than later, which may mean you have to work long hours to complete the testing. And some people may find the work boring or monotonous. While you may be testing different features, in some regards, a unit test is always the same!
Pros of Working in Quality Assurance
“It’s fun,” says Arrenius, which is generally a good thing no matter the job. But Arrenius also points out that a QA career has a lot of growth options. “A QA could branch out into business analyst or project manager roles. And there’s room to grow within QA. You can start as a junior, move to a senior QA role, and then a manager role.”
What’s more, Arrenius notes that you don’t need a degree, although you’ll likely need QA certifications (Certified Software Quality Analyst and Certified Associate in Software Testing are examples). And because so many companies use QA, your skills will often be in demand.
A career in QA can also be full of twists and turns but completely under your control. “It really is a career where you pave your own way,” says Angela McMaster, junior quality analyst at Forage. “I just wish I started sooner!”
Learn more about a career in quality assurance:
Image credit: Canva