What Is Software Quality Assurance?
Software quality assurance (SQA) is the continual monitoring of software development processes and methods used to ensure quality software production. The use of automated software testing software can assist greatly in SQA by providing consistent and reliable testing at the required phase.
The way in which SQA is accomplished may also include conforming to one or more industry standards, such as ISO 9000, and the use of standard practices is essential if this is a requirement for your company.
SQA is an ongoing process that encompasses the entire Software Development Life Cycle (SDLC), which includes the software definition, design, coding, source code control, testing and release management and is explained in detail here: http://www.tutorialspoint.com/sdlc/sdlc_overview.htm
Software Development Life Cycles follow models that are defined by the use of distinct phases. The order in which these phases should be executed is necessary, as each phase will provide the deliverables which are required for the next phase in the development life cycle.
There are generally six phases in every software development life cycle model:
1. Requirement Definition
2. Software Design
3. Code Development/Coding
4. Testing
5. Live Deployment
6. Ongoing Maintenance
So each step needs to be followed in the correct order to produce the necessary deliverable for the next step. For example: 1.The software requirements are translated into the software design. 2. The software code is developed according to the required design (as defined in 1). 3. After the software coding is completed, the testing phase ensures the software requirements (as defined in 1) are met.
Providing thorough software testing is, obviously, a major part of Software Quality Assurance; indeed, providing well tested, bug-free software that is fit for purpose is the main aim of the game.
Consistency and reliability of testing can be aided by simplifying as much of the testing as possible using automated testing tools. Such tools are capable of executing tests, reporting on outcomes and comparing results with earlier tests runs. They can also be used to run tests repeatedly and systematically at any time of day. http://www.mytesters.com are providers of automated software testing software which can be used to automate these processes.
Being able to simplify as much of the testing SDLC phase as possible using automated testing tools is a major benefit to ensuring, and assuring, software quality.