Bubble has changed the way developers build applications, especially for those without a traditional coding background. But working with no-code tools still requires following engineering best practices. As more no-code apps start using AI, following these practices has become more important than ever. One such practice is Test-Driven Development (TDD), a methodology that ensures software quality by writing tests before implementing functionalities.
A ātest firstā approach is a very good idea, but letās not confuse ātest driven developmentā with āTest Driven Development (TDD)ā from Extreme Programming. There are some good points in the article but ATDD (acceptance test driven development), BDD (Behaviour Driven Development) and Exploratory Testing is more like what is being written about.
It matters. TDD is used for unit testing individual functions. ATDD and BDD are more applicable for functional testing (the article conflates a āfunctionā as in a code function that adds numbers and a āuser functionā like a use case) on no and low-code platforms because they test end to end functionality and the stuff mentioned in the article.
Check out Brian Marickās Testing Quadrants and any of the work by Lisa Crispen, Janet Gregory, Adam Goucher or Llwellyn Falco (I know I butchered the spelling of his name)⦠and youāll find a ton of relevant stuff for the type of testing no-coders can do.
I use Selenium for my functional tests for testing permissions and generally start with āBDD-likeā statements like:
Given a new login, when the userās role is trainer and the userās active trainer status is active, the user can view .
That test has a bunch of steps in it:
go to a logout page
go to a login page, login as an active trainer
go to the trainers toolkit page
verify is present
So I have about 12 or 13 tests that test all the combinations because itās good enough to make me confident I havenāt broken any security. In the future, Iād have a data table with all the combinations and one test that loops through it.
Either way, yes, test-first is good, so Iām glad to see an article on it. TDD using the AI builder is impossible, youāre left with having to use exploratory testing (read: manual testing) because the AI builder would have built so much stuff you physically need to look at.