These docs are for v1.0. Click to read the latest docs for v2.0.

Selecting your first test

You are ready to start building tests in Waldo...but which test should you build first?

What kind of test should I build first?

There are several tests that can serve as solid foundational tests for your suite in Waldo. Your foundation test determines the entry point into your app, and the user state. The two we are going to walk through as good candidates for foundational tests are:

  • Sign Up
  • Sign In
📘

Starting with Sign Up

If possible, we recommend starting with a Sign Up flow: something that you can use to test initial entry into the app, basic navigation, etc. This will also ensure that you do not run into repeatability issues with this same test in future runs.

Sign Up

Overview: a fresh new user with every run

  • Fresh app state every time you launch a run
  • Create read & write tests
  • Unlocks concurrency faster to save you time
🚧

Requirements for a successful Sign Up test

  • Generate a different user every single time
  • This can be done using Waldo’s variable generator
  • Deactivate random marketing modals in signup flow
  • Automate SMS/email verification to be automatically validated by your backend with recognizable input (i.e., automatically verify any accounts ending with @testing.waldo.io)
📘

Remember...

The verification process can’t be re-created in a repeatable way within Waldo. This method will potentially require you to add some logic in your backend or app to bypass SMS/Email verification as part of your Sign Up Flow.

If you’re not ready to implement the necessary logic, you can pick another method that suits your current situation and needs better.

For more guidance on selecting your first test, click here.",

Sign In

Overview: quick time-to-value

  • One concurrency only, resulting in slower run times
  • Doesn’t require any backend or app work
  • Specific users can be created in your backend to test different user state in Waldo
🚧

Requirements for a successful Sign In test

  • Deactivate random marketing modals in sign in flow

Managing user state in Waldo

When creating your first tests, remember that your user has to begin each test in the same fresh state.

For example: your have a test requires a user to add their first profile photo to their account.

  • This test may work the first time as the account does not have a profile picture yet.

  • However, during subsequent tests (especially if you are using the same user credentials) the account will register as already having a profile picture and Waldo will not be able to complete the same action.

To manage user state effectively, you would need to delete the photo from that user account after each test run.

📘

For more on managing user state...

Check out our article on user state management for more information, examples, and tips.

You probably already have a good idea of what option suits you best right now. As you can see, there are multiple ways in which you can create your foundational test. You can use the below decision map according to your situation.

👍

If you have a sign-up flow in your app AND

Your sign-up flow requires verification steps (2FA, email or SMS confirmation, etc.) to navigate the home screen, then:

  • You have the bandwidth to bypass these > implement changes and use Sign Up
  • You don’t have the bandwidth to bypass these > use your login instead, until you implement scalable USM
👍

If you have a sign-up flow in your app AND

Your sign-up flow doesn't require verification steps to navigate the home screen:

  • You can use Sign Up right away without additional work
👍

If you DON'T have a sign-up flow, but have a SIGN IN flow in your app...

  • If your backend allows the same user to connect on different devices at the same time, you could be able to unlock concurrency.
  • If your backend doesn't allow the same user to connect on different devices simultaneously, you won't be able to run tests concurrently.

Questions to keep in mind:

**Do you currently have the bandwidth to implement a scalable USM tool in your backend?
👉 In our experience, this works usually takes ~1-3 hours of development time

Want to see how you can bypass and control USM within Waldo? This article should start answering some questions:
- On-demand seeding
- On-creation seeding