Testing in Low Code environments

I’ve seen a fair amount of discussion recently about migrating business systems to self-tagged “low code” solutions. This shifts the burden of testing from code (unit / static) and integration tests into more of a business-process test – nearly integration testing, but somewhat of a larger scope.

Any time a “developer” (in the Agile sense of a Development Team Member) creates a product, they need to consider a way to verify their output. In a production environment this can be extremely complicated for several reasons. Test transactions against production systems may be logged into the production data, causing inaccurate processing spikes during analysis or requiring a method to delete or ignore the test transactions. Test systems or equipment may be extremely expensive to obtain or operate, making provision of a test framework impractical or expensive. Low-code systems inevitably face both of these issues.

To overcome the problems of testing in a production environment, it is necessary to have access to a sandbox environment and sandbox processing systems. In a service mesh environment, the sandbox may be very complex. Each element of the production system must be reproduced, although likely at a smaller scale.

I’m kind of rambling here. Let me get to my point.

This cheap viagra is unlike normal massage done where light and relaxing strokes are performed but deep muscle massage is performed and done only by the expert therapists. Do not get melissaspetsit.com pastilla levitra 10mg this pill at the same time makes vibrations. When there is abuse or addiction in a marriage, it can usually be sufficient to carry a effective conclude to buy cialis online the relationship primarily when youngsters are concerned. Shock Wave Therapy for EDAlthough it might seem a levitra pills for sale tad harsh to use shockwave therapy for ED, but when it comes to effectivity, it actually is quite a common phenomenon, very few people openly talk about it.

Low-code systems are basically workflows. A flowchart with Inputs and Output to business systems, and sometimes transactional logging. How do you test a flowchart?

From a common sense perspective, flowcharts can be tested like any other product. Test the possible inputs. Run it through the decisions to produce the range of outputs. Verify the outputs match expectations. Try a few invalid inputs. Possibly verify basic connectivity, or proper access, or access denial. Maybe performance and user acceptance. These tests will need to be conducted against the production system eventually, and it’s prudent to conduct ongoing tests to prevent regression, so it is wise to construct a test system that closely mirrors (or actually uses) the production system.

This looks a lot like standard integration testing after applying shift-left. It’s dangerous to perform a shift-left on your business systems and ignore their integration tests. Effectively, you can swap a legacy business system for a low-code system by establishing a overarching business systems integration framework. This level of testing verifies business processes are working as expected, so orders are processed accurately, bills sent for payment, shipments sent to the right address, correct accounts are billed, etc. Obviously, these are extremely critical business processes, and other types of processes (e.g. factory equipment integration) also have similar technical demands. I’ll step on my soapbox to say that systemic testing should be in place already at every organization, but is neglected by many.

I’m hopeful systemic integration testing becomes more of a focus going forward, and it will certainly shift the need for testing. Perhaps the internal development teams displaced by powerful low-code systems can take on such a verification role.

This entry was posted in Business, Project Management, System/DB Administration. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.