Low-Code Development: What, Why and How Does It Impact Testing?

  November 01, 2019

Low-code software development can enable organizations to build quickly, and with limited resources. But what are the implications for software testing?

What is Low-Code Software Development?

Low-code software development could be compared to a car manufacturing assembly line. Both processes automate difficult and time-consuming tasks, in order to increase delivery speed and free up people to focus on high-level tasks.

In technical terms, low-code is a set of tools that developers can use to build applications inside a drag-and-drop visual interface – including complete UI, integrations, data management, and logic.

A low-code development platform typically contains:

  • Visual IDE (integrated development environment) – an application where a developer can build the UI (user interface), workflows, and application data models. Although a low-code environment is primarily drag-and-drop, it’s often also possible to write code manually too.
  • Connectors for back-end and services – including data structure, storage, and retrieval.
  • Application Lifecycle Management (ALM) software tools that enable a developer to develop, debug, deploy, and maintain software throughout testing, staging, and production.

Why Develop Software in a Low-Code Environment?

Low-code software development can enable developers to achieve more, in less time – which offers obvious business benefits.

A developer in a low-code environment could skip repetitive work and have an MVP in front of potential customers, while a traditional developer is still playing around with Javascript frameworks.

It’s important to recognize that low-code doesn’t diminish the value or importance of software developers. Instead, low-code empowers developers to create value more rapidly, by focusing on high-level user experiences – rather than getting bogged down in technical tasks that could be automated.

Low-code can empower cash-strapped organizations to build apps

A range of organizations with limited financial resources has leveraged no-code software development to achieve business goals and deliver customer experiences that simply wouldn’t have been possible using traditional software development models.

Shelterbox is an emergency disaster relief organization that realized it needed a team of in-house developers to expand and respond to rapidly-evolving organizational requirements – but they lacked the cash to achieve this. Low-code enabled them to build the app they required.

Mencap’s care support workers rely on apps to gather information, report, and record processes, so that they can more efficiently help people with learning disabilities – and low-code helps them to achieve these goals, despite limited resources.

Zac Taylor, a care support worker at Mencap, explained, ‘There is a lot of information that we gather from people and lots of ways of working that we want to make smoother and make the digitization of stuff better. In particular, because we are a large organization, very dispersed, we would like to ease the burden on teams and also the reporting and recording processes for the people working directly with individuals.

‘Low Code enables organizations to bring about those changes in a sustainable way. It’s quick, it’s fast, it attends to business imperatives. For an organization like us, you get a chance to test stuff and move it on at a rapid rate. For us, it’s a product that enables people to lead a better quality of life and anything that helps that happen quickly will be useful. This applies to anything when you are working with humans.’

How Does Low-Code Software Development Impact Testing?

Low-code development can reduce the need for some aspects of software testing. However, it’s important to recognize where it’s still important to test thoroughly.

Low-code development platforms are typically built with a certain degree of application security that’s tested and continuously monitored. Crucially, this testing has taken place early in the SDLC (Software Delivery Lifecycle), which is a tenant of the ‘Shift Left’ approach to software testing – and can mitigate the risk of expensive architectural errors that are discovered late in an app’s development.

Unit testing can be largely avoided in a low-code environment because drag-and-drop units are typically unit-tested already. Custom code could introduce reasons to unit test – although a Visual IDE will often include inbuilt unit test capabilities. Code coverage is also less relevant, as any defects should be caught in later test phases.

However, a low-code visual IDE could potentially expose data – for example, via a database solution, or an online form builder. It’s important to check that your low-code development platform will inform you if data is collected, or its state is altered. You could alternatively run an audit to cover data protection.

Automated API testing is crucial. Many low-code platforms include the ability to add APIs, which so many of today’s apps depend on. However, it’s important to remember that your visual IDE doesn’t actually control these APIs – and an API can be updated by its owner, without warning or consent.

Low-code development offers powerful business benefits for organizations that need to build quickly, with limited resources. A test automation platform like BitBar’s AI Testbot can ensure that your low-code apps are secure and stable.