Bubble provides built-in testing tools including Preview mode for interactive testing, the Step-by-step Debugger for inspecting workflow execution, Server Logs for backend monitoring, and the Issue Checker for finding configuration problems. Create test user accounts with different roles to verify permissions, and use test data to exercise all workflows before deploying to live.
Test Your Bubble App Thoroughly Before Going Live
This tutorial covers all the testing tools Bubble provides and how to use them effectively. You will learn to use the Debugger for step-by-step workflow inspection, Server Logs for backend monitoring, the Issue Checker for catching configuration errors, and strategies for testing with different user roles and data sets.
Prerequisites
- A Bubble account with an app that has pages, workflows, and data
- At least one Data Type with sample records
- User authentication set up with at least two roles
Step-by-step guide
Use Preview Mode for Interactive Testing
Use Preview Mode for Interactive Testing
Click the 'Preview' button in the top-right of the editor to open your app in a new tab. This runs the development version of your app where you can interact with it as a user would. Test all user flows: sign up, log in, create records, navigate between pages, and submit forms. Check responsive behavior by resizing the browser window. Preview mode connects to your development database, so any data created here does not affect your live app.
Pro tip: Use Preview in an incognito window to test as a logged-out user while staying logged in as an editor in your main window.
Expected result: You can interact with your app and test all user-facing features in the development environment.
Enable and Use the Step-by-Step Debugger
Enable and Use the Step-by-Step Debugger
In Preview mode, click the 'Debugger' button at the bottom of the page. Enable 'Step-by-step' mode. Now when you trigger a workflow (e.g., click a button), the debugger pauses at each action and shows you: which action is running, what data is being used, and the result of each step. Click 'Next' to advance through each action. This lets you see exactly what happens in your workflows, what values dynamic expressions evaluate to, and where things go wrong.
Expected result: You can step through any workflow action by action, inspecting data values at each step.
Check Server Logs for Backend Issues
Check Server Logs for Backend Issues
Go to the Logs tab in your editor. Server Logs show every workflow execution, API call, and error on the server side. Filter by date range, log level (error, warning, info), and workflow type. Look for red error entries — click on them to see details including the error message, which workflow failed, and which action caused it. Server Logs also show workload unit consumption per action, helping you identify expensive operations.
Pro tip: On free plans, Server Logs are retained for only 6 hours. Check them frequently or upgrade to a paid plan for longer retention.
Expected result: You can identify server-side errors, failed workflows, and high-WU operations in the logs.
Run the Issue Checker
Run the Issue Checker
Click the 'Issue Checker' icon in the editor toolbar (it looks like a warning triangle). The Issue Checker scans your entire app for configuration problems: missing data sources, broken dynamic expressions, elements referencing deleted fields, and invalid workflow conditions. Fix critical issues (red) first, then address warnings (yellow). Run the checker after every major change to catch problems before they affect users.
Expected result: The Issue Checker identifies and lists all configuration problems in your app with suggested fixes.
Create Test Users and Data for Role-Based Testing
Create Test Users and Data for Role-Based Testing
Go to Data tab → App data → User. Create test accounts for each role: 'testuser@example.com' (regular user), 'testadmin@example.com' (admin), 'testagent@example.com' (agent/support). Set the appropriate role field on each. In Preview mode, log in as each test user and verify: regular users can only see their own data, admins can access the dashboard, agents can manage tickets, and so on. Create sample data for each Data Type to test Repeating Groups, searches, and calculations.
Expected result: Test accounts exist for each role, and you have verified that permissions work correctly for each user type.
Test Edge Cases and Error Handling
Test Edge Cases and Error Handling
Test scenarios that users might encounter: submit a form with empty fields, enter invalid email formats, try to access a page without being logged in, upload a very large file, click the same button rapidly, and navigate to a URL that does not exist (404 handling). For each edge case, verify that your app shows an appropriate error message, redirects correctly, or prevents the action. Use the Debugger to trace unexpected behavior.
Expected result: Your app handles edge cases gracefully with proper error messages and no broken states.
Complete working example
1TESTING CHECKLIST231. PREVIEW MODE TESTS4 □ Sign up flow works5 □ Login flow works6 □ All navigation links work7 □ Forms submit correctly8 □ Repeating Groups display data9 □ Conditional visibility works10 □ File uploads work11 □ Email notifications send12 □ Responsive layout at mobile widths13142. DEBUGGER CHECKS15 □ All workflow actions execute in order16 □ Dynamic expressions evaluate correctly17 □ 'Result of step X' references work18 □ Conditional actions fire/skip appropriately19 □ No unexpected null values in expressions20213. SERVER LOG REVIEW22 □ No red error entries23 □ Backend workflows complete successfully24 □ API calls return expected responses25 □ Workload unit usage is reasonable26274. ISSUE CHECKER28 □ Zero critical (red) issues29 □ All warnings reviewed and addressed30 □ No broken dynamic references31325. ROLE-BASED TESTING33 □ Regular user: can only see own data34 □ Admin: can access admin pages and all data35 □ Agent: can manage assigned items36 □ Logged-out user: redirected from protected pages37386. EDGE CASES39 □ Empty form submission → shows validation errors40 □ Invalid email format → rejected41 □ Duplicate submission → prevented42 □ Large file upload → handled or rejected gracefully43 □ 404 page → custom not-found page shown44 □ Rapid button clicks → no duplicate records createdCommon mistakes when testing a Bubble app in preview mode
Why it's a problem: Only testing as the app creator (admin)
How to avoid: Create separate test accounts for each user role and test as each one. Use 'Run as' feature if available.
Why it's a problem: Not testing backend workflows in the Logs
How to avoid: Always check Server Logs after running backend workflows. Look for error entries and verify the expected records were created/modified.
Why it's a problem: Testing only the happy path
How to avoid: Create a testing checklist that includes empty inputs, invalid data, rapid clicks, and unauthorized access attempts.
Best practices
- Test every workflow with the Step-by-step Debugger at least once before going live.
- Create test user accounts for each role and test permissions thoroughly.
- Check Server Logs for errors after any backend workflow changes.
- Run the Issue Checker after every major feature addition.
- Test on mobile devices (or narrow browser windows) for responsive layout issues.
- Create realistic test data — avoid testing with just one or two records when your app will have hundreds.
- Document known issues and their expected behavior for other team members.
Still stuck?
Copy one of these prompts to get a personalized, step-by-step explanation.
I'm about to deploy my Bubble.io app to live. What testing should I do first? I have user roles (admin, agent, regular user), forms, backend workflows, and API integrations. Give me a comprehensive testing checklist.
Help me test my app. Walk through all pages and identify potential issues. Check that all workflows have proper error handling, forms have validation, and privacy rules are correctly configured.
Frequently asked questions
Can I test backend workflows without deploying to live?
Yes. Backend workflows run in the development environment during Preview. Check the Scheduler tab (under Logs) to see queued and completed backend workflows, and Server Logs for execution details.
How do I test as a different user without logging out?
Open an incognito or private browser window for each test user. This lets you be logged in as different users simultaneously.
Does test data in Preview affect my live app?
No. Preview uses the development database, which is separate from the live database. Data created in Preview only exists in development until you manually push data to live.
How do I test email notifications without sending real emails?
Bubble sends emails in development mode to the app creator's email by default. Check your inbox (and spam folder) for test emails. Use the Server Logs to confirm the Send Email action executed.
What should I do if I find a bug right before launch?
Use the Debugger to isolate the exact failing action, fix it, and re-test. For complex bugs, RapidDev can help diagnose and fix issues quickly so you do not delay your launch.
How often should I test my app?
Test after every significant change. Before deploying to live, run through your full testing checklist. Establish a regular testing schedule for ongoing maintenance.
Talk to an Expert
Our team has built 600+ apps. Get personalized help with your project.
Book a free consultation