EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 600+ Courses All in One Bundle
  • Login
Home Software Development Software Development Tutorials Software Testing Tutorial Software Quality Assurance
Secondary Sidebar
Software Testing Tutorial
  • Basics
    • What is Software Testing
    • Careers in Software Testing
    • Defect Life Cycle in Software Testing
    • Bug Life Cycle
    • Levels of Software Testing
    • Software Testing Life Cycle
    • Software Tester Work
    • Software Testing Principles
    • Software Testing Services
    • Testing Methodologies
    • Test Approaches
    • Grey Box Testing
    • Types of Software Testing
    • What is a Bug in Software Testing
    • Benefits of Automation Testing
    • What is Automation Testing?
    • Types of Automation
    • Typical Journey of a Software Tester
    • Automation Testing Process
    • Mobile Automation Testing
    • Automation Testing Life Cycle
    • Software Quality Assurance
    • Software Quality Assurance
    • What is Test Environment?
    • Verification and Validation Testing
  • Types of Testing
    • Adhoc Testing
    • Types of System Testing
    • Manual Testing Types
    • Unit Testing Types
    • Unit Testing Benefits
    • Agile Testing
    • What is Agile Testing
    • Acceptance Testing
    • Stress Testing Types
    • Alpha and Beta Testing
    • Application Testing
    • Automation Testing
    • Automation Testing Advantages
    • Benchmark Testing
    • Black Box Testing
    • Domain Testing
    • Dynamic Testing
    • Ecommerce Testing
    • Fuzz Testing
    • Gray Box Testing
    • GUI Testing
    • Installation Testing
    • Interface Testing
    • Interoperability Testing
    • Mainframe Testing
    • Manual Testing
    • Mutation Testing
    • Monkey Testing
    • Negative Testing
    • Penetration Testing
    • Penetration testing phases
    • Penetration testing framework
    • Protocol Testing
    • Recovery Testing
    • Regression Testing
    • Mobile Penetration Testing
    • Accessibility Testing
    • Sanity Testing
    • Scalability Testing
    • Security Testing
    • Spike Testing
    • Stability Testing
    • State Transition Testing
    • Static Testing
    • Gatling Load Testing
    • System Integration Testing
    • Structural Testing
    • Locust Load Testing
    • System Testing
    • Control Flow Testing
    • Unit Testing
    • Cypress testing
    • Volume Testing
    • Web Testing Application
    • What is Exploratory Testing
    • What is Stress Testing
    • What is Usability Testing
    • White Box Testing
    • Types of White Box Testing
    • Compatibility Testing?
    • Use Case Testing
    • Beta Testing
    • Integration Testing
    • Non Functional Testing
    • Non Functional Testing Types
    • What is Functional Testing
    • Functional testing types
    • Cookie Testing
    • Alpha Testing
    • Boundary Value Testing
    • Equivalence Class Testing
    • Glass Box Testing
    • SOA Testing
    • Smoke Testing
    • Visual Testing
    • Visual Paradigm
    • Model-Based Testing
  • Testing techniques
    • Software Testing Methodologies
    • Black Box Testing Techniques
    • Static Testing Techniques
    • Test Case Design Techniques
    • What is Static Analysis
  • Testing tools
    • Manual Testing Tools
    • Visual Testing Tools
    • Automation Testing Tools
    • Functional Testing Tools
    • GUI Testing Tools
    • Penetration Testing Tools
    • Performance Testing Tools
    • SOA Testing Tools
    • Accessibility Testing Tools
    • What is QTP
    • Regression Testing Tools
    • Security Testing Tools
    • Test Management Tools
    • Defect Management Tools
    • Code Coverage Tools
    • Test Coverage Tools
    • Defect Tracking Tools
    • Continuous Integration Tools
    • Install Bugzilla
    • Test data generation tool
    • Unit Testing Tools
    • Web Testing Tools
    • Stress Testing Tools
    • Performance Monitoring Tools
    • Mobile Testing Tools
    • Responsive Testing Tool
    • Cross Browser Testing Tools
    • Risk Based Testing
    • Database Testing Tools
    • WinRunner
    • What is Squish?
    • CubicTest
    • What is WinRM?
    • Bugzilla Tool
    • Code review tools
    • Penetration Testing Open Source Tools
  • Advance
    • Cyclomatic Complexity
    • Decision Table Testing
    • Decision Tree Algorithm
    • What is Continuous Integration
    • Mantis Bug Tracker
    • Equivalence Partitioning
    • Gantt Chart Software
    • Acceptance Testing Types
    • Load testing tools
    • Install TestNG
    • Install Unity
    • Defect Management Process
    • Test Plan Template
    • Testing Interview Questions
    • Testing of Mobile application
    • What is Test Automation Frameworks
    • Test Automation Framework
    • Application of Automation
    • Test Automation Process
    • Automation Testing Roles and Responsibilities
    • What is Instruction Cycle?
    • What is Cucumber?
    • 15 Best Popular Bug Reporting Tools
    • What is Automated Testing?
    • Software Maintenance Types
    • Types of Penetration Testing
    • Software Reliability
    • Best Gantt Chart Software
    • Code Coverage
    • Branch Coverage
    • Decision Coverage
    • Statement Coverage
    • What is Test Case
    • Types of Test Case
    • What is Test Scenario
    • Formal Review
    • Alpha Beta Pruning
    • What is Cyclomatic Complexity?
    • Test Coverage
    • How to Write Test Case
    • Testing Documentation
    • Performance Testing Life Cycle
    • Test Harness
    • Test Strategy
    • Software Incident Management
    • What is Debugging
    • What is Defect?
    • Listeners in TestNG
  • Inteview Questions
    • Automation Testing Interview Questions
    • Manual Testing Interview Questions
    • ISTQB Interview Questions
    • Cucumber Interview Questions
    • Software Testing Interview Questions
    • Penetration Testing Interview Questions

Related Courses

Software Testing Course

Penetration Training Course

TestNG Training Course

Software Quality Assurance

By Yashi GoyalYashi Goyal

Software Quality Assurance

What is Software Quality Assurance?

Software Quality Assurance, as the name says, is a process or a role of a software engineer to make sure there is no concession or slippage occurring in the software application with respect to the requirement provided by the customer. The four phases of Software Quality Assurance are Plan, Do, Check and Act, where Plan is to plan the measures necessary to keep the application standards in high quality, Do is to the development process that involves the build and testing processes, Check is to observe and examine the implementation routes, and Act is to act upon the activities required to maintain the application quality.

All in One Software Development Bundle(600+ Courses, 50+ projects)
Python TutorialC SharpJavaJavaScript
C Plus PlusSoftware TestingSQLKali Linux
Price
View Courses
600+ Online Courses | 50+ projects | 3000+ Hours | Verifiable Certificates | Lifetime Access
4.6 (86,268 ratings)

Software Quality Assurance Activities

Below given are some of the activities of Software Quality Assurance.

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

1. Setting the Checkpoint

SQA team sets the checkpoints after specific time intervals in order to check the progress, quality, performance of software, and whether the software quality work is done on time as per the schedule and documents.

2. Measure Change Impact

For a defect reported by QA and fixed by the developer, it is very important to retest the defect fix and to verify whether the fixed defect does not introduce new defects in the working software. For this, test metrics are maintained and observed by managers and developers to check for newly generated defects by the introduction of new functionality or the fix of any defect.

3. Having Multiple Testing Strategy

One should not rely on a single testing approach and strategy for testing software. Multiple testing strategies should be implemented in software so as to test it from different angles and cover all the areas. For an e-commerce website, security testing, performance testing, load testing, database testing all should be done to ensure a better quality of software.

4. Maintaining Records and Reports

It is important to keep all the records and documents of the QA and share them on time to time to stakeholders. Test cases executed, test cycles, defects logged, defects fixed, test cases created, change in requirements from a client for a specific test case, all should be properly documented for future reference.

5. Managing Good Relations

Managing good relations between the testers and developers plays an important role in the project. As the role of developer and tester contradict each other but this should not be taken on a personal level. The main aim of both teams should be the delivery of good quality projects with minimum risks of failure.

6. SQA Management Plan

This includes finding ways how the SQA will work in the new project in the most effective way. Think of SQA strategies, software engineering processes that could be implemented as per the project requirements, and the individual skills of team members.

Components of SQA System

 SQA components can be classified into 6 classes:

1. Pre-Project Components

This assures that the commitment of the project has been defined clearly regarding the time estimation, clarification of customer requirements, total budget of the project, evaluation of development risks, total staff required for that particular project. It also assures that development and quality plans have been clearly defined.

2. Software Project Life Cycle Components

This component includes the review, expert opinions, software testing, software maintenance components. In the project development life cycle, it includes components like reviews, expert opinions, and finding defects in software design and programming, whereas in the software maintenance life cycle it includes specializing in maintenance components and development life cycle components for enhancing maintenance tasks.

3. Infrastructure Components for Error Prevention and Improvements

This component includes staff training, certification, configuration management, preventive and corrective measures in order to reduce the rate of errors in software based on the organization’s accumulated SQA experience.

4. Management SQA Components

This class includes software quality metrics, software quality costs, which includes control of maintenance and development activities, and the introduction of managerial involvement in order to reduce the risk of quality, schedule, and budget in the project.

5. Components of Standardization, Certification, and SQA System Assessment

The main objective of this class is the utilization of professional international knowledge, which helps in the coordination between the different organization quality systems at a professional level.

6. Organizing for SQA Human Components

This base includes managers, testers, and other SQA practitioners that are interested in SQA. The main objective is to support and initiate the SQA activities, detect the gaps/deviations in them, and suggest improvements for that.

Software Quality Assurance Standards

Several organizations, national and international institutes are involved in the development of SQA standards. The below mentioned are the main organizations and institutes involved in it :

  1. IEEE
  2. DOT
  3. ISO
  4. ANSI
  5. EIA
  6. IEC

SQA Standards are basically divided into Two Categories:

1. Software Quality Assurance Standard, which is known as Quality Management Standards.

Example: ISO 9000-3, CMM (Capability Maturity Model).

They focus on the organization’s infrastructure, SQA system, requirements leaving the choice of tools and methods of testing to an organization. Their standard objective is “what” to achieve. It assures that organizations achieve an acceptable quality of software.

2. Software Project Development Process standards which are known as Project Process Standards.

Example: ISO/IEC 12207 IEEEStd 1012-1998.

They focus on methodologies that must be implemented in software development and maintenance. It focuses on “how” to perform. It includes design documentation requirements, steps to be taken, software testing to be performed, and design review and review issues.

SQA Techniques

There are several SQA techniques. Some of them are mentioned below:

1. Reviewing

In reviewing, a meeting is held by both internal and external stakeholders to review the whole project who analyses the whole software and if finds an issue, distinguishes whether it is testing, development, requirement or a design The main objective is to measure the quality of software and ensure that whether it meets the customer expectations or not.

2. Auditing

In Auditing, the whole work product and all the data are inspected by stakeholders to check whether it follows the standard processes or not.

3. Functional Testing

In functional testing, the functionality of the whole software is tested whether it is functioning as expected or not. It checks “what the system works” without knowing “how the system works”. It is like the black box testing of an application in which the user knows the expected output without knowing how it is produced.

4. Standardization

It assures that everything in the software should be standardized, i.e. it follows all the standards either the standards in documentation, development, quality control. It reduces ambiguity and hence improves the quality of software.

5. Code Inspection

Code Inspection is one of the most formal kinds of review with the main objective of finding defects in the code and highlighting any issues in the Code Inspection is led by a trained Moderator rather than the Author of the code. Meeting has proper entry and exit criteria. Users must need complete preparation before the meeting in order to have complete knowledge of documents and all before raising their points.

6. Walkthroughs

Software walkthrough is a kind of informal process and usually, it is initiated by the Author to read the document or code and the peer members write down their suggestions or errors in it and submits them. It is not formally documented like Inspection and moderator is not necessary for the meeting. Its main objective is to know the status of code completed to date and collecting suggestions from peers for a better quality of software.

7. Stress Testing

Stress testing is done to check how the system works under heavy load. This testing plays an important role in software quality as in e-commerce applications, stress and load testing are done properly in order to test the capacity of the software (how many maximum numbers of users can access an application at a time).

8. Design Inspection

Design Inspection is done to check the various areas of software using the checklist like functional and interface design, conventions, general requirements and design, requirement traceability, logic, coupling, and cohesion.

Advantages of SQA

Let’s discuss the advantages of SQA.

1.  Increases Client’s Confidence

Proper quality check at different levels of software like review, Inspection, Auditing, etc and with the involvement of both internal and external stakeholder increases the confidence of clients in the submission of the Weekly reports of the defect and requirement metrics also helps a lot in assuring the client that the work is being done on time.

2. SQA Saves Money

Defects found in the early stage either in requirement gathering, code, testing are easy and cost-effective to Proper SQA done at several levels helps to reduce those risks as maximum defects have been uncovered and resolved in early stages and hence saves money to fix the faulty software after being presented to the client which can costs company’s reputation, users and clients too.

3. Boost Customer Satisfaction

Timely involvement of the client in software development and testing boost customer satisfaction that the quality software is being developed and as per the requirements and taking of suggestions in between consideration boosts customer satisfaction.

4. Promotes Productivity and Efficiency

When development and testing are done in parallel, defects found early just after the development of a single module is done and fixed by developers timely allows everyone to work in peace and in a more productive manner rather than be burdened with multiple bugs at once after the completion of the whole software.

5. Prevents from Unforeseen Emergencies

When developing corporate software, stakes are also very high. As the software deals with a lot of customer’s sensitive data, it needs to work as expected without any blackouts, corruption, or communication breakdowns. The software should be tested very rigorously so that it should work as expected.

6. Reduces End Time Client Conflicts

There are many cases found of disagreement of client and organizations later on regarding the change in requirements, time and budget fixed in the starting resulting in the cancellation of the project, money loss and bad impression of the company in the market (loss of client as it would create a bad reputation). In SQA everything is fixed at the starting of the project and documented properly without any ambiguity so that no conflicts would arise

Disadvantages of SQA

Let’s discuss the disadvantages of SQA.

1. Sometimes Difficult to Implement

As SQA defines all the activities and actions that should be taken at each step of software development in a very detailed manner, sometimes it becomes difficult to implement every single activity and process in development. So the person knows that it would be beneficial but focussing on each step in detail becomes difficult when working in large teams.

2. Time Consuming

Implementing each action in SQA is very time-consuming and sometimes it wastes more time in documentation and meetings rather than working on the actual development and testing of software.

3. High Cost

Through implementing SQA, though the cost of fixing the bugs in the later stages can be reduced by finding them and fixing in the starting only for the small projects with a low budget it is very difficult to implement SQA as the number of resources increases in the project so does the budget of a project. For small projects hiring the whole team of QA and implementing SQA cause a drastic increase in the cost of a project.

Conclusion

SQA is an umbrella activity that covers the whole project throughout the software lifecycle starting from requirement gathering till maintenance of the project. It covers all the activities and processes at different stages of software development in order to ensure that the software delivered should be of high quality and minimum risk so that it can succeed in the market and meet the customer and client expectations.

Recommended Articles

This is a guide to Software Quality Assurance. Here we discuss the basic concept, activities, components, advantages, and disadvantages of SQA in detail. You can also go through our other suggested articles to learn more –

  1. Software Testing Principles
  2. Software Testing Life Cycle
  3. Agile Software
  4. Quality Assurance vs Quality Control
Popular Course in this category
Software Testing Training (11 Courses, 2 Projects)
  11 Online Courses |  2 Hands-on Projects |  65+ Hours |  Verifiable Certificate of Completion
4.5
Price

View Course

Related Courses

Penetration Testing Training Program (2 Courses)4.9
TestNG Training (4 Courses, 2 Project)4.8
3 Shares
Share
Tweet
Share
Primary Sidebar
Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Live Classes
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Java Tutorials
  • Python Tutorials
  • All Tutorials
Certification Courses
  • All Courses
  • Software Development Course - All in One Bundle
  • Become a Python Developer
  • Java Course
  • Become a Selenium Automation Tester
  • Become an IoT Developer
  • ASP.NET Course
  • VB.NET Course
  • PHP Course

ISO 10004:2018 & ISO 9001:2015 Certified

© 2022 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA
Free Software Development Course

C# Programming, Conditional Constructs, Loops, Arrays, OOPS Concept

*Please provide your correct email id. Login details for this Free course will be emailed to you

By signing up, you agree to our Terms of Use and Privacy Policy.

EDUCBA Login

Forgot Password?

By signing up, you agree to our Terms of Use and Privacy Policy.

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you

By signing up, you agree to our Terms of Use and Privacy Policy.

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you

By signing up, you agree to our Terms of Use and Privacy Policy.

Let’s Get Started

By signing up, you agree to our Terms of Use and Privacy Policy.

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

Loading . . .
Quiz
Question:

Answer:

Quiz Result
Total QuestionsCorrect AnswersWrong AnswersPercentage

Explore 1000+ varieties of Mock tests View more