|
If you use a no-code front-end builder (like Bubble.io), I guess you could use any UI test framework to test your app. It is not the same as unit testing, but it is more global and in the end, UI tests are quite powerful to detect regressions that matter to the users. That said, if you think that unit tests are always required, then I think that you are a victim of code complexity. Let me explain. I do believe that unit testing is good to master complexity, which often becomes out of hands with classical approches because the code is complex by itself (new lib versions popping up all the time, breaking refactoring). The thing with low-code is that it lowers that complexity by proposing more declarative approaches, which are more stable and less broken when changing versions (think of a static web page for instance, you don't really need to test it that bad although the browsers versions bump all the time). I think that it is more important to be able to control complexity in order to avoid testing, rather than having to test "no matter what", like your reaction suggests. Plus, testing implies CI/CD and a lot of automation that are extremely complex to set up and consume a lot of resources. I wrote a blog post about this stand-point lately https://cincheo.com/2021/10/03/when-low-code-meets-local-fir... DISCLAIMER: I am currently working on a new low-code platform for frontend development based on the local-first paradigm. (web site: https://www.dlite.io, platform, with examples: https://plaform.dlite.io). |
> I think that it is more important to be able to control complexity in order to avoid testing,
I think that's a worthy ideal to strive for, but it's not so easy to control complexity in practice.
First, a lot of complexity arises from business logic requirements. Even if you have an "engineering" department, they're going to have limited ability to negotiate away complexity in business concerns. And many outfits who adopt No Code don't have engineering departments, and aren't well versed in engineering principles like simplifying, testing, or even keeping backups, let alone modularization, separation of concerns, loose coupling, or other approaches for managing complexity at scale.
And then there's time. It takes time to whittle something down so that it is simple and elegant. That time costs precious resources which small outfits may not be able to spare.