Gartner suggests that by 2020 at least 50 per cent of new business applications will be created not by writing code, but with high productivity toolsets like low-code platforms. It’s important that organizations recognize that these applications too, need rigorous testing before going into production.
High street UK bank TSB let down millions of customers when its attempt to migrate accounts from one IT system to another failed to go as planned. It’s a stark reminder to both business leaders and IT teams that no matter your expertise, your confidence or the pressure you are under to ‘go-live’ on new systems, there are risks. To mitigate those risks, you must always plan for and undertake comprehensive testing. Prepare to test, or you’re preparing to fail.
It’s well understood that testing is crucial before bringing critical new applications into production. But it’s not just applications coded by skilled developers that need testing. Applications developed using high productivity, low-code platforms must be rigorously tested too. Low-code visual modelling speeds development and invites a wide range of non-technical staff to develop applications. But these applications aren’t necessarily simple. They can be equally as sophisticated as those developed by hard-core coders. Apps built on low-code platforms like Mendix can integrate with enterprise systems, manage critical processes, access sensitive data and present a commercial face to customers. When evaluating a low-code platform, it’s imperative to review the testing capabilities.
Here are four tips to creating an effective test program around your low-code development initiatives:
1. Talk to your software testing team
Ask your test team how closely you need to collaborate during development and before go-live. Are they happy with the testing elements that come built-in with your low-code platform? If you are planning on using a low-code platform in a DevOps environment, how well does your platform knit with your organisation’s DevOps processes?
2. Start early
Spotting and fixing bugs early is the name of the game. The cost of rectifying defects rises as development advances. Discovering them when your application is in production can be very expensive and time-consuming indeed. Solving issues in the early stages of development ensures a more stable product and prevents the embarrassment that comes from complaining customers and even negative publicity and resultant brand damage.
Using low-code platforms to speed innovation means releasing more often, and faster. If you wish to maintain speed to market without significantly increasing the time spent on testing, than you need the right testing tools. Using automated tests is essential for maintainability and keeping application development productivity constant.
4. Test the right things!
While you absolutely want to ensure business functionality is right, you must also consider many of the same aspects to testing applications as for those written by developers who code. Consider any external interfaces, like web services and/or app services. Consider any custom logic in the form of microflows and create unit tests, especially the most used and most complex flows. Consider your user stories, and create acceptance tests based on whether the application functionality meets the specifications within each story.
Let’s go into a bit more detail around the 4th point; Test the right things. Let’s drill into a few ‘things’ and how to test them within applications built on low-code platforms.
To test web services, you need to create integration tests. An integration test is designed to validate component integrations. You might want to consider using SoapUI for this. It’s an open source tool for testing web service and application programming interfaces (APIs). It’s based on a Web Service Description Language (WSDL) and is widely used by developers and testing teams the world over. Testing microflows is all about unit testing to check small parts or components of an application using test scripts. You can use unit testing tools to specify alternative configurations and mock existing functionality and dependencies (like databases), to isolate the specific code you want to test. A good low-code platform will come with its own test module allowing you to easily write, manage and run unit tests.
Testing the application meets user expectations requires first checking it for functionality and quality against your user stories. You’ll need to design your own tests, based on what users have expressed as their needs within their stories. There are many tools on the market to assist here, including Selenium IDE. It’s a really easy-to-use Firefox plug-in that allows you to create acceptance tests by navigating through your application while recording your actions.
Whether you’re a professional coder, a skilled developer who enjoys the speed of low-code or you’re a citizen developer new to application development, you must be sure the apps you build adhere to the highest enterprise security standards, are legally compliant (think ‘GDPR’ for example) and are highly maintainable. Many low-code platforms help you to avoid deploying flawed apps. Good ones come with built-in automated testing, quality monitoring, and dashboards providing instant insight on the quality of the application models you’re building. Platforms with the best testing modules will also check for conformance with industry standards such as the ISO 25010 standard for software quality and they’ll highlight potential issues to be addressed.
Nick Ford, Chief Technology Evangelist at Mendix
Image Credit: StartupStockPhotos / Pexels