Element of SQA (Software Quality Assurance)
Element of SQA (Software Quality Assurance)
Quality Assurance)
Shreesta Shrestha
201329(BECE)
Software Quality Assurance
(SQA)
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.
Elements of Software Quality Assurance
(SQA)
1.Testing:
Conducting various tests (unit tests, integration tests, system tests, etc.) to identify
and fix defects.
2.Quality Standards:
Adhering to industry standards and best practices to ensure the software meets
quality benchmarks.
3.Process Improvement:
Continuously improving development processes to enhance software quality.
4.Documentation:
Creating and maintaining documentation that outlines quality assurance procedures
and test results.
5.Risk Management:
Identifying and mitigating risks that could affect software quality and reliability.
6.Tooling:
Using tools and software to automate testing, analyze code quality, and manage
defects.
Each of these elements plays a crucial role in the overall SQA process, contributing to
the delivery of high-quality software products to end users.
You
Software Quality Assurance (SQA) focuses
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 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.
In the realm of Software Quality Assurance (SQA), ISO (International Organization
for Standardization) has established several standards that provide guidelines
and frameworks for ensuring quality in software development processes. Some
key ISO standards related to SQA include:
ISO 9001: This is a general quality management standard applicable to various
industries, including software development. It provides principles and guidelines
for quality management systems (QMS), emphasizing customer satisfaction and
continuous improvement.
ISO/IEC 25000 series: Known as the Software Quality Requirements and
Evaluation (SQuaRE) series, these standards cover the quality requirements and
evaluation models for software products and systems. Key standards within this
series include:
ISO/IEC 25010: System and software quality models
ISO/IEC 25020: Measurement reference model and guide
ISO/IEC 25021: Quality metrics methodology
ISO/IEC 25030: Quality requirements
ISO/IEC 25040: Evaluation process
ISO/IEC 9126: This standard, which has been superseded by ISO/IEC
25010, focused on software product quality characteristics and
metrics. It provided a framework for evaluating internal and external
software quality attributes.
ISO/IEC 29119: This standard specifies software testing processes
and techniques, providing guidelines for the execution of software
testing activities throughout the software development lifecycle.
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
It 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. 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.
Overall, Software Quality Assurance (SQA) is important for the success in
the project development.