A Methodology For Incorporating Quality Assurance Practices During Software Development Life Cycle
A Methodology For Incorporating Quality Assurance Practices During Software Development Life Cycle
A Methodology For Incorporating Quality Assurance Practices During Software Development Life Cycle
time increases client satisfaction and hence improves the Human factors are the certain conditions which directly
reputation of the product in customers. Agile methodology influences the quality, cost, and duration of the product.
improves the quality of the product, where both development Human factors are very diverse and if some organization
and testing are done in parallel, improves the efficiency of ignores it or not mitigating properly in a project then it will
the product by fixing the found bugs at early stages. affect the project seriously [8]. Human factors can be
environmental, technical, organizational, and managerial.
2. RELATED WORK Technological factors are the most important aspects in
software development life cycle and results in the success of
Software Quality Assurance (SQA) is a coordinated and software product [9]. Many organizations which are
comprehensive strategy to ensuring that software operations, developing software’s are in continuous struggle to tackle
goods and services confirm SQA's objectives of enhancing the issues related to human resources. These issues totally
the quality of software by carefully controlling all software depend upon the office culture, training and team dynamics.
and production processes to ensure complete conformity [10] Software quality relates to a software which is fairly
with the principles and specifications established [1]. The bug free or defect free, delivered in specified/proper time
quality assurance of applications must be used to align and within desired/expected budget, which at the end meets
quality with productivity. Improvements in efficiency impact with the stated business requirements and is also
the efficiency of activities in different respects, such as maintainable. Functional quality and structural/non-
growing sales, reducing expenses and enhancing functional quality are the two aspects of software quality in
productivity. Quality has been recognized in any sector as the context of software engineering.
one of the key factors of sustainable strategy [2]. For the Software Functional Quality ensures the quality of a design
past two decades, software production has become one of based on functional specifications or requirements of
the fastest rising industries. As the number of app production services or products. Software Structural Quality ensures the
companies has risen at a much faster rate, global rivalry has quality of a design based on non-functional specifications or
become much more serious. Tech vendors need to requirements of services or products. It supports the
distinguish their offerings in ways that are important to their functional specifications or requirements of services or
clients in order to succeed in this global competition climate. products such as maintainability, robustness, and the degree
An established way to accomplish this distinction is of correctness to which the services or software has
consistency. Three critical sources, namely humans, produced. The word quality is actually very hard to define or
technology and management, generate quality in the describe but it tells us that end system/ software/product
software development [3]. should meet the needs of clients and customers and should
fulfill their expectations. Quality actually relates to the
Javed et al. [4] reported that emerging countries such as system/ software/product design, functionality, usability,
Pakistan are competing harder in the international market to durability, reliability and price of the
sustain software quality. For several factors, software output system/product/software. The word assurance is nothing but
is compromised. This article states that if experts don't a positive declaration to and gives confidence to clients and
successfully perform their assigned jobs, efficiency goes customers about system/product/software that this
down. Performance may also be enhanced by preparing the system/product/software will works as expected. Software
persons who work on the software items. Educated quality assurance (SQA) is a set of activities which ensure
individuals should pay attention when the product is being the quality of a process followed in developing software
produced. Parnas[5] clarified that the divide and conquer products. It is process-based action and the activities used in
approach may be used in applications to detect and eliminate software quality assurance (SQA) help to evaluate and
problems/errors. In his study, David et al. [6] mentioned organize the processes that produce software services or
factors influencing efficiency. His analysis covers the products [11].
following considerations: Duration of Project Period, Fund Software quality control (SQC) is something different from
spent, less use of standards to attain consistency, Lack of software quality assurance (SQA). It is a set of activities
relevant Field Experts, Duration of Project, and Determine which ensure the quality in software products. It is product-
efficiency regardless of inferior advantages. based action and the activities used in software quality
control (SQC) only focus on discovering defects in the
actual/end services or products which is produced by
As per IS0 DIS 13407 the user cantered design helps in
following the activities used in software quality assurance
achieving quality of a system. It states that user cantered
(SQA). As an approach to resource optimization, SQA will
design is an activity which has multiple disciplines, which
minimize costs and, in economic terms, maximize benefits.
include human factors, people's efficiency, people’s
A significant element in the life cycle of software production
knowledge, and the techniques. The main objective here to
is SQA. Quality assurance should be included at each level
enhance the efficiency and effectiveness of the system by
of the development process. Monitoring and evaluation are
improving the working conditions of humans. It also
used for device identification and avoidance of defects. The
prevents the possible negative effects these working
key objective of SQA is to specify the targets and planned
conditions on human’s mental and physical health. It also
performance and outcome verification requirements and to
protects the human health performance and safety [7].
include the appropriate structure to ensure a reliable
2297
Eraj Laaraib et al., International Journal of Advanced Trends in Computer Science and Engineering, 10(3), May - June 2021, 2296 – 2301
alternative to SQA across the construction phase, so that the product. So, an organization should not ignore it while
both software quality assurance and software engineering developing a software product. Human factors also depend
approaches can be used to improve the efficacy of both upon the environment of the software developing company,
systems and technology designers [12,13]. its culture, training, and team aspects [10].
DevOps is a series of approaches wherein designers and
procedures interact and work easily, efficiently and with 4.2 Technological factors
greater consistency to deliver applications and
services[14,15]. DevOps shares roles and duties within a ISO 9000 standard concerns with the quality of the product
team that is entirely responsible for their operation and the in quality assurance. The standard provides confidence and
related stack of technologies, from creation to helps to assure that the resulted product will meets the
implementation and maintenance. Cross features, joint roles desired product and requirement to satisfy the clients.
and trust are encouraged in a DevOps setting. In turn, Literally the quality depends upon the person who is
DevOps applies the agile group's agile growth targets responsible of making the requirement specification of a
through continuous delivery and launch. DevOps facilitates product. Quality directly correlates with the standard of
optimization of the phases of transition, setup and activation requirement specification if it is inappropriate then it will
to facilitate continuous updates [16]. The demand for reduce the quality of the end-product [15]. As per Garvin,
software production has seen strong growth with rapid the manufacturing quality is described by requirement
improvements. Client expectations and improvement specification and high-quality end-product confirms the
demands presented in a constructive way are the rationale appropriate requirement specification [18].
for the accelerated changes. Application approach has solved
this and several organizations have switched to application
framework in order to facilitate regular launches with greater
customer loyalty. While most businesses have adopted agile
techniques, a few businesses have used such agile practices
to mitigate the bottlenecks in the current phase. In Speedup,
companies like IBM, Facebook and Microsoft began their
own growth. Constant implementation is not an easy task, as
there is a substantial effect on device reliability, as per [17].
3. METHODOLOGY
2298
Eraj Laaraib et al., International Journal of Advanced Trends in Computer Science and Engineering, 10(3), May - June 2021, 2296 – 2301
with the user center design and usability. User center design Each factor identified at different stages in SQA has its own
is something related with prototypes and mockups whereas role in achieving high end product. First start with business
usability relates with user interface. Thus, user center design requirements stage involves the gathering of all the
and usability help in improving the quality of product. requirements from the business owner. It is the very early
stage in software development. After collecting all the
2.3 Factors identified at different stages of SDLC required information from the business owner there comes
requirement analysis stag in which all the product designers
Following factors have been identified in this study for give his/her thinking idea. These ideas are then shared with
ensuring software quality assurance at different stages of the business owner. The business owner than has right to
SDLC (figure 2) select an idea. Therefore, design quality directly depends
upon the level of designers hired in the project. Consistency
plays an important role to satisfy the clients. Technical
vendors need to distinguish their offerings in ways that are
important to their clients in order to succeed in this global
competition climate. An established way to accomplish this
distinction is consistency. So technology has direct impact
on the quality of the product. Using latest technologies and
tools will increase the quality and project management of the
product. The approach of human factors in quality directly
relates with the user center design and usability. User center
design is something related with prototypes and mockups
whereas usability relates with user interface. Thus, user
center design and usability helps in improving the quality of
product. In every quality assurance activity, design phase is
still the most relevant; SQA team members are responsible
and accountable for designing project scope and executing
the plan as well. They also were liable for the calculation of
output, enhancement of quality and control of
configurations. The external quality comes in product
specification stage and it is a part of product validation. The
system behaviour points towards external requirements of
product quality whereas external metrices points towards
Figure 2: SQA Factors during SDLC stage external quality. During real time software execution these
external metrices are being applied the consequences of
3 RESULTS AND DISCUSSION which clearly reflects the degree of the quality of software.
A product works fine in an environment it might show
Quality plays an important role in achieving high quality of defects in another environment. So, quality is clearly
end product. Organizations perform testing by the help of dependent on the user-identified environments. The internal
SQA Engineers in order to meet the goal and to satisfy the quality requirements come in design and development stage
clients. The quality characteristics of a software directly and software attributes points towards it. Internal metrics
relates with the quality, use of the software and on user. points out the internal quality and are part of product
Functional and non-function aspects of the product clearly verification. So, validation process focuses on the external
depend upon the type of user and number of users. For quality and its requirements whereas verification depends
quality both degree of measurement and care should be upon the internal quality and its requirements. During
considered, if a quality is measured under different development process the internal quality requirements are
environments then generalizing the consequences of quality considered. These metrices are applied during the
measurement will provide care. Various takes implemented development stage i.e., directly on the source code. The
on the intermediate and end-product also helps in enhancing results of which helps in improving the quality of source
the quality of product. Quality increases the client code. Better code quality results in low quality defects. The
confidence, and which is achieved by properly checking the feedbacks of both internal and external requirements help to
quality of software at different levels like review, audit and improve the quality of code and desired product.
inspection etc. It involves the interest of stakeholders and by
giving weekly/monthly reports of requirement metrics and The competence of adeveloper also plays an important role
defects to clients helps in satisfying that work is being done in attaining high end product. Writing high level of software
on time. Organization saves their money by the help of bug free code will save time and money. Also after
Software quality assurance (SQA) to find defects in early completion of the program, testing is not mandatory, but it
builds of the software. After fixing in time increases client can be conducted at any onset of the study and expose the
satisfaction and hence improves the reputation of the product coding defects. Peer Evaluations play a very significant role
in customers. in enhancing the efficiency of projects. This shows that user
2299
Eraj Laaraib et al., International Journal of Advanced Trends in Computer Science and Engineering, 10(3), May - June 2021, 2296 – 2301
2300
Eraj Laaraib et al., International Journal of Advanced Trends in Computer Science and Engineering, 10(3), May - June 2021, 2296 – 2301
Palestiniangovernment. International Journal of way. Information and Software technology, 57, 21-
Computer Applications, 58(22). 31.
13. Koondhar, M. Y., Abdul Molok, N. N., Chandio, 17. Bevan, N., & Azuma, M. (1997, June). Quality in
F., Rind, M. M., Raza, A., & Shah, A. (2015). A use: Incorporating human factors into the software
conceptual framework for measuring the engineering lifecycle. In Proceedings of IEEE
acceptance of pervasive learning. International Symposium on Software Engineering
14. Koondhar, M., Malkani, Y., Rind, M., Chandio, F., Standards (pp. 169-179). IEEE.
Shah, A., &Nizamani, Q. (2015). Pervasive 18. Maher, Z. A., Shaikh, H., Khan, M. S., Arbaaeen,
Learning using Cloud Computing. Sindh University A., & Shah, A. (2018, November). Factors affecting
Research Journal-SURJ (Science Series), 47(3). secure software development practices among
15. Koondhar, M., Rind, M., Hub, M., &Shaikh, H. developers-An investigation. In 2018 IEEE 5th
(2014). Semi-automated E-Tendering System with International Conference on Engineering
Web Services. A case study on tendering process in Technologies and Applied Sciences (ICETAS) (pp.
Pakistan. Sindh University Research Journal-SURJ 1-6). IEEE.
(Science Series), 46(4).
16. Claps, G. G., Svensson, R. B., & Aurum, A. (2015).
On the journey to continuous deployment:
Technical and social challenges along the
2301