0% found this document useful (0 votes)
13 views7 pages

Software Quality Assurance

Software Quality Assurance (SQA) is a process that ensures quality in software development through various activities such as standards adherence, reviews, testing, and error analysis. SQA aims to prevent issues before they arise and focuses on aspects like portability, usability, and maintainability of software. While SQA offers benefits like improved quality and reduced costs, it also has disadvantages including time consumption, resource intensity, and complexity.

Uploaded by

yachi.gajjar2005
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views7 pages

Software Quality Assurance

Software Quality Assurance (SQA) is a process that ensures quality in software development through various activities such as standards adherence, reviews, testing, and error analysis. SQA aims to prevent issues before they arise and focuses on aspects like portability, usability, and maintainability of software. While SQA offers benefits like improved quality and reduced costs, it also has disadvantages including time consumption, resource intensity, and complexity.

Uploaded by

yachi.gajjar2005
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Software Quality Assurance

What is Quality Assurance?


Quality Assurance is popularly known as QA Testing, is defined as an
activity to ensure that an organization is providing the best possible
product or service to customers.

Software Quality Assurance (SQA) is simply a way to assure


quality in the software. It is the set of activities that ensure
processes, procedures as well as standards are suitable for the
project and implemented correctly.
Software Quality Assurance is a process that works parallel to
Software Development. It focuses on improving the process of
development of software so that problems can be prevented before
they become major issues. Software Quality Assurance is a kind of
Umbrella activity that is applied throughout the software process.

What is quality?
Quality in a product or service can be defined by several measurable
characteristics. Each of these characteristics plays a crucial role in
determining the overall quality.

Software Quality Assurance (SQA) encompasses

SQA process Specific quality assurance and quality control tasks


(including technical reviews and a multitiered testing strategy)
Effective software engineering practice (methods and tools) Control
of all software work products and the changes made to them a
procedure to ensure compliance with software
development standards (when applicable) measurement and
reporting mechanisms.

Elements of Software Quality Assurance (SQA)

1. Standards: The IEEE, ISO, and other standards organizations


have produced a broad array of software engineering standards
and related documents. The job of SQA is to ensure that
standards that have been adopted are followed and that all work
products conform to them.

2. Reviews and audits: Technical reviews are a quality control


activity performed by software engineers for software engineers.
Their intent is to uncover errors. Audits are a type of review
performed by SQA personnel (people employed in an
organization) with the intent of ensuring that quality guidelines
are being followed for software engineering work.

3. Testing: Software testing is a quality control function that


has one primary goal—to find errors. The job of SQA is to ensure
that testing is properly planned and efficiently conducted for
primary goal of software.

4. Error/defect collection and analysis : SQA collects and


analyzes error and defect data to better understand how errors
are introduced and what software engineering activities are best
suited to eliminating them.

5. Change management: SQA ensures that adequate change


management practices have been instituted.

6. Education: Every software organization wants to improve its


software engineering practices. A key contributor to
improvement is education of software engineers, their managers,
and other stakeholders. The SQA organization takes the lead in
software process improvement which is key proponent and
sponsor of educational programs.

7. Security management: SQA ensures that appropriate


process and technology are used to achieve software security.

8. Safety: SQA may be responsible for assessing the impact of


software failure and for initiating those steps required to reduce
risk.

9. Risk management : The SQA organization ensures that risk


management activities are properly conducted and that
risk-related contingency plans have been established.
Software Quality Assurance (SQA) focuses

The Software Quality Assurance (SQA) focuses on the following

Software Quality Assurance (SQA)

Software’s portability: Software’s portability refers to its ability


to be easily transferred or adapted to different environments or
platforms without needing significant modifications. This ensures
that the software can run efficiently across various systems,
enhancing its accessibility and flexibility.
software’s usability: Usability of software refers to how easy and
intuitive it is for users to interact with and navigate through the
application. A high level of usability ensures that users can
effectively accomplish their tasks with minimal confusion or
frustration, leading to a positive user experience.
software’s reusability: Reusability in software development
involves designing components or modules that can be reused in
multiple parts of the software or in different projects. This promotes
efficiency and reduces development time by eliminating the need to
reinvent the wheel for similar functionalities, enhancing productivity
and maintainability.
software’s correctness: Correctness of software refers to its
ability to produce the desired results under specific conditions or
inputs. Correct software behaves as expected without errors or
unexpected behaviors, meeting the requirements and specifications
defined for its functionality.
software’s maintainability: Maintainability of software refers
to how easily it can be modified, updated, or extended over time.
Well-maintained software is structured and documented in a way
that allows developers to make changes efficiently without
introducing errors or compromising its stability.
software’s error control: Error control in software involves
implementing mechanisms to detect, handle, and recover from
errors or unexpected situations gracefully. Effective error control
ensures that the software remains robust and reliable, minimizing
disruptions to users and providing a smoother experience overall.

Software Quality Assurance (SQA) Include

1. A quality management approach.


2. Formal technical reviews.
3. Multi testing strategy.
4. Effective software engineering technology.
5. Measurement and reporting mechanism.

Major Software Quality Assurance (SQA) Activities

1. SQA Management Plan: Make a plan for how you will carry
out the SQA throughout the project. Think about which set of
software engineering activities are the best for project. check
level of SQA team skills.
2. Set The Check Points: SQA team should set checkpoints.
Evaluate the performance of the project on the basis of collected
data on different check points.
3. Measure Change Impact: The changes for making the
correction of an error sometimes re introduces more errors keep
the measure of impact of change on project. Reset the new
change to check the compatibility of this fix with whole project.
4. Multi testing Strategy: Do not depend on a single testing
approach. When you have a lot of testing approaches available
use them.
5. Manage Good Relations: In the working environment
managing good relations with other teams involved in the project
development is mandatory. Bad relation of SQA team with
programmers team will impact directly and badly on project.
Don’t play politics.
6. Maintaining records and reports: Comprehensively
document and share all QA records, including test cases, defects,
changes, and cycles, for stakeholder awareness and future
reference.
7. Reviews software engineering activities: The SQA group
identifies and documents the processes. The group also verifies
the correctness of software product.
8. Formalize deviation handling: Track and document
software deviations meticulously. Follow established procedures
for handling variances.

Benefits of Software Quality Assurance (SQA)

1. SQA produces high quality software.


2. High quality application saves time and cost.
3. SQA is beneficial for better reliability.
4. SQA is beneficial in the condition of no maintenance for a long
time.
5. High quality commercial software increase market share of
company.
6. Improving the process of creating software.
7. Improves the quality of the software.
8. It cuts maintenance costs. Get the release right the first time,
and your company can forget about it and move on to the next
big thing. Release a product with chronic issues, and your
business bogs down in a costly, time-consuming, never-ending
cycle of repairs.

Disadvantage of Software Quality Assurance (SQA)

There are a number of disadvantages of quality assurance.


Cost: Some of them include adding more resources, which cause
the more budget its not, Addition of more resources For betterment
of the product.

Time Consuming: Testing and Deployment of the project taking


more time which cause delay in the project.

Overhead : SQA processes can introduce administrative overhead,


requiring documentation, reporting, and tracking of quality metrics.
This additional administrative burden can sometimes outweigh the
benefits, especially for smaller projects.

Resource Intensive : SQA requires skilled personnel with expertise


in testing methodologies, tools, and quality assurance practices.
Acquiring and retaining such talent can be challenging and
expensive.

Resistance to Change : Some team members may resist the


implementation of SQA processes, viewing them as bureaucratic or
unnecessary. This resistance can hinder the adoption and
effectiveness of quality assurance practices within an organization.

Not Foolproof : Despite thorough testing and quality assurance


efforts, software can still contain defects or vulnerabilities. SQA
cannot guarantee the elimination of all bugs or issues in software
products.

Complexity : SQA processes can be complex, especially in


large-scale projects with multiple stakeholders, dependencies, and
integration points. Managing the complexity of quality assurance
activities requires careful planning and coordination.

Conclusion

Software Quality Assurance (SQA) maintain a most important role in


the ensuring the quality, reliability and efficiency of the product. By
implementation of these control process which cause the
improvement of the software engineering process . SQA gives a
higher quality product which help to meet user expectations, its
having some drawback also like Cost, time-consuming process, after
maintaining the process of the SQA its improved the reliability and
maintain the maintenance cost which affect in a future.

Quality Control

Quality Control in Software Testing is a systematic set of


processes used to ensure the quality of software products or services.
The main purpose of the quality control process is ensuring that the
software product meets the actual requirements by testing and
reviewing its functional and non-functional requirements. Quality
control is popularly abbreviated as QC.

Difference between Quality Assurance (QA) and Quality


Control (QC)

Quality Assurance (QA) Quality Control (QC)


It is a procedure that focuses on
It is a procedure that focuses on fulfilling
providing assurance that quality
the quality requested.
requested will be achieved
QA aims to prevent the defect QC aims to identify and fix defects

It is a method to manage the quality- It is a method to verify the


Verification quality-Validation

It does not involve executing the


It always involves executing a program
program

It’s a Preventive technique It’s a Corrective technique


It’s a Proactive measure It’s a Reactive measure

It is the procedure to create the It is the procedure to verify that


deliverables deliverables
QA involves in full software development QC involves in full software testing life
life cycle cycle

In order to meet the customer


QC confirms that the standards are
requirements, QA defines standards and
followed while working on the product
methodologies

It is performed only after QA activity is


It is performed before Quality Control
done

It is a Low-Level Activity, it can identify It is a High-Level Activity, it can identify


an error and mistakes which QC cannot an error that QA cannot
Its main motive is to prevent defects in Its main motive is to identify defects or
the system. It is a less time-consuming bugs in the system. It is a more
activity time-consuming activity
QA ensures that everything is executed QC ensures that whatever we have done
in the right way, and that is why it falls is as per the requirement, and that is why
under verification activity it falls under validation activity

It requires the involvement of the whole It requires the involvement of the Testing
team team

The statistical technique applied on QA The statistical technique applied to QC is


is known as SPC or Statistical Process known as SQC or Statistical Quality
Control (SPC) Control

You might also like