Використання методів та інструментів для забезпечення якості програмних систем

This paper proposes an examination of effective methods and tools for ensuring software quality. The scope of this topic includes current issues related to software quality assurance within the context of analyzing methods and tools used in practice to develop high-quality software. During the model...

Повний опис

Збережено в:
Бібліографічні деталі
Дата:2025
Автор: Shantyr, Anton
Формат: Стаття
Мова:Англійська
Опубліковано: The National Technical University of Ukraine "Igor Sikorsky Kyiv Polytechnic Institute" 2025
Теми:
Онлайн доступ:https://journal.iasa.kpi.ua/article/view/301260
Теги: Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
Назва журналу:System research and information technologies
Завантажити файл: Pdf

Репозитарії

System research and information technologies
_version_ 1866302953420226560
author Shantyr, Anton
author_facet Shantyr, Anton
author_sort Shantyr, Anton
baseUrl_str http://journal.iasa.kpi.ua/oai
collection OJS
datestamp_date 2025-11-09T00:01:30Z
description This paper proposes an examination of effective methods and tools for ensuring software quality. The scope of this topic includes current issues related to software quality assurance within the context of analyzing methods and tools used in practice to develop high-quality software. During the modeling process, a new comprehensive model for software quality assurance has been developed, combining modular testing, integration testing, and continuous integration methods. The advantage of this development is its enhanced adaptability to addressing key challenges in software quality assurance. Based on the developed model, strategies and approaches are proposed to improve configuration management processes and identify vulnerabilities in software systems.
doi_str_mv 10.20535/SRIT.2308-8893.2025.3.05
first_indexed 2025-11-09T02:11:02Z
format Article
fulltext  A.S. Shantyr, 2025 60 ISSN 1681–6048 System Research & Information Technologies, 2025, № 3 UDC 004.41 DOI: 10.20535/SRIT.2308-8893.2025.3.05 USE OF METHODS AND TOOLS FOR ENSURING SOFTWARE QUALITY A.S. SHANTYR Abstract. This paper proposes an examination of effective methods and tools for ensuring software quality. The scope of this topic includes current issues related to software quality assurance within the context of analyzing methods and tools used in practice to develop high-quality software. During the modeling process, a new com- prehensive model for software quality assurance has been developed, combining modular testing, integration testing, and continuous integration methods. The advan- tage of this development is its enhanced adaptability to addressing key challenges in software quality assurance. Based on the developed model, strategies and ap- proaches are proposed to improve configuration management processes and identify vulnerabilities in software systems. Keywords: comprehensive model, quality standards, integration testing, unit testing, technological challenges, integration testing, continuous integration. INTRODUCTION In the modern digital world, often referred to as the era of software, the concept of software quality has become not only relevant but critically important. In all areas of activity, from business and science to everyday needs, software has become an integral component. However, the mere existence of a software product does not guarantee its success [1]. In this regard, it is quite appropriate to agree with the views of the authors of the work [2], which conclude that quality becomes the decisive factor influencing decision-making and meeting user needs [2]. According to the authors of the study [3], achieving high-quality software requires not only innovative technologies but also effective methods and tools for ensuring quality. These methods and tools encompass a wide range of activities, from testing and code analysis to quality management and the implementation of best practices in the software development process. Scientific research in the field of software quality assurance has been conducted for several decades, and many aspects have already been addressed, including:  test automation: numerous tools, frameworks, and Continuous Integration / Continuous Deployment practices have been developed for automatic code qual- ity verification [13];  quality metrics: a set of metrics has been defined and implemented, such as code coverage, system response time, the number of defects per unit of code, and others [4; 5];  software security: immunity to many types of attacks has been devel- oped, popular vulnerabilities such as SQL injection, cross-site scripting (XSS) and others have been identified and fixed; Use of methods and tools for ensuring software quality Системні дослідження та інформаційні технології, 2025, № 3 61  development methodologies: there are many recognized methodologies, such as Scrum, Kanban, DevOps, which regulate development and quality assur- ance processes. However, there are also unsolved problems and directions for further re- search, namely:  intelligent testing: unsolved questions regarding the evaluation of the de- velopment of machine learning methods for automated testing that are able to adapt to changes in the code and respond to new functions. The essence of the problem of intelligent testing within the framework of quality assessment of soft- ware systems boils down to the fact that testing requires an understanding of the functionality of the program and the possibilities of automation. Ensuring the adaptability of tests to changes in the code requires intelligent systems. The com- plexity of solving the above-mentioned problem lies in the fact that at the current level of technological development of qualitative evaluation of software systems, there are technological difficulties in the development of optimized machine learning algorithms that can adapt to changes in the software code and detect new functionalities automatically;  security of microservice architecture: issues related to ensuring security and integrity in the context of the rapid development of microservice systems, given the large number of interacting components, have not been fully resolved. According to [5], the significant number of interacting microservices creates a vast attack surface, complicating the detection and resolution of potential vulner- abilities. As per [6], the challenge in addressing this problem at the methodologi- cal level lies in the incomplete implementation of mechanisms that address the development of systems for detecting and monitoring potential attacks, as well as the development of secure microservice development practices;  automation of vulnerability detection: the issues surrounding the devel- opment of effective tools for automated detection of new vulnerabilities and their subsequent remediation have not been fully addressed. According to [7], the es- sence of this problem is that vulnerabilities evolve, and tools need to detect new security threats. The challenge here is the constant need to develop more effec- tive, cutting-edge tools and technologies capable of identifying new and unknown vulnerabilities through contextual understanding and advanced detection methods;  combination of functional and learning-based testing: approaches that combine functional testing with machine learning to more effectively detect de- fects have not been fully developed;  security guarantees at large scales: the development of methods and ar- chitectures to ensure the security of software systems in large, distributed, and complex ecosystems has not been fully addressed. The core of the problem is that in large ecosystems, such as cloud services, ensuring security at all levels is chal- lenging [8]. Additionally, there are difficulties in using distributed architecture, encryption, and security standards to protect vast amounts of data and systems;  ethical aspects in testing: the development of standards and ethical norms for automated testing systems and their impact on people has not been fully ad- dressed. The core of the problem is the need to solve issues related to testing that may affect user privacy and security. The complexity of this issue lies in the definition of standards and the implementation of practices that ensure ethical standards in testing. A.S. Shantyr ISSN 1681–6048 System Research & Information Technologies, 2025, № 3 62 ANALYSIS OF RECENT PUBLICATIONS Foidl H., Felderer M. [1] considered the principles of integration of software qual- ity models based on risk-oriented testing. The authors noted above solve the prob- lem of defining software by using quality models. Within the scope of the raised topic, the authors propose to integrate software quality models based on risk-oriented testing, according to their position, this approach will help significantly improve the effectiveness of testing, allowing to focus on areas with high risk for software. The advantages of this approach are more efficient use of resources: focus- ing testing on high-risk areas allows for more efficient use of limited resources, directing them to the most critical aspects of the software. In addition, risk-based testing, based on quality models, allows you to better consider business needs and focus on aspects of the program that have the greatest impact on business proc- esses. The authors also note that the integration of quality models helps to identify potential problems and risks in advance, which allows developers to pay more attention to their solution in the early stages of development. In addition, the au- thors proved that focusing on important areas of risk improves software quality by identifying and solving problems important to users. However, the integration of software quality models into risk-based testing proposed by Foidl and Felderer may have certain drawbacks, namely:  complexity of integration: transferring quality models into the context of risk-based testing can be challenging, especially if there are different methods and approaches to defining quality and risks;  data heterogeneity: quality models may be based on different data sets, and risks may arise from various sources. Integrating this data can be problematic due to its heterogeneity and incompatibility;  ambiguity in defining risks and quality: the concepts of risk and quality may have different interpretations for different stakeholders, making the integra- tion of models difficult due to this ambiguity;  need for large amounts of data: effective operation of integrated models requires a significant amount of data, both on software quality and risks. This can be a problem where access to such data is limited;  system complexity: integrating models may require significant effort and resources to develop, implement, and maintain complex systems. Thus, while integrating software quality models into risk-based testing can bring substantial benefits in identifying high-risk areas for software, it is essential to carefully study and consider the aforementioned challenges for successful ap- plication of this approach. K. Sahu and R. K. Srivastava [2] examined the founda- tions of software error prediction using neuro-fuzzy logic methods. Their research emphasizes software reliability and the need to find effective error prediction methods. However, the researchers did not explore the possibility of integrating error prediction methods with other quality assurance methods, such as statistical models, testing, or defect analysis. In general, recent research in the field of effec- tive methods and tools for software quality assurance significantly improves the efficiency of quality assurance processes. According to [9], at the technological- methodological level, the issues related to the aforementioned analysis require a deep understanding of the functional and technical aspects of software systems, as well as innovative approaches to solving them. The complexity lies in combining Use of methods and tools for ensuring software quality Системні дослідження та інформаційні технології, 2025, № 3 63 technical expertise with creativity and flexibility in addressing diverse problems. According to [10], research on software quality assessment methods is ongoing to identify effective tools and techniques. However, according to [10], research in the field of software quality assessment requires continuous improvement of methods and tools, as well as consideration of changes in the technological land- scape and user requirements. According to [11], research on effective methods and tools for software quality assurance is a crucial field in information technol- ogy. According to [12], issues related to software quality assurance can arise for various reasons, and solving them requires a systematic approach. In the frame- work of research on quality assurance methods and tools, the researchers from works [115] encountered numerous issues requiring additional comprehensive analysis. Specifically, in the area of automated testing, it is advisable to conduct research to develop the most appropriate automated tests covering various aspects of the software and its functionality to prevent malfunction in real-world condi- tions [14]. In the realm of improving quality metrics, it is important to conduct research on developing and implementing effective metrics that take into account various aspects of quality, such as reliability, performance, and security [3]. In terms of addressing software security issues, it is necessary to analyze and im- prove methods for identifying and eliminating potential vulnerabilities and to develop tools that enhance compliance with security requirements in a growing environment of cyber threats [46]. Thus, recent studies require further investiga- tion to continue comprehensive work on resolving the identified challenges. Setting the task. Aim of the work is to study effective methods and tools for ensuring the quality of software systems and to develop a new comprehensive model for ensuring the quality of software systems, which combines the methods of module testing, integration testing and continuous integration, which contrib- utes to the improvement of the quality of the software product at various stages of development. Achieving the set goal comes down to solving the following problems:  conducting a generalized analysis of current issues related to the study of effective methods and means to ensure the quality of software systems;  conducting a comprehensive contextual base-review generalization of the main modern qualitative and quantitative methods that are used to assess the qual- ity of software systems;  analysis of the main mathematical models involved in integration testing and quality assessment of software systems;  development and research of a new complex model of quality assurance of software systems, which is based on a combination of methods of module test- ing, integration testing and continuous integration. THE MAIN PART Conducting a generalized analysis of current issues related to the study of ef- fective methods and tools for ensuring the quality of software systems, it is appropriate to highlight a number of issues in this area, which are presented in Table 1. Table 1 is made by the author of this article on the basis of works analysis [115]. A.S. Shantyr ISSN 1681–6048 System Research & Information Technologies, 2025, № 3 64 T a b l e 1 . Generalized analysis of current issues related to the study of effective methods and tools to ensure the quality of software systems The name of the generalized area of topical issues Generalized description of the problem Research that is needed within the framework of solving this issue Automated testing Lack of full test coverage, which can lead to incorrect operation of the program in real conditions Research within the development of automated tests that cover various aspects of the program and its functionality Quality metrics Lack of clear metrics for measuring software quality Research within the development and implementation of effective metrics that take into account various aspects of quality such as reliability, performance and safety Software security Ensuring the security of software systems in the growing environment of cyber threats Research that involves the analysis and improvement of methods for identifying and eliminating potential vulnerabilities, as well as the development of means to improve compliance with security requirements Development methodologies The choice of the most appropriate methodology for the development of soft- ware systems, taking into account the trends in ensuring the quality of the software product. Research that involves a comparative analysis of various methodologies, identify- ing their advantages and disadvantages, as well as developing recommendations for choosing the appropriate approach to development Quality standards Lack of uniform quality standards for different fields of development. Research on the development and implementation of quality standards that take into account the specifics of various types of software systems Version control of software systems and configuration man- agement Effective implementation and management of changes in software code Research on the development of tools for automated version control and configuration management to ensure code stability and quality Shown in Table 1 the results of a generalized visual analysis show that the quality of software systems has several key aspects that need attention and re- search. In particular, in the field of resolving issues on automated testing, it is ad- visable to conduct research on improving software testing, which is used to pre- vent improper operation of programs and accordingly covers the analysis of their functionality in real conditions [14]. With the limits of improving quality metrics, it is important to conduct re- search on the development and implementation of effective metrics that take into account various aspects of quality, such as reliability, productivity and security of software [3]. In the framework of adaptive development, quality metrics in our opinion are advisable to apply the definition of key quality indicators (KPIs) to measure different aspects of software quality. Use of methods and tools for ensuring software quality Системні дослідження та інформаційні технології, 2025, № 3 65 Fig. 1 shows a scheme of complex contextual basis-view generalization of basic modern qualitative methods that are used to assess the quality of software systems. Analyzing in Fig. 1. Methods should be noted that today, in the field of quality assessment of software systems, specific standards do not determine the Delphi method. In the context of the quality assessment of the software systems, the Delphi method can be used to obtain objective expert opinion about various aspects of quality of the software product Complex contextual basis-view generalization of basic modern qualitative methods that are used to evaluate the quality of software Quality methods of evaluation of quality software systems Generalized purpose: at a complex level within the framework of delineating the basic spectrum of problem solving on qualitative evaluation of software systems “Qualitative methods” used to solve questions related to the assessment of the principles of formalization of problems, creation of options and qualitative evaluation of the possibilities of operation of the system. These methods are quite rational to apply them in cases where there is no description of the patterns of the system in the form of analytical dependencies The “script” method in the context of quality assurance of software systems is an approach to testing, which involves the development and implementation of specific sequences (scenarios) of actions to check the functionality and properties of the software product Methods for assessing the quality of software systems, which are based on the basic aspects of the methodological direction of the “brainstorming” method (methods of “brainstorming” type) Expert evaluation method in the context of implementing the mechanisms and aspects of scientific versatile review and practical assessment of quality assurance of software systems The Tree Goal method  in the context of the quality assessment of software systems can be used to systematize and define the goals related to the quality of the software product Morphological methods create a systematic structure for determining, analyzing and improving the quality of software systems, which allows the team of developers and management to better understand and effectively manage aspects of product quality The system of system analysis based on qualitative methods of quality assessment of software systems involves the consideration of various aspects and interaction of the system components to assess their efficiency and quality Fig. 1. Scheme of complex contextual basis-view generalization of basic modern qualitative methods that are used to assess the quality of software systems A.S. Shantyr ISSN 1681–6048 System Research & Information Technologies, 2025, № 3 66 use of specific brainstorming methods. However, brainstorming methods should be used in quality management processes and software testing, as well as in col- lecting requirements and design [9]. Brainstorming methods can be successfully integrated into these standardized processes to achieve better results in solving software quality problems [114]. Analyzing the script method in the context of quality assurance of software systems, we note that this is an approach to testing, which involves the development and implementation of specific sequences (scenarios) of actions to check the functionality and properties of the software [6]. Brainstorming methods can be used in the development of test scenarios, identification of potential defects and collecting requirements for testing. According to ISO/IEC 9126 (Software Engineering  Product Quality): ISO/IEC 9126 is related to the quality of the software. Brainstorming methods can be used in determining the requirements for functionality, reliability, ease of use, etc. Below are examples of how brainstorming can be used in the context of quality assessment of software systems:  ISO/IEC 25010 (Square): ISO/IEC 25010 Standard “Systems and Soft- ware. Model of Quality and Assessment” determines the software quality model. Brainstorming methods can be used in determining the requirements, as well as in the analysis and planning of testing to ensure the completeness and variety of test scenarios;  IEEE 730 (Standard for Software Quality Assurance Processes): The IEEE 730 Standard defines the quality assurance processes. IstQB (International Software Testing Qualifications Board): ISTQB initiative defines standards for certification of software testing professionals. It is worth noting that the standards do not fully specify the fulfillment of the completeness of the use of brainstorming methods, they provide context and principles for the introduction of creative and collective approaches to solving problems in the quality of software systems. In Table 2 the generalized characteristics of methodological directions of qualitative methods in the spectrum of quality of software systems are given. Brainstorming methods can be successfully integrated into these standardized processes to achieve better results in solving software quality problems [114]. Analyzing the script method in the context of quality assurance of software systems, we note that this is an approach to testing, which involves the develop- ment and implementation of specific sequences (scenarios) of actions to check the functionality and properties of the software [6]. Brainstorming methods can be used in the development of test scenarios, identification of potential defects and collecting requirements for testing. According to ISO/IEC 9126 (Software Engineering —Product Quality): ISO/IEC 9126 is related to the quality of the software. Brainstorming methods can be used in determining the requirements for functionality, reliability, ease of use, etc. Below are examples of how brainstorming can be used in the context of quality assessment of software systems:  ISO/IEC 25010 (Square): ISO/IEC 25010 Standard “Systems and Software. Model of Quality and Assessment” determines the software quality model. Brainstorm- ing methods can be used in determining the requirements, as well as in the analysis and planning of testing to ensure the completeness and variety of test scenarios;  IEEE 730 (Standard for Software Quality Assurance Processes): the IEEE 730 Standard defines the quality assurance processes. IstQB (International Soft- Use of methods and tools for ensuring software quality Системні дослідження та інформаційні технології, 2025, № 3 67 ware Testing Qualifications Board): ISTQB initiative defines standards for certi- fication of software testing professionals. It is worth noting that the standards do not fully specify the fulfillment of the completeness of the use of brainstorming methods, they provide context and principles for the introduction of creative and collective approaches to solving problems in the quality of software systems. In Table 2 the generalized characteristics of methodological directions of qualitative methods in the spectrum of quality of software systems are given. Quantitative methods used to evaluate the quality of software systems have the following basic generalized characteristics:  quantitative formalization of problems: quantitative methods allow to structure and formalize problems using quantitative indicators and parameters. Provides objectivity and quantitative evaluation of system parameters; T a b l e 2 . Generalized characteristics of methodological directions of qualitative methods in the spectrum of quality assessment of software systems The name of the methodological direction Description Advantages and disadvantages Testing It includes the execution of programs in order to detect errors or deficiencies Effectively detects some types of errors, helps to confirm compliance with requirements. Cannot guarantee the absence of all errors, testing costs may be high Code analysis Expert analysis of soft- ware code to identify po- tential problems or ineffi- ciencies Can reveal code complexity, potential vulnerabilities. Limited to the quality of the code, it is difficult to detect certain types of errors Automated quality analysis tools Using tools for automated code quality analysis and error detection Reduces dependence on the human factor, quickly detects common problems. May under- estimate context and complex aspects of code Code check Code review by the development team to iden- tify errors and improve quality Attracts experts, promotes knowledge exchange, is effective in identifying shortcomings. Requires time and effort from the development team Quality modeling Use of mathematical models Allows to carry out quality analysis before product release Specified in Table 2 methodological directions can be used separately, or in combination to achieve a more accurate and complete assessment of the quality of software systems. In Fig. 2 shows a scheme of complex contextual basis-view generalization of basic modern quantitative methods that are used to assess the quality of software systems. Accordingly [3–4] quantitative methods within the framework of the implementation of the quality of software systems allow quantitative analysis and make sound solutions based on numerical data and system parameters:  quantitative formation of variants: quantitative methods help to create differ- ent variants of system implementation, taking into account quantitative aspects. Pro- vides objectivity and quantitative evaluation of the possibilities of different options;  quantitative evaluation of operation options: used to quantify the effi- ciency and suitability of different options for the system. Allows objective analy- sis and comparison of different scenarios of system use; A.S. Shantyr ISSN 1681–6048 System Research & Information Technologies, 2025, № 3 68  application in the presence of analytical dependencies: quantitative meth- ods are effectively used when the possibility of expression of the system analyti- cally allows quantitative characteristics. Provides accuracy and objectivity in the presence of quantitative data. The modular testing method is closely linked to the concept of software testing and arose in the context of software testing. However, the specific term “modular testing” and its methodology received significant flowering through a movement known as “Extreme Programming” (XP), which began in 19902000 (developers: Kent Beck and his colleagues). XP is a software development methodology that defines certain practices and principles to improve the quality and speed of development. It should be noted that modular testing involves writing automated tests for each individual “module” of the code before its integration into the system. The essence of this method is to create the maximum number of automated tests for the individual components of the program and run them during development to detect errors in the early stages. Complex contextual basis-view generalization of basic modern quantitative methods that are used to assess the quality of software systems Quantitative methods for software systems quality assessment Generalized purpose: at the complex level within the framework of the outline of the basic spectrum of problem solving from the qualitative evaluation of the software systems “quantitative methods” used for formalization of problems, creation of options and quantitative evaluation of the possibilities of operation of the system. It is rational to apply them in cases where quantitative characteristics or evaluation of system parameters are possible. Accordingly, these methods provide a quantitative analysis of variational assessments of the quality of software systems and the calculation of the characteristics of data of systems in the process of evaluating their real operational operation Low abstraction methods within the implementation of the quality assessment process are based on the analysis of resource efficiency, errors resistance, performance optimization, code safety, scalability, networking optimization and input, resource control and hardware High -level abstraction methods within the implementation of the quality assessment process are based on the analysis of f Methods of abstraction are usually based on the interaction between different software components.unctionality, reliability, performance, safety, compatibility, ease of maintenance, portability and user satisfaction Combinations of methods of 3 levels: a system of system analysis based on quantitative methods of quality assessment of software systems involves quantitative consideration of various aspects and interaction of the components of the system to evaluate their efficiency and quality Methods of abstraction are usually based on the interaction between different software components Fig. 2. Scheme of complex contextual basis-view generalization of the main modern quantitative methods that are used to evaluate the quality of software systems Use of methods and tools for ensuring software quality Системні дослідження та інформаційні технології, 2025, № 3 69 Integration testing is an important component of the quality assessment of software systems and is usually performed at the development stage when the different components of the software system are grouped into a single system. The main purpose of integration testing is to check the interaction between these components, as well as integrated system functions. Different approaches and techniques are used in the integration testing process, such as:  testing of modules on isolation: before integration of modules into the system, each module is tested separately to check its functionality and compliance with requirements;  interface testing: an important step in integration testing is to check the interaction between components through their interfaces. This may include data testing between modules and verifying the data of data integrity;  testing of the interaction of components: after the integration of the mod- ules test the interaction between them, convincing that they work properly to- gether and perform the expected functions;  exception and error testing: integration testing also includes checking the system response to exceptional situations and errors, such as incorrect data or in- accessible resources;  productivity testing: during integration testing, performance tests are also performed to ensure that the system works efficiently and is capable of processing the load caused. The purpose of integration testing is to ensure the high quality of the soft- ware system by identifying and solving problems related to the integration of components. This allows you to ensure the correct and reliable operation of the system as a whole. In Table 3 the results of the analysis of the main mathematical models involved in integration testing and quality assessment of software systems are presented. From Table 3 it is clear that each model has its own unique essence and purpose, which affects the process of evaluating the quality of software systems. The interaction matrix and interaction graphs allow the visualization of the structure and interaction between the components of the software system, which contributes to the identification of weaknesses and the analysis of the complexity of interaction. Models of interaction, in turn, enable a mathematical description of this interaction, which allows to carry out a deeper analysis and forecasting of the behavior of the system. It should also be noted that when choosing models to evaluate the quality of software systems, it is important to consider their advantages and disadvantages, as well as the context of the project and the specifics of the system. The combina- tion of different models can be useful to obtain a more complete view of the sys- tem’s state and test efficiency. The constant integration method (CI) is a key practice in the field of soft- ware development aimed at improving the quality of software systems. The main idea of the CI is to regularly and automatically combine code changes in a com- mon repository and perform automatic tests to check the correctness of these changes. Below is a description of the constant integration method and its impact on the quality assessment of software systems:  code changes automated: developers regularly make changes to the pro- ject code. Thanks to the CI, these changes automatically merge (integrate) into the main branch of the repository. This allows you to identify conflicts and other problems before they get into the production environment; A.S. Shantyr ISSN 1681–6048 System Research & Information Technologies, 2025, № 3 70  automatic tests: after each change of change, the CI system automatically starts tests that check the functionality, performance, safety and other aspects of the software system. This allows you to identify possible problems during the ear- ly stages of development; T a b l e 3 . Analysis of basic mathematical models involved in integration testing and quality assessment of software systems Mathematical model Essence Appointment Advantages Disadvantages Interaction matrix Representation of interaction between components in the form of a matrix Visualization and analysis of the interaction structure, identification of “weak places” Ease of use, quick identification of defects Does not take into account the dynamics of interaction, limited in use for complex systems Interaction graph Representation of interaction between compo- nents in the form of a graph Visualization and analysis of complex interaction, detection of cycles and ways of interaction Detailed overview of the interaction structure, help with architecture analysis Difficult to use for large systems Interaction models Mathematical models describing the interaction between components Analysis and predic- tion of interaction between components, identification and elimination of shortcomings Deep interaction analysis, possibility of predicting sys- tem behavior Requires a large amount of data and computing resources, difficult to implement Probability models Mathematical models that determine the probability of various events Assessment of risks and effectiveness of testing, detection and elimination of shortcomings Objective assess- ment of efficiency and risks, the possibility of mak- ing decisions based on probability It is difficult to model all possible scenarios and factors affecting the probability Testing models Models describing the process of testing a software system Organization of test- ing, determination of the most effective approaches and strategies Systematization and structuring of the testing process, the possibility of choosing the best approaches Requires precise definition of test- ing parameters and criteria, may not be flexible enough in some situations  constant feedback: if problems are identified during the performance of tests, the developers receive notifications about it, which allows them to quickly correct mistakes and improve the quality of the code;  automated deployment: some CI systems may automatically deploy changes to the test or production environment after successful completion of the tests. This allows you to quickly and effectively introduce new functionality and correction of errors;  code quality metrics: some CI systems may include code analyzers and quality metrics that automatically estimate the level of readability, efficiency and other aspects of code quality. The constant integration method allows you to create higher quality software systems, reducing the time of detection and correcting errors, facilitating the joint work of developers and increasing the reliability of software as a whole. MODELING AND TESTING In the range of modeling of a new complex model of quality assurance of soft- ware systems, based on the combination of modular testing, integration testing and constant integration methods, it is important to keep in mind a number of ini- Use of methods and tools for ensuring software quality Системні дослідження та інформаційні технології, 2025, № 3 71 tial assumptions. In particular, given the automation of processes in our case, it is suggested that many stages of testing and integration can be automated. This means that the creation and performance of tests can be carried out without sig- nificant intervention. Given the specifics of the modular testing, it is suggested that the individual components of the program (modules) are tested in isolation from other compo- nents to ensure that they work properly isolated from other parts of the program. Given the specifics of integration testing, it is suggested that after successful modular testing, the components of the program are gradually combined and test- ed as a holistic system to believe that they are cooperating correctly. Continuous delivery involves the assumption that the processes of correction of errors, testing and release of software are automatically and continuously to ensure rapid delivery of changes and updates. Considering the needs of assembling the assembly and deployment at the complex level, it is suggested that the processes of collecting the software code and its automatic deployment into the test environment or the productive server must also be automated. Considering the need for automation tools, there is an assumption that there are appropriate tools and technologies for the implementation of automated test- ing, integration and constant integration processes. Such tools can include media for testing, version control systems, automated testing tools and more. With the above initial assumptions, you can start modeling and implementation of a new complex model of quality assurance of software systems. Mathematical apparatus for the developed new model of complex quality as- surance of software systems, based on the combination of modular testing meth- ods, integration testing and constant integration can be presented as follows. 1. Tasks of the modular testing procedure of the software system: ,uuu PNS  where uS — the overall success of modular testing; uN — the total number of wise tests; uP — predicted probability of successful passage of one modular test. 2. Tasks of the procedure testing procedure: ,sii PNS  where iS — the overall success of integration tests; iN — the total number of modular tests; iP — The probability of successful passage of one integration test. 3. Tasks of the continuous integration procedure: CC TFC  , where C — total number of committees (variable code); CF — frequency of committees; CT — total time during which committees were carried out. 4. Tasks of the procedure of continuous integration and constant delivery: CTCR / where C — total number of committees (variable code); R — the speed of releases, which is determined by the number of committees and time; СТ — the total time during which committees were carried out. 5. The task of determining the quality of the software system: RSSQ iu  , where Q — The total quality of the software system. A.S. Shantyr ISSN 1681–6048 System Research & Information Technologies, 2025, № 3 72 Subsequently optimizing the mathematical apparatus for the model of com- plex quality assurance of software systems, which is based on the combination of modular testing methods, integration testing and constant integration, may include the following characteristics and methods: Code quality metrics: used to quantify the quality of the software code. These metrics may include code coating tests, defects, test time, and more. Statistical methods: used to analyze the results of errors, test efficiency and system stability. Probability and statistics theory: used to calculate the likelihood of defects during testing, risk assessment and statistical significance of test results. Optimization methods: used to increase the efficiency of testing and select the optimal test strategies taking into account resource restrictions. Machine learning and artificial intelligence algorithms: used to automate the test analysis processes, identify anomalies and forecast possible problems. These methods and tools allow you to create a complete and optimized com- plex mathematical model to ensure the quality of software systems, which takes into account the interaction of different test methods and their impact on the qual- ity and reliability of the software. Description of the algorithm of practical implementation of the developed model. In practice, the implementation of the developed complex model of quality assurance of software systems will include several steps and stages: 1. Planning and setting up the environment:  Setting up the version control system (GIT example) for constant integration.  Installation and adjustment of tools for automated testing (for the example of JUnit for modular testing, Selenium for automated integration testing). 2. Creating tests:  Developing a set of modular tests for each component of the program.  Writing integration tests to check the interaction between components. 3. Setting up constant integration (PI):  Create configuration files for automatic assembly and testing after each committee.  Setting up integration with the task management system or notification of the developers about the results of the testing. 4. Performing tests and analysis of results:  Automatic performance of modular tests and integration tests after each committee.  Analysis of test results and detection of errors or disadvantages in the code. 5. Control of versions and releases:  Management of software versions through the version control system.  Automatic software release based on test results and successful integration. 6. Monitoring and reporting:  Monitoring the work of the continuous integration system and test results.  Generation of code quality reports, testing and testing results for analysis and improvement of the development process. This process requires the work of developers, testers and operators, as well as the introduction of a number of tools for automation of routine testing and integration tasks. The developed model of quality assurance of software systems, which com- bines modular testing, integration testing and constant integration, has several useful advantages: Improved software quality: this model allows you to identify and correct er- rors in the early stages of development, providing high quality software. Use of methods and tools for ensuring software quality Системні дослідження та інформаційні технології, 2025, № 3 73 Reducing the time for detecting and correcting errors: constant integration and continuous delivery allow you to identify and correct problems quickly, which reduces the time of development and improves the speed of product production. Testing and release automation: through automated software testing and re- lease processes, the risks of human errors can be reduced and the project stability can be reduced. Improving development efficiency: developers can focus on writ- ing code, as many routine tasks (testing, assembly, deployment) are automated. Reduced testing costs and releases: automated quality assurance processes save time and money that is usually spent on manual testing and releases. Increasing user confidence: high product quality and renewal speed helps to improve users’ reputation and trust. In general, this model helps to make the software development process more efficient, faster and reliable, which is critical in the modern fleeting world of software development. In Table 4 the results of practical testing of plowing methods and the developed model in the analy sis of the quality of the application “task management system”. T a b l e 4 . Analysis of comparison of software testing methods in the analysis of the quality of the application “task management system” Features Modular testing Integration testing Continuous integration Combination of methods (unit testing + Integration + PI) Execution time 5 hours 8 hours 12 hours 10 hours Number of detected errors 10 50 30 70 Level of automation High Average High High Stability of releases High average High High Test coverage (percentage) 90% 70% 95% 97% Stability (scale 1-10) 9 7 8 8 From Table 4 it is observed that software quality testing by the developed method takes 10 hours, which is less than continuous integration and close to the average time required for integration testing. Thus, in terms of execution time, the combined method is quite efficient. Analyzing the number of errors detected: the combined method detects 70 errors, which is more than any other testing method. This indicates its high efficiency in detecting errors in software. Analyzing the level of automation: the combined method has a high level of automation, which allows for efficient testing without significant human involvement. Analyzing release stability and stability: the combined method has a high level of release stability, which is equal to the release stability obtained with continuous integra- tion. This is important to ensure software quality. Analyzing test coverage: the combined method has the highest rate of test coverage — 97%. This indicates that it tests more parts of the software and detects more possible problems. So, from the standpoint of comparison with existing testing methods, the combined method (Unit Testing + Integration + PI) is very effective, as it combines the advantages of different approaches and ensures high quality and stability of the software. In turn, it should be noted that in order to obtain the results of practical testing of the described methods and the developed quality model during the quality analysis of the “task management system” application, various tools were used, including: Automated test frameworks: popular test frameworks were used for module test- ing and integration testing, such as like JUnit, NUnit, or PyTest. The above- mentioned test frameworks allow you to automate the execution of tests and ana- lyze their results. A.S. Shantyr ISSN 1681–6048 System Research & Information Technologies, 2025, № 3 74 Systems for continuous integration: tools such as Jenkins, Travis CI, or Git- Lab CI were used for continuous integration. These systems allow you to automate the process of building, testing, and deploying software with each code change. Code quality monitoring and analysis: code quality monitoring tools such as SonarQube or CodeClimate were used. These tools allow you to identify potential problems in your code, such as code duplication, improper use of variables, and other anomalies. Resource Usage Analyzers: profilers and performance analyzers such as VisualVM have been used to analyze the application’s resource usage, and YourKit is also possible. These tools allow you to identify performance and memory usage issues in an application. Bug trackers: used bug trackers like Jira, Bugzilla, GitHub Issues to track the issues found and fix them later. These tools contributed to obtaining practical results of testing and quality analysis of the “task management system” application using the described testing methods and the developed quality assurance model. The application of this strategy and ap- proaches is quite expedient in terms of improving configuration management pro- cesses and identifying vulnerabilities in software systems. CONCLUSIONS The analysis of the current state of the issue raised in the article showed that an important task is to further improve the methods and means of quality assurance of software systems in the context of rapid technology development. Research confirms that effective methods and quality assurances are a key element of suc- cessful development of software systems. In the course of modeling, a new com- plex model of quality assurance of software systems was developed, which is based on the combination of modular testing methods, integration testing and constant integration. The advantage of this development is to increase its adapta- tion to solving the main tasks for the quality of software systems. The results of practical research have shown that the integrated use of methods, such as modular testing, integration testing and continuous integration, better facilitates the detec- tion and correction of errors in the early stages of software development. The pro- spects for further research are to improve existing techniques, as well as to study the latest technologies that can help improve the quality of software in the future. REFERENCES 1. H. Foidl, M. Felderer, “Integrating software quality models into risk-based testing,” Software Quality Journal, vol. 26, no. 2, pp. 809–847, 2016. doi: https://doi.org/ 10.1007/s11219-016-9345-3 2. K. Sahu, R.K. Srivastava, “Predicting software bugs of newly and large datasets through a unified neuro-fuzzy approach: reliability perspective,” Advances in Mathematics: Scientific Journal, vol. 10, no. 1, pp. 543–555, 2021. doi: https://doi.org/10.37418/amsj.10.1.54 3. K. Sahu, Fahad A. Alzahrani, R.K. Srivastava, R. Kumar, “Evaluating the Impact of Pre- diction Techniques: Software Reliability Perspective,” Computers, Materials & Continua, vol. 67, no. 2, pp. 1471–1488, 2021. doi: https://doi.org/10.32604/ cmc.2021.014868 4. S. Sackey, D.-E. Lee, B.-S. Kim, “Duration Estimate at Completion: Improving Earned Value Management Forecasting Accuracy,” KSCE Journal of Civil Engineering, vol. 24, issue 3, pp. 693–702, 2020. doi: https://doi.org/10.1007/s12205-020-0407-5 5. P. Sharma, A.L. Sangal, “Building and Testing a Fuzzy Linguistic Assessment Framework for Defect Prediction in ASD Environment Using Process-Based Soft- ware Metrics,” Arabian Journal for Science and Engineering, vol. 45, issue 12, pp. 10327–10351, 2020. doi: https://doi.org/10.1007/s13369-020-04701-5 Use of methods and tools for ensuring software quality Системні дослідження та інформаційні технології, 2025, № 3 75 6. Y. Hassouneh et al., “Boosted Whale Optimization Algorithm with Natural Selection Operators for Software Fault Prediction,” IEEE Access, vol. 9, pp. 14239–14258, 2021. doi: https://doi.org/10.1109/access.2021.3052149 7. Rafa Al-Qutaish, “Quality Models in Software Engineering Literature: An Analytical and Comparative Study,” Journal of American Science, vol. 6, pp. 166–175, 2010. 8. J. Estdale, E. Georgiadou, “Applying the ISO/IEC 25010 Quality Models to Soft- ware Product,” in Larrucea X., Santamaria I., O’Connor R., Messnarz R. (eds) Sys- tems, Software and Services Process Improvement. EuroSPI 2018. Communications in Computer and Information Science, vol. 896, 12 p., 2018. Springer, Cham. doi: https://doi.org/10.1007/978-3-319-97925-0_42 9. C. Zhang B. Li, L. Wang, H. Xu, T. Shao, “A Hierarchical Model for Quality Evalu- ation of Mixed Source Software Based on ISO/IEC 25010,” International Journal of Software Engineering and Knowledge Engineering, 33(02), pp. 1–25, 2022. doi: https://doi.org/10.1142/S021819402250070X 10. Elder Bruno Evaristo Correa, Jeffson Celeiro Sousa, Antônio Jorge Gomes Abelém, Sandro Ronaldo Bezerra Oliveira, “An evaluation of Security Features based on Iso/Iec 25023 for a Distributed Autonomic Scientific Publisher Tool on a Permis- sioned Blockchain,” Journal of Information Systems and Technology Management, vol. 19, 2022. doi: https://doi.org/10.4301/S1807-1775202219020 11. J.-X. Chen, “Overall performance evaluation: new bounded DEA models against un- reachability of efficiency,” Journal of the Operational Research Society, vol. 65, issue 7, pp. 1120–1132, 2014. doi: https://doi.org/10.1057/jors.2013.57 12. M.-A. Filz, C. Herrmann, S. Thiede, “Simulation-based Assessment of Quality In- spection Strategies on Manufacturing Systems,” Procedia CIRP, vol. 93, pp. 777–782, 2020. doi: https://doi.org/10.1016/j.procir.2020.04.069 13. A. Golabchi, S. Han, S. AbouRizk, “A simulation and visualization-based frame- work of labor efficiency and safety analysis for prevention through design and plan- ning,” Automation in Construction, vol. 96, pp. 310–323, 2018. doi: https: //doi.org/10.1016/j.autcon.2018.10.001 14. P. Han, L. Wang, P.X.K. Song, “Doubly robust and locally efficient estimation with missing outcomes,” Statistica Sinica, 26(2), 2016. doi: https://doi.org/ 10.5705/ss.2014.030 15. L. Hund et al., “Distinguishing between model- and data-driven inferences for high reliability statistical predictions,” Reliability Engineering & System Safety, vol. 180, pp. 201–210, 2018. doi: https://doi.org/10.1016/j.ress.2018.07.017 Received 04.04.2024 INFORMATION ON THE ARTICLE A.S. Shantyr, ORCID: 0000-0002-0466-3659, State University of Information and Communication Technologies, Ukraine, e-mail: shantyr.a@duikt.edu.ua ВИКОРИСТАННЯ МЕТОДІВ ТА ІНСТРУМЕНТІВ ДЛЯ ЗАБЕЗПЕЧЕННЯ ЯКОСТІ ПРОГРАМНИХ СИСТЕМ / А.С. Шантир Анотація. Запропоновано розгляд ефективних методів та засобів для забезпе- чення якості програмних систем. У спектрі даної тематики розглянуто актуа- льні питання, пов’язані із забезпеченням якості програмних систем у межах реалізації аналізу методів та засобів, які застосовуються на практиці для забез- печення розроблення високоякісного програмного забезпечення. У ході моде- лювання розроблено нову комплексну модель забезпечення якості програмних систем, яка ґрунтується на поєднанні методів модульного тестування, інтегра- ційного тестування та постійного інтегрування. Перевагою цієї розробки є під- вищення її адаптування до вирішення основних завдань із забезпечення якості програмних систем. На базі розробленої моделі запропоновано стратегії та підходи щодо вдосконалення процесів управління конфігурацією та виявлення вразливостей програмних систем. Ключові слова: комплексна модель, стандарти якості, інтеграційне тестуван- ня, модульне тестування, технологічні виклики, інтеграційне тестування, не- перервне інтегрування.
id journaliasakpiua-article-301260
institution System research and information technologies
keywords_txt_mv keywords
language English
last_indexed 2025-11-09T02:11:02Z
publishDate 2025
publisher The National Technical University of Ukraine "Igor Sikorsky Kyiv Polytechnic Institute"
record_format ojs
resource_txt_mv journaliasakpiua/ba/c05b23fe61b662ec3f1174fa98e6d1ba.pdf
spelling journaliasakpiua-article-3012602025-11-09T00:01:30Z Use of methods and tools for ensuring software quality Використання методів та інструментів для забезпечення якості програмних систем Shantyr, Anton comprehensive model quality standards integration testing unit testing technological challenges continuous integration комплексна модель стандарти якості інтеграційне тестування модульне тестування технологічні виклики неперервне інтегрування This paper proposes an examination of effective methods and tools for ensuring software quality. The scope of this topic includes current issues related to software quality assurance within the context of analyzing methods and tools used in practice to develop high-quality software. During the modeling process, a new comprehensive model for software quality assurance has been developed, combining modular testing, integration testing, and continuous integration methods. The advantage of this development is its enhanced adaptability to addressing key challenges in software quality assurance. Based on the developed model, strategies and approaches are proposed to improve configuration management processes and identify vulnerabilities in software systems. Запропоновано розгляд ефективних методів та засобів для забезпечення якості програмних систем. У спектрі даної тематики розглянуто актуальні питання, пов’язані із забезпеченням якості програмних систем у межах реалізації аналізу методів та засобів, які застосовуються на практиці для забезпечення розроблення високоякісного програмного забезпечення. У ході моделювання розроблено нову комплексну модель забезпечення якості програмних систем, яка ґрунтується на поєднанні методів модульного тестування, інтеграційного тестування та постійного інтегрування. Перевагою цієї розробки є підвищення її адаптування до вирішення основних завдань із забезпечення якості програмних систем. На базі розробленої моделі запропоновано стратегії та підходи щодо вдосконалення процесів управління конфігурацією та виявлення вразливостей програмних систем. The National Technical University of Ukraine "Igor Sikorsky Kyiv Polytechnic Institute" 2025-09-29 Article Article application/pdf https://journal.iasa.kpi.ua/article/view/301260 10.20535/SRIT.2308-8893.2025.3.05 System research and information technologies; No. 3 (2025); 60-75 Системные исследования и информационные технологии; № 3 (2025); 60-75 Системні дослідження та інформаційні технології; № 3 (2025); 60-75 2308-8893 1681-6048 en https://journal.iasa.kpi.ua/article/view/301260/330990
spellingShingle комплексна модель
стандарти якості
інтеграційне тестування
модульне тестування
технологічні виклики
неперервне інтегрування
Shantyr, Anton
Використання методів та інструментів для забезпечення якості програмних систем
title Використання методів та інструментів для забезпечення якості програмних систем
title_alt Use of methods and tools for ensuring software quality
title_full Використання методів та інструментів для забезпечення якості програмних систем
title_fullStr Використання методів та інструментів для забезпечення якості програмних систем
title_full_unstemmed Використання методів та інструментів для забезпечення якості програмних систем
title_short Використання методів та інструментів для забезпечення якості програмних систем
title_sort використання методів та інструментів для забезпечення якості програмних систем
topic комплексна модель
стандарти якості
інтеграційне тестування
модульне тестування
технологічні виклики
неперервне інтегрування
topic_facet comprehensive model
quality standards
integration testing
unit testing
technological challenges
continuous integration
комплексна модель
стандарти якості
інтеграційне тестування
модульне тестування
технологічні виклики
неперервне інтегрування
url https://journal.iasa.kpi.ua/article/view/301260
work_keys_str_mv AT shantyranton useofmethodsandtoolsforensuringsoftwarequality
AT shantyranton vikoristannâmetodívtaínstrumentívdlâzabezpečennââkostíprogramnihsistem