=Paper= {{Paper |id=Vol-3916/paper1 |storemode=property |title=Research on Quality Assurance Methods for Software Products Based on Low Code Development |pdfUrl=https://ceur-ws.org/Vol-3916/paper_01.pdf |volume=Vol-3916 |authors=Wenyuan Zhang,Jianxun Guo,Yangyang Zhang,Wenpeng Li |dblpUrl=https://dblp.org/rec/conf/iwesq/ZhangGZL24 }} ==Research on Quality Assurance Methods for Software Products Based on Low Code Development== https://ceur-ws.org/Vol-3916/paper_01.pdf
                                Research on Quality Assurance Methods for Software
                                Products Based on Low Code Development ⋆
                                Wenyuan Zhang1,*,†, Jianxun Guo2,†, Yangyang Zhang3,*,†, Wenpeng Li*,†
                                1 (China Electronics Standardization Institute, Software Engineering and Evaluation Center, Beijing 100007)
                                2 University of Twente, Drienerlolaan 5, 7522 NB, Enschede, The Netherlands
                                3 University of Skövde, Högskolevägen 1, 541 28 Skövde, Sweden




                                                   Abstract
                                                   With the acceleration of digital transformation, low-code (LC) has become an important trend in the field
                                                   of software development. Products such as LC development tools and platforms provide users with
                                                   graphical and visual programming interfaces, enabling non-professional developers to quickly build
                                                   applications and significantly improve development efficiency, function suitability and etc.. However, the
                                                   impact of LC on software engineering quality is a complex issue that involves multiple aspects such as
                                                   development processes, testing strategies, selection and integration of automation tools, and performance
                                                   testing standards. This paper aims to explore the impact of LC on software product quality and study a
                                                   software quality characteristic framework for LC development to ensure reliability, performance,
                                                   understandability and etc. when using LC.

                                                   Keywords
                                                   Low-Code, software engineering, quality characteristics 1



                                  1. Introduction                                                     and other emerging technologies provide a broader
                                                                                                      application scenario for LC. During this period, some
                                  LC is an emerging technological paradigm in the current             enterprises and platforms specializing in LC technology
                                  field of software engineering. The practical approach of            development began to emerge, such as OutSystems,
                                  this technology is to use pre made code modules for                 Mendix, etc. They greatly lowered the threshold for
                                  programming, reducing manual coding to accelerate the               software development by providing drag and drop
                                  software development process, thereby enabling                      interface components and pre-set functional modules.
                                  nonprofessional developers to participate in the                    However, the LC market at this stage is still in its early
                                  software development process. Since the 1980s, the                  stages, and there are not many products that can be
                                  process of LC transitioning from conceptual technology              widely applied.
                                  to thriving development has become one of the
                                  important drivers in today's wave of digital
                                  transformation.

                                  1.1. Initial exploration (1980-2000s)
                                  The origin of LC can be traced back to the 1980s, when
                                  early graphical programming tools and fourth
                                  generation programming languages (4GL) appeared on
                                  the market. Engineers attempted to simplify software
                                  development processes and code writing through these
                                  tools, making development work more intuitive and
                                  understandable. However, limited by the computing
                                  power and network environment at that time, the actual
                                  effectiveness of these tools was relatively limited and
                                  could not be widely popularized.

                                  1.2. Technical accumulation (2000-2014)
                                                                                                      Figure 1: The developement path of LC
                                  In the 21st century, with the rapid development of
                                  Internet technology, cloud computing, mobile Internet



                                6th International Workshop on Experience with SQuaRE Series and its        0009-0005-9868-5742(W. Zhang); 0009-0001-4065-2527(W. Li); 0009-
                                Future Direction, December 03, 2024, Chong Qing, China                   0006-4940-8527(Y. Zhang)
                                ∗ Corresponding author.                                                                © 2024 Copyright for this paper by its authors. Use permitted under
                                † These authors contributed equally.                                                   Creative Commons License Attribution 4.0 International (CC BY 4.0).

                                   Zhangwy@cesi.cn (W. Zhang); Liwp@cesi.cn(W. Li);
                                Zhangyy@cesi.cn(Y. Zhang)
CEUR
                  ceur-ws.org
Workshop      ISSN 1613-0073
Proceedings
1.3. Rapid Rise (2014 present)                              organizations, improving the efficiency of the entire
                                                            software development lifecycle.
Around 2014, as the demand for digital transformation           This article mainly focuses on the research of
in enterprises became increasingly urgent, LC               software product quality based on LC. LC here mainly
development experienced explosive growth. In 2014, the      refers to a software development technique and tool
internationally renowned consulting firm FORRESTER          pattern, which is mainly aimed at developers. By
first proposed the term and concept of LC development,      providing a visual programming interface and
which is a software development method that allows          configurable approach, it reduces the workload of
enterprises to quickly build and deploy applications with   traditional handwritten code and enables rapid
minimal coding work. At this stage, major technology        development and testing of software. Therefore, the
giants such as AWS, Google, Microsoft, and Oracle have      quality characteristic models/frameworks studied in this
successively laid out the LC market and launched a          article revolve around the impact and innovation of LC
series of LC development tools and services. A typical      on software engineering quality characteristic models.
event among them is in 2018, when Siemens acquired
Mendix, a leading enterprise in the LC field, for 600
million euros, marking the official entry of LC
                                                            2. Analysis of the Impact of LC
technology into the mainstream.                             2.1. Key features of LC
                                                            Compared with traditional software products, software
                                                            products developed based on LC have the main
                                                            advantages of improving development efficiency,
                                                            reducing technical barriers, promoting collaboration
                                                            between business and IT, and utilizing modular code
                                                            modules to achieve convenient development and
                                                            management throughout the entire lifecycle. LC
                                                            development has the following advantages in the
                                                            software development process:

                                                            2.1.1. Agility
                                                            LC development embodies multiple advantages when
                                                            applied to agile software development processes, which
                                                            align with the core principles of agile development,
Figure 2: Main events after 2014 [5]                        including       improving       adaptability,    enhancing
                                                            collaboration, improving efficiency, strengthening
    In recent years, with the integration and application   flexibility, and iteration. For businesses or organizations,
of advanced technologies such as artificial intelligence    they need the ability to quickly respond to market
and big data in the field of software engineering, the      changes and develop innovations based on consumer
functions of LC development tools, platforms, and other     demand. LC development compresses the consumption
products have become increasingly powerful, covering a      of design, prototyping, iteration, and other steps in the
wider range of industries and fields. They are capable of   agile development process, introduces automated
developing everything from simple form based software       testing methods, strengthens team collaboration and
to complex enterprise level systems.                        transparency, and provides better agility for enterprises,
                                                            thereby achieving the need for rapid delivery of
1.4. Current trend                                          enterprise requirements.
At present, LC is no longer limited to rapid prototyping
                                                            2.1.2. Scalability
and small-scale application development of general
software, but is increasingly being applied in enterprise   In the current market, enterprises need to be able to
level projects. Meanwhile, with the continuous              quickly adapt to market changes and easily expand the
advancement of technology, LC development related           functionality and performance of applications to meet
products are also developing towards more intelligent,      evolving business needs. The related products of LC
personalized, and open directions, providing enterprises    development continuously strengthen the basic
with more flexible and efficient development solutions.     capabilities of LC development through their own rapid
In addition, LC development promotes collaboration          iteration, expansion of cross platform and cross domain
between cross functional teams within enterprises or        data integration, expansion of integration markets and
                                                            APIs, configuration of cloud native architecture, etc.,
providing scalable underlying support for the adoption          By combining the ISO/IEC 25010:2023 standard, a
of LC development tools and platforms.                      mapping relationship can be established between LC and
                                                            software quality characteristic frameworks, which
2.1.3. Team collaboration                                   mainly have important impacts on features such as
The convenience and development efficiency of LC            functionality, performance efficiency, usability,
allow users from various business teams to participate      reliability, maintainability, and safety.
in software development together, greatly enhancing
team collaboration efficiency and driving overall project
development progress. Products mainly based on LC
platforms are mainly developed on cloud services,
providing users with consistent development standards
and standardized component libraries, establishing clear
roles and division of labor within the team, improving
software version control efficiency, and enabling cross
departmental and cross project work. This helps
development teams maintain and update code more
easily, achieving a significant improvement in team         Figure 3: The correlation between LC characteristics
collaboration efficiency.                                   and software quality characteristics

2.1.4. Quality Assurance [6]                                3. Research on Quality Assurance
As LC applications move beyond the prototype stage             Methods for Software Products
and become part of the IT environment, they begin to
pose challenges in terms of design culture, enterprise
                                                               Based on LC Development
processes, security, and performance. The LC platform       Based on the above research on LC characteristics,
supports automated testing by providing preset              combined with the software quality characteristic model
components and logic, as well as a large number of          described in the current international standard ISO/IEC
testing and debugging tools, helping developers discover    25010, research is conducted around the quality
and solve problems in a timely manner, significantly        characteristics and requirements of LC. Based on 9
reducing errors, defects, and maintenance work caused       quality characteristics, we will focus on exploring the
by human coding, and improving software quality and         beneficial impact of LC on software quality
stability.                                                  characteristics for development tools, platforms, and
                                                            software products formed from LC, and form a quality
2.1.5. Modular assembly                                     characteristic framework for LC. [7]
The biggest feature of software development based on
LC is the use of fully tested code modules for intuitive    3.1. Functional Suitability
assembly and integration through graphical or visual        The functional suitability of software involves the ability
means, which can significantly improve development          to meet explicit and implicit requirements, including
efficiency, reliability, and code readability, creating     functional integrity, functional correctness, and
conditions for subsequent maintenance and integration       functional appropriateness. LC brings about
of complex systems.                                         improvements in development efficiency, reusability,
                                                            maintainability, and other functions during software
2.2. Improvement of Software Quality                        development, which further supplements and updates
        Characteristics by LC                               the requirements of traditional software quality
LC development significantly improves the efficiency        characteristics.
and quality consistency of software development by              LC provides users with a series of components,
providing users with standardized and modular code or       templates, visual design tools, and graphical
model components, as well as graphical and visual           programming interfaces built through a LC platform.
development interfaces. It simplifies the software          These elements have undergone rigorous testing and
development and testing process, enhances security and      validation to meet the functional requirements of users
reliability, improves software maintainability and user     for rapid programming. Combining the new features
experience, strengthens project management and risk         brought by LC such as reusability and support for
management, and thus enhances the quality                   automation, LC compliance has improved and perfected
management level of a software project at multiple          the various sub feature requirements of functionality.
levels.
    To meet the quality requirements of LC, the              ease of understanding, ease of learning, usability, user
following new requirements should be proposed for            error protection, user interface aesthetics, and
functionality: through user interviews, survey               accessibility. By using the LC in development process,
questionnaires, user story mapping, and other methods,       there are some advantages like reducing the learning
a deep understanding of user pain points and needs           curves of users, enhancing collaboration capabilities,
should be achieved. Enhance methods for user research        plug-in architecture, and scalability. Those advantages
and requirement gathering to ensure that software            will bring some new requirements to address the quality
functionality truly meets users' actual needs. Verify the    characteristics of traditional software.
integrity of functionality through comprehensive                 To meet the quality requirements of LC, the
testing, including unit testing, integration testing, and    following new requirements should be proposed for
system testing. Implement code review and refactoring,       usability: development platforms such as LC platforms
adopting design patterns and best programming                should provide a simple and intuitive interface, allowing
practices. Adopting microservice architecture or plugin      users to quickly build data tables, design user interfaces,
system, supporting dynamic expansion of functions.           and configure workflows through click operations.
                                                             Users' learning costs should be reduced by providing
3.2. Performance Efficiency                                  rich pre-built templates and component libraries.
                                                             Support multi-user collaborative development, provide
The performance efficiency of software involves the
                                                             version control and real-time collaboration functions to
ability of software products to provide appropriate
                                                             improve team efficiency. Adopting a microkernel and
performance under specific conditions, including time
                                                             plugin architecture design, allowing users to customize
behavior, resource utilization, and capacity. The
                                                             and extend system functions according to their needs to
resource utilization improvement, integration process
                                                             meet specific business requirements. We should provide
simplification, automated testing deployment, quality
                                                             users with flexible customized data models based on
control and other functional and performance
                                                             business needs, optimize data migration and processing
improvements brought by LC have put forward new
                                                             processes, in order to improve the efficiency of data
requirements for quality feature frameworks.
                                                             management.
    LC provides users with automated deployment
capabilities, pre configured APIs, intelligent integration
                                                             3.4. Reliability
tools, quality control, and version control tools through
LC tools and platforms, which greatly assist developers      The reliability of software involves the ability of a
and maintainers in improving quality and stability in        product to maintain its performance level under
their work, and enhance performance efficiency               specified conditions, including maturity, availability,
requirements.                                                fault tolerance, and recoverability. In response to the
    To meet the quality requirements of LC, the              improvement of data security, system stability, code and
following new requirements should be proposed for            vulnerability review, compliance, and other aspects
performance efficiency: clarify users' requirements and      provided by LC, corresponding new requirements
functional characteristics for LC tools and platforms,       should be put forward to address the quality
conduct performance and functional optimization self         characteristics of traditional software.
inspection checklists, and form product selection                Data encryption and protection measures should be
guidelines. Propose that LC products should maintain         provided to ensure the security of data during
stable performance requirements in high concurrency          transmission and storage in various usage scenarios. A
situations to avoid performance bottlenecks. LC              high availability architecture should be provided to
platforms should provide powerful integration                ensure the stable operation of applications, reduce
capabilities that seamlessly integrate with existing         system failures and interruptions. Regular code audits
enterprise systems and third-party services, including       and vulnerability scans should be conducted to detect
support for APIs, data synchronization, and business         and fix potential security vulnerabilities. Should comply
process integration. Automated testing should be             with data protection regulations, support compliance
supported to ensure the quality of applications during       best practices, and help meet industry standard
development, and continuous integration/continuous           requirements.
deployment (CI/CD) processes should be supported to
achieve fast and reliable application deployment.            3.5. Maintainability
                                                             The maintainability of software involves the ability of
3.3. Usability                                               software products to be modified, including
The usability of software involves the level of effort and   analyzability, modifiability, testability, and reusability.
satisfaction of users when using the product, including      LC provides the ability to improve maintenance
efficiency, simplify error fixes, enhance readability and   4. Conclusion
consistency in the software lifecycle process, and puts
forward new requirements for traditional processes.         LC development has brought new vitality to the field of
     In terms of maintainability, LC should be based on     software engineering, providing new solutions to the
the characteristics of the technology itself, and quality   cumbersome development process, but at the same time,
requirements should be further improved: code               it has had many impacts on quality management. On the
generated by LC tools and platforms should have clear       one hand, it significantly improves development
comments and follow consistent naming conventions,          efficiency, but on the other hand, it brings challenges to
while providing detailed development and maintenance        code quality and maintenance. By exploiting the
documentation. It should support a highly modular           software quality model in ISO/IEC 25010:2023, a set of
architecture, allowing each functional module to be         quality characteristics suitable for LC development,
independently developed, tested, and deployed. Built in     testing and delivery is proposed, which can effectively
automated testing tools and seamless integration with       ensure the quality and performance of LC applications.
CI/CD processes ensure that every change is tested.         This requires close collaboration between development
Developers should be allowed to extend the                  teams, testers, and maintainers, as well as a deep
functionality of their applications by writing custom       understanding of LC platforms and tools. In the current
code or using APIs provided by the platform. Strict data    situation where LC has become a trend in software
security measures should be implemented to ensure           engineering development, it is necessary to
compliance with industry regulations and standards.         continuously clarify and refine specific requirements in
                                                            conjunction with quality characteristic models, in order
3.6. Safety                                                 to make greater contributions to the improvement of
                                                            software product quality.
The safety of software is a quality characteristic added
to the ISO/IEC 25010: 2023 standard, which involves the
safety performance of products under specific
                                                            References
conditions, including operational constraints, risk         [1]   LC Development: A Game Changer for Software
identification, fault safety, hazard warning, and safety          Engineering. IEEE Software, 2023.
integration. LC can help build safer and more reliable      [2]   The Impact of Low-Code Platforms on Software
software applications by reducing human errors,                   Quality and Maintenance. ACM Transactions on
improving system stability, simplifying fault diagnosis,          Software Engineering and Methodology, 2023.
and enhancing maintainability.                              [3]   Best Practices for Testing Low-Code Applications.
    In order to meet the quality requirements of LC               Software Quality Journal, 2023.
products, some new safety requirements have been            [4]   Richardson, C., Rymer, J.: New Development
proposed: it should be ensured that LC platforms                  Platforms     Emerge       for     Customer-Facing
provide powerful error handling mechanisms that can               Applications. Forrester Research, Cambridge
capture, record, and respond appropriately to abnormal            (2014)
situations to prevent system crashes and data corruption.   [5]   Davide R., Dimitris K.:Low-code development and
A highly fault-tolerant system architecture should be             model-driven engineering: Two sides of the same
designed to ensure that the system can continue to                coin? Software and Systems Modeling (2022)
operate in the event of component failure, such as                21:437–446, https://doi.org/10.1007/s10270-021-
through redundancy and mechanisms. Those                          00970-2
mechanisms are also defined in ISO standards for            [6]   Noebauer, M., Dhungana, D., Groher, I. (2023).
Functional Safety and affects quality measures. Regular           Quality Assurance in Low-Code Applications. In:
security audits should be conducted on LC platforms and           Yilmaz, M., Clarke, P., Riel, A., Messnarz, R. (eds)
built applications to identify potential risk points and          Systems, Software and Services Process
take       corresponding        mitigation     measures.          Improvement. EuroSPI 2023. Communications in
Comprehensive testing tools should be provided,                   Computer and Information Science, vol 1890.
including unit testing, integration testing, and stress           Springer, Cham. https://doi.org/10.1007/978-3-
testing, to ensure the stability and performance of the           031-42307-9_3
application. It should be ensured that the decision-        [7]   ISO/IEC 25010:2023 Systems and software
making logic and data processing flow of LC platforms             engineering — Systems and software Quality
are transparent to developers and security experts, and           Requirements and Evaluation (SQuaRE) — Product
can be reviewed and verified.                                     quality model