The verification and validation of applications developed using Low-Code and No-Code platforms are essential to ensure requirements compliance, defect-free deliverables and better user experience. However, customization and integration with external systems increase security risks that must be addressed based on the seriousness of the risk.
Rapid Application Deployment (RAD) tools have been in use for many years, focusing primarily on user interface (UI) based code generation. However, in recent years Low-Code and No-Code (LCNC) platform development has revolutionized application development by making it faster and more efficient. These platforms provide predefined libraries and interfaces with drag-and-drop functionality as part of the visual development environment.
The focus of LCNC platforms is to generate applications with a complete stack of UI, middle-layer and backend services. Comprehensive verification and validation (V&V) ensures the apps meet the functional requirements and are defect-free. However, security, performance and user experience need to be part of the V&V process.
Many commercial and open-source platforms have flourished in recent years targeting business users, architects and citizen developers—many of whom are inexperienced—to create applications fast and efficiently, with little or no dependence on traditional developers. LCNC platforms let users focus on the application logic while the platform itself handles the core details around the backend systems, web services and devices.
Forrester predicts the LCNC market will grow to around $14 billion by 2024, while Gartner estimates that LC application development will account for 65% of all application development activity by 2024. Key benefits include improved efficiency, faster app development and deployment, ease of use, lower development cost and supplement to core developer activities.
LCNC platforms fall into one of two categories:
- Code generators: The platform generates executable code for the developed application, either editable or bytecode, that will run on the Microsoft Common Language Runtime (CLR) or Java Virtual Machine (JVM) engine.
- Generation of proprietary executable code: The code runs in a vendor-specific environment, limiting the user to edit source code and execute it in a separate environment.
Quality assurance (QA) and testing play key roles to ensure the application meets the requirements and desired output. Regardless of the type of output generated by the platforms, comprehensive validation is required assuming the same output might be part of the regular project deliverables in a production environment.
V&V Focus Areas
Even though LCNC platform vendors claim the generated applications are stable, functional and secure, it is advisable to take a strategic, comprehensive and rational approach during the validation process. For example, the platform’s predefined libraries and components may have been validated, but if the target application is customized and integrated with third-party systems, then validation needs to be in place.
Of course, not every application or solution being developed would get converted into a final product deliverable; a few would end up as prototypes. However, defining a formal test strategy, plan and approach will avoid future problems. Below are seven key focus areas to ensure defect-free deliverables and functional coverage with LC and NC platforms.
- Functional, Business and User Requirements Validation: Ensuring the application works the way it should requires a holistic validation process that considers all the requirements. Validation includes business process and flow, user stories, use cases, and system and nonfunctional requirements. As an application undergoes new feature and functionality changes, conduct regression testing to ensure existing functionality is not broken and progression testing to ensure validation of the new features.
- Omnichannel, Multichannel Testing: Most of the applications generated nowadays are focused on addressing the user journey across multiple interaction channels and user interfaces, including web, mobile and chatbots. Omnichannel testing should ensure user experience across different workflows. Multichannel testing should focus on validating functionality across multiple devices. This division will ensure that user workflows are seamless and user experience is not compromised.
- End-to-End Integration: Applications often require an underlying database, backend services and interface with third-party systems based on defined business and functional requirements. Although the predefined libraries and components are guaranteed to perform by the platform vendor, there is no assurance if there are issues during integration. E2E testing should focus not only on the subsystem level, but on ensuring the user journey works seamlessly across all system interfaces, including APIs, databases, web services, etc.
- Security Testing: The responsibility for handling security for the end application lies with the platform as the user’s focus is on the use case and process flow. However, problems arise when users assume the platform is handling application security and no further validation is required. For example, suppose a customer’s confidential data or connections to a corporate network are part of the integrated solution. In that case, security needs to cover both the development and deployment phases, where vulnerability assessment and penetration testing play a significant role. This is especially relevant in regulated industries such as aerospace, automotive and healthcare, where compliance with regulatory standards requires end-to-end security validation.
- Usability and User Experience Testing: Typical LCNC platform uses cases in many industries include web, mobile, chatbot, online e-commerce, workflows and complex web apps. Even though the initial focus is on developing quick prototypes for validating business requirements and concepts, in some cases, these prototypes can be reused as part of the final deliverable. In such scenarios, early validation of UI, UX and usability provides valuable insight to the business team and helps address changes. Agile development has become a defacto standard for organizations to deliver high-quality products and reduce risk. With new features being added in each sprint cycle, the initial focus should be on validation, including UX and UI design aspects.
- Test Automation: Designing and developing applications using an LCNC platform should be an iterative exercise during sprint cycles. This ensures the application developed in the initial sprint would evolve and mature in subsequent cycles. Using a test automation approach to validate UI and process flow as part of regression testing reduces the overall effort and cost. Also, the same automated test cases can be used to validate the final product deliverables. Test frameworks such as Selenium and Appium would be the starting point, and additional tools could be used depending on the application’s complexity.
- Risk-Based Testing: Product risk is inherent in any application driven mainly by functionality, reliability, performance and usability. Risk identification and assessment based on business and functional requirements help prioritize testing, ensure maximum coverage and identify critical defects early in the process.
Instead of relying on the vendor’s predefined, prebuilt components of LCNC platforms, it is essential to define and implement a robust test strategy to ensure the deliverables meet your quality targets. Standard test approaches, including those highlighted above, can be used for validation. Nonfunctional testing such as performance, stress and load are not helpful since backend services, databases and associated integration points would not be ready to carry out such testing.
As your organization starts to embrace LCNC platforms to automate and deliver applications faster, two critical V&V challenges must be addressed. First, design and implement an agile test strategy that takes into account every aspect of the application. And second, security and performance validation is paramount once the platforms are operational.
- Bratincevic, John “Citizen Developers Dominate Audience Q&A At A Recent Conference On Low Code,” May 27. 2-2020
- Press Release, “Low-Code Is the Future – OutSystems Named a Leader in the 2019 Gartner Magic Quadrant for Enterprise Low-Code Application Platforms,” Aug. 22, 2019, OutSystems
Atul Jadhav Director Engineering
MEET OUR EXPERTS
Capgemini Engineering has deep experience across multiple domains and accelerators that can help speed
the validation process and ensure the safety and high performance of LCNC platforms.