Just checking if ‘everything’s fine’ or trying to break an application in all possible ways? Software testing and QA may seem the most obvious parts of software development to non-programmers, but defining them has been problematic. Let’s approach both and examine their roles.
When you visit Quora and type in “software testing” into its search engine, instead of finding an accurate definition, you will be given a whole lot of them, sometimes contradictory.
Things get even more confusing when you start thinking about the relationship between software testing and quality assurance (QA). Are they the same? Yes? No? Don’t know? Read on!
Software testing vs. QA
QA, then, is a kind of approach that aims at providing the best possible products and services, by improving processes in accordance with quality standards set for building software. QA encompasses all stages of software development cycle and besides answering questions like:
· ‘Does it work?’
· And ‘how does it work?’
Types & levels of software testing
Software tests can be divided into types and levels. Two main types which can be distinguished are:
· Functional tests — which are supposed to show IF a certain functionality or a system as a whole works in line with a client’s and end user’s requirements,
· Non-functional tests — these are expected to verify HOW a system or specific functionality works in terms of non-functional criteria.
Software testing belongs to the realm of quality assurance (QA) which is an approach accompanied by certain activities that ensure that produced software meets the highest standards.
While QA takes a bigger picture into account, focusing on processes that have to ensure the highest quality of product or service, testing can be considered such process itself. It lays emphasis on detection and elimination of bugs, demanding a highly inquisitive mindset.