If you are confused about the difference between software testing and quality assurance, you are not alone. Whilst they are closely related in their role, they each have different models to follow. When developing software, it is important to understand how each one relates to the other in the software life cycle and what their differences are.
Quality Assurance
Quality assurance (QA) is about improving the process and examining the quality of the software, as it goes through its normal life cycle. QA manages the software life cycle and ensures that every part is fit for purpose and meets the standards of quality expected. It is only concerned with meeting the objectives of the project and adhering to the correct processes. According to the Guardian, QA is still painstakingly slow and is the biggest hold up in releasing new software to the market.
However, a new concept called rapid development and release is speeding things up, and the software life cycle is changing the way software developers and testers are thinking, particularly within quality assurance.
Software Testing
A software testing role is all about finding ways to break the software. Testers are looking for bugs and will assume that there are many of them within a bit of code. If you look at organisations providing software testing services, they are fully set up with thousands of professional testers that are experienced in every code imaginable, and they will find bugs in the smallest of places. Software testers either work in house or are self-employed, working through organisations such as https://www.bugfinders.com.
Whilst software testing, rather than follow a set of guidelines as someone who works in QA would do, testers are expected to think on their feet a bit more. They look for ideas on how to break things or how someone may use a product differently from the next person. There are no given standards in software testing.
There will always be bugs, but this role is about finding the biggest ones and fixing them before release. It’s being proactive rather than reactive.
To summarise the difference, we look at the mindset of the person doing the role. Testers want to find the right answer, their way whereas those in QA are preventing faults by following a given process.