=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==
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