Software Quality Assurance: Architecture
Maaz Ansari
Shree L.R. Tiwari College of Engineering
[email protected]
Madhuri Gedam Anjali Pardeshi
Information Technology
[email protected] SLRTCE Thane
[email protected] Abstract I. INTRODUCTION
Software Quality Assurance is essential for The software quality assurance system
delivering reliable and high-performing
consists of six subsystems: [1]
software systems. As software complexity
and the demand for high-quality products
grow, advanced QA practices become 1. Before the project components, they
increasingly important. This study explores ensure that the specified requirements
recent advancements in QA, focusing on regarding resources, the development
the evolution of QA processes, the impact plan, and the budget for the
of early QA interventions, and the development of the software are met, as
integration of emerging digital well as that the development plan and
technologies. It delves into the use of QA
the quality plan are correctly defined.
audits as educational tools, the application
of agile methodologies, and specific 2. Components of a software life cycle the
challenges such as face detection in social software life cycle consists of two
media. The research highlights several key states: the state of software
findings: early QA efforts significantly development and the state of
reduce bug counts and overall bug-fixing operational exploitation. During the
efforts; QA audits can enhance educational
development stage, design errors and
outcomes and improve software quality
through pedagogical approaches; and agile programming errors are recognized.
methodologies can effectively improve These errors include reviews, expert
software quality by adapting to changing opinions, and software testing. During
requirements and continuous feedback. The the operational exploitation state,
study concludes with recommendations for maintenance components and
refining QA practices and identifies development components, as well as
directions for future research to address
components of the development state
ongoing challenges and leverage
technological advancements. related to the function of the software,
are monitored.
Keywords — Software Quality Assurance, 3. Components of software quality
QA Processes, Digital Technologies, Agile management these components
Methodologies, QA Audits primarily relate to the management of
the activities of the implementation
phase and the software maintenance 6. Human components: The
phase. organizational structure of SQA
4. Standardization components of consists of managers, personnel in
certification and assessment of the SQA charge of checks, tests, etc., the SQA
system: these components implement organizational unit, and other
international professional and participants interested in quality.[1]
management standards within the
software company.
5. Infrastructural components: The goal of
these components is to prevent errors in
the entire organization and improve the
system.
II. Literature Survey
Ref Methodology Dataset Limitations & Future Work
Deshpande Et Simulation model of SQA PROMISE Repository Needs empirical validation with
Al. to demonstrate QA effort in real-world data;
early phases future work could involve
integrating more
variables to simulate different
software
development contexts.[2]
Salahat Et Use of audits as a pedagogy Code Quality Dataset Work-in-progress; future work
Al., 2023 technique to involves further
improve students' SQA empirical studies to establish the
learning effectiveness of
audits as a pedagogical technique and
its long-term
impact on students' industry
readiness.[2]
Gao, Luo, Concepts & quality standards NASA Metrics Data Limited to Bangalore; future work
And Xie applied in the Bangalore Program could expand to
software industry (MDP) Repository other regions and industries to
generalise findings.[2]
Lu Et Al. Exploration of agile Bugzilla & JIRA The study is qualitative and might
methodologies and Repositories lack
factors affecting their generalizability; future work could
implementation include
quantitative analysis and case studies
from various
industries.[2]
Zhao, Hu, SQuaRE-based 21 commercial Limited by the scope of evaluated
And Gong comprehensive software ready-to-use products; future
quality evaluation framework software products work could involve expanding the
(WSQF) framework to
cover more products and different
software
development methodologies.[2]
Table No.1: Literature Survey
2.1 Key Principles & Goals of performance testing and safety test to
SQA secure software compliance.
Code Quality Analysis: Tools and
The main goal of SQA is to ensure methods to study code quality metrics,
that software products are developed such as code complexity, code
and delivered with a focus on quality. coverage, and compliance with coding
This take assert richly standards standards.
throughout the lifetime of software Automated Testing: use tools and
development. scripts to automate the execution of test
Testing is a fundamental aspect of files, thus improving the efficiency and
SQA, and it needs to be integrated coverage of testing operations.[3]
throughout the software
development life cycle. This include 2.3 Processes in SQA
unit testing, integration testing,
system testing, and adoption essay to Quality planning: This means setting
ascertain that software gather the quality objectives, standards and
requirements and functions as procedures for a project. It admit
expect. discover the quality characteristics to
SQA ultimately wants to improve follow direct and adjust standards to
customer satisfaction by providing measurement them.
software products that meet or Testing: Testing is a crucial process in
exceed customer expectations in SQA, which includes different levels
terms of functionality, reliability & (unit, integration, system, and
performance. acceptance) and types (functional, non-
SQA promotes the idea to prevent functional) to validate software
defects rather than to detect and functionality and performance.
confirm them later in the Defect Management: Tracking and
development process.[3] managing defects regain during
examination or assessments personify
2.2 Techniques in SQA indispensable. This process includes
defective identification, reporting,
prioritization, determination, and
Static Testing: Reviewing software
verification of fixes.
documents and code without making
Risk Management: Identifying
them. Example checks and code
potential risks to quality or project
reviews to detect defects in the early life
success, assessing their impact and
cycle.
likelihood, and implementing
Dynamic Testing: Executing software
mitigation strategies to minimize their
to observe your behavior and
impact on software quality.[4]
performance. Techniques include
operational testing, regression testing,
III. Elements of Software Quality
Assurance Change management: SQA checks to
see whether the right protocols have
been put in place for handling changes.
Education: A common objective
throughout all software firms is to
improve software engineering
procedures. Education has a significant
positive impact on the management of
software engineers and other
stakeholders.
Security management: SQA makes
ensuring that the right tools are utilised
to make software secure.
Here are some elements of software quality Safety: It is possible that SQA is
assurance that were explained below shown responsible for identifying the
in Figure 1: repercussions of software failure &
launching the necessary preventative
Standards: Publications & standards measures.
developed by organisations like the
IEEE & ISO cover a broad spectrum of Risk management: The SQA
software engineering. The QA team's organization oversees the creation of
job is to check that everyone is backup plans connected to risks and the
following the rules and that the final proper implementation of risk
goods are up to par. management protocols.[5]
Reviews & audits: One way that
software engineers ensure the quality of IV. Quality Metrics &
their colleagues' work is by conducting
technical reviews. As a kind of review, Measurement
SQA experts (those working for an
organisation) do audits to ensure that There is a number of metrics available
software engineering work is meeting based on which software quality is
quality requirements. measured. But among them, there are a
Testing: Error detection is the main few most useful metrics which are
objective of software testing, a quality essential in software quality
control procedure. Assurance of measurement. They are-
appropriate planning and effective 1. Code Quality
execution of testing for the main 2. Reliability
software objective is the responsibility
3. Usability
of SQA.
4. Performance
Error/defect collection and analysis: 5. Security
Through the collection and analysis of 6. Maintainability
error and defect data, SQA gains a
better understanding of the causes of
errors & the software engineering
activities that contribute most to their
removal.
1. Code Quality: Code quality metrics 5. Security: Security metrics measure
measure the quality of code used for how secure the software is. In the age of
software project development. cyber terrorism, security is the most
Maintaining the software code quality essential part of every software.
by writing Bug-free and semantically Security assures that there are no
correct code is very important for good unauthorized changes, no fear of cyber-
software project development. In code attacks, etc. when the software product
quality, both Quantitative metrics like is in use by the end-user.
the number of lines, complexity,
functions, rate of bug’s generation, etc., 6. Maintainability: Each software
and Qualitative metrics like readability, product requires maintenance and up-
code clarity, efficiency, and gradation. Maintenance is an expensive
maintainability, etc. are measured. and time-consuming process. So if the
software product provides easy
2. Reliability: Reliability metrics express maintainability then we can say
the reliability of software in different software quality is up to mark.
conditions. The software is able to Maintainability metrics include the time
provide exact service at the right time or required to adapt to new
not checked. Reliability can be checked features/functionality, Mean Time to
using Mean Time between Failure Change (MTTC), performance in
(MTBF) and Mean Time to Repair changing environments, etc. [6]
(MTTR).
V. Methodologies
3. Usability: Usability metrics check
whether the program is user-friendly or 5.1 Manual Testing: Although less
not. Each software is used by the end- effective, traditional manual testing is
user. So it is important to measure that still necessary for user behaviour
the end-user is happy or not by using analysis and exploratory testing. It
this software. continues to be an essential component
of quality assurance in situations when
4. Performance: Performance metrics are automated testing is either too
used to measure the performance of the expensive or impossible.
software. Each software has been
developed for some specific purposes. 5.2 Automated Testing: Essential to
Performance metrics measure the CI/CD pipelines, automated testing
performance of the software by solutions (such as Selenium and JUnit)
determining whether the software is facilitate the effective execution of test
fulfilling the user requirements or not, cases. Automated testing has become
by analyzing how much time and essential for preserving software
resource it is utilizing for providing the quality in hectic development
service. environments as DevOps approaches
are increasingly adopted.[7]
VI. Software Quality Assurance : Architecture
Figure-2: SQA Architecture
SQA is divided into 6 classes, they are: Components of infrastructure error
prevention and improvement: The
1. Pre-project components main activity of this stage is to eliminate or
2. Components of project life cycle make the errors gone missing or well, at
activities assessment least reduce the rate of errors. It’s applied to
3. Components of infrastructure error entire organization.
prevention and improvement
Components of software quality
4. Components of software quality
management: This phase is focused on
management
several goals. The main goal is controlling
5. Components of standardization,
the development process and maintenance.
certification, and SQA system
And also introducing the managerial
assessment
support in preventing and minimizing
6. Organizing for SQA – the human
schedule and budget failure of their
components
outcomes.
Pre-project components: This stage is
Components of standardization,
defined before executing the project. Some
certification, and SQA system
activities which are done at this phase are:
assessment: This phase implement
Ensuring the resources, schedule and the
international professional and managerial
budget required. Those have to adequately
standard for the organization. The activities
define in order to synchronize everything as
included in this phase are:
it planned.
Utilize the international professional
Components of project life cycle knowledge
activities assessment. At this phase, the Improve the coordination of the
activities are divided into 2 stages. They organizational quality systems with
are, the development life cycle stage and other organizations
the operation-maintenance stage. And it’s
Organizing for SQA – human
also divided again into 4 sub-classes, which
components: At this stage, we’re
are:
organizing the people who relate for SQA
Reviews
things. They are managers, testing
Expert opinions
personnel, SQA trustees, SQA committee
Software testing
members and SQA forum members. [8]
VII. Some Best Practices in SQA 8.2 AI and Automation Synergy:
As AI becomes more prevalent, more
intelligent testing frameworks may be
SQA teams should be involved from the
created. Building strong models that can
initial stages of the SDLC to ensure
incorporate AI and automated testing
quality is built into the software from
techniques for increased coverage and
the beginning. This includes
efficiency is the main goal of future
requirements gathering, design reviews,
research.
and early test planning.
Establish clear quality objectives and
8.3 Roadmap for Future Research:
criteria early on, aligned with business
The roadmap for SQA focuses on four main
goals and user expectations. goals: developing universal testing
Develop a detailed test plan that theories, advancing test-based modelling,
outlines testing scope, objectives, achieving full automation, and maximizing
resources, timelines, and testing efficacy. These stand for the main
responsibilities. Include different types issues that must be resolved in the
upcoming years.[10]
of testing such as functional, non-
functional (performance, security), and
regression testing. IX. Conclusion
The implementation of these best practices
Software quality assurance plays a
not only ensures that software products
crucial role in the life cycle of software
meet high standards of reliability and
development by systematically
performance, but also improves customer
evaluating and improving the processes
satisfaction by providing bug-free and user-
used to create software. It includes
friendly applications. By focus on other
activities such as requirements analysis,
engagement, comp tests and uninterrupted
design evaluation, code reviews, testing
improvement, SQA teams can effectively
and implementation monitoring to
decoct risks and maintain a proactive
ensure that each phase meets the
approach to quality assurance throughout
established quality standards. By
the lifetime of software development. [9]
maintaining a focus on quality during
the development process, organisations
VIII. Challenges & Future can reduce the risk of defects, improve
Directions customer satisfaction and ultimately
8.1 Test Automation Challenges: deliver reliable and efficient software
Even with the advancement of solutions.
automation, human oversight is still
necessary for some testing activities,
particularly when working with
complicated interactions or systems
that have changing requirements.
Automating all tests is still a major
challenge.
[8] Aggarwal, Alankrita & Dhindsa,
X. References Kanwalvir & Suri, Pappu. (2021).
Enhancing Software Quality Assurance by
[1] Peng Shen, Xiaoming Ding, Using Knowledge Discovery and Bug
“Research on Software Quality Assurance Prediction Techniques. 10.1007/978-981-
Based on Software Quality Standards & 16-1048-6_8.
Technology Management”, Busan, Korea
(South), IEEE (2018) [9] Pastrana, Manuel & Ordoñez, Hugo &
Cobos, Carlos. (2022). Approach to the
[2] Patel, Kishan. (2024). A Review on Best Practices of Software Development
Software Quality Assurance (QA): Based on DevOps and SCRUM Used in
Emerging Trends and Technologies. 10. Very Small Entities. Revista Facultad de
2455-2585. Ingeniería. 31. e14828.
10.19053/01211129.v31.n61.2022.14828.
[3] P. Wade, T. Hammond, and S. Anwar,
―Work in Progress Paper: Learning [10] Deshmukh, Sagar. (2021). Software
Software Quality Assurance using Quality Assurance Research:
Audits,‖ in Proceedings - Frontiers in Achievements, Challenges, Dreams.
Education Conference, FIE, 2023. International Journal of Scientific and
Research Publications (IJSRP). 11. 420-
[4] Brohi, & Khan, Pinial & Zhang, 427. 10.29322/IJSRP.11.05.2021.p11351.
Shaobo. (2019). Software Quality
Assurance: Tools and Techniques.
10.1007/978-3-030-24900-7_23.
[5] Patel, Kishan. (2024). Exploring the
Combined Effort Between Software
Testing and Quality Assurance: A Review
of Current Practices and Future.
[6] Kaner, C., & Bond, W. P. (2004) -
"Software Engineering Metrics: What Do
They Measure and How Do We Know?"
Proceedings of the 10th International
Software Metrics Symposium. Available
on IEEE Xplore.
[7] M. Lochan, ― Elevating Software
Quality Role Using Angle Methodology,‖
in Proceedings of International Conference
on Technological Advancements and
Innovations