Definition of Software Quality Assurance:
SQA is the set of activities designed to assure that all software engineering processes, methods, activities, and work items are monitored and comply with the defined standards called Software Quality Assurance. SQA focuses more on software development processes and quality rather than the software work product and it is important for your software product or service to succeed in the market and maintain the customer’s expectations.
Software Development Assurance incorporates all the development processes starting from explaining requirements to coding until release. The main purpose is to ensure quality.
Software Quality Assurance Plan
SQA activity needs a plan which is called SQAP. In this planning phase, we can identify the responsibilities of SQA and also identify the SQA work products.
The software quality assurance planning includes the procedures, techniques, and tools that are employed to make sure the software product or service meets the wants which are defined within the SRS (software requirement specification). Testing and planning both are included in the production stage.
SQA plan document contains the following sections:
- Record maintenance and retention section
- Code control section
- Tools, techniques, and methodologies section
- Purpose section
- Software management section
- Test methodology section
- Reference section
Software Quality Assurance Activities
The following SQA activities are given below.
NO 1: Creating an SQA Management Plan
In this first activity, we make a proper plan of how SQA will be carried out in our projects. It includes what kind of SQA approach you will follow, what engineering activities will be done, and it also includes ensuring that you have the right talent mix in the team.
NO 2: Setting the checkpoints.
In this second activity, The SQA team sets up various checkpoints to evaluate the quality of the project activities at each project stage. This checks regularly the quality and working on time.
NO 3: Apply the software engineering techniques.
In this stage, the designer applies the different techniques to achieve high-quality specifications. This activity based on the designer gathered information about new techniques such as interviews and functional analysis system techniques (FAST).
A software engineer can design project estimation by using techniques like WBS work breakdown structure and FP functional point estimation.
NO 4: Executing Formal Technical Reviews.
In this process, FTR is used to evaluate the quality and design of the prototype, this activity conduct the meeting between technical staff to discuss the quality of the prototype and quality requirements of the software
NO 5: Having a Multi- Testing Strategy.
Multiple types of testing should be done in this activity so the product can be tested from all angles to ensure the quality of the product
Software Quality Assurance Standards
It demands one or more standards, the most popular standards are included which are given below
Capability maturity model integration.
Abbreviated as (CMMI), it includes five maturity levels. Initial, Managed, Defined, quantitatively managed, and optimizing
Test Maturity Model integration
Abbreviated as (TMMI) focus on maturity level in testing. Test planning, test policies, test organization, test measurement, and Quality control
Elements of Software Quality Assurance
The element of quality assurance are listed below
- Software engineering Standards
- Software Testing for quality control
- Error collection and analysis
- Change management
- Educational programs
- Vendor management
- Security management
- Risk management
- Technical reviews and audits
The various techniques of SQA are following
This type of technique involves on-site verification such as work product inspection and examination and its related information to determine if the set of standard procedures has been followed or not. three types of auditing are included.
- process audit
- product audit
- system audit
A technique in which the software product is examined by internal and external stakeholders to seek their comments and approval.
Design inspections are performed using a checklist that inspects the areas below the software design.
- Error handling and recovery
- Testability, extensibility
- Requirement traceability
- Structures and interfaces
- General requirements and design
Code inspection technique is performed by a trained peer and is based on rules, checklist, entry, and exit criteria. A reviewer should not be the author of the code.
Standardization plays an important role in quality assurance. It decreases ambiguity and estimation, thus ensuring quality.
A simulation is a tool that models a real-life situation to visually examine the behavior of the system under study.
This technique is QA which verifies what the system does without considering how it does. . this type of black-box testing primarily focuses on testing the system specifications or features.
A Path testing is a white box testing technique where full branch coverage is ensured by implementing at least once on each independent path.
This type of testing is done to find out how strong a system is by testing it under heavy load, that is, beyond normal conditions.