Creating your first test

You are ready to start building tests in Waldo! Read more below for instructions on how to create your first test.

🚧

Before continuing...

Before you read this article, you should have uploaded your app to Waldo, so you have something to test! If you have not done this, please see our article Uploading you app for a step by step guide.

When it comes to creating your first test, there are a few core steps:

  1. Make sure your build works in Waldo using Waldo Live
  2. Know what kind of test you want to build first as your “Foundational Test”
  3. Finalize and validate your test

Skip To:

  • What kind of test should I build first?
  • Creating your first test in Waldo
  • Finalizing and validating your test

📘

Try it out first

Waldo Live allows you to test the functionality of your build in real time on simulated devices.

If you are able to interact with your app on Waldo Live, you know that your build is stable. You can proceed to building tests with confidence!

If not, please contact Waldo support.


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
  • 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.

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

Creating your first test in Waldo

  1. Navigate to your Testing page using the sidebar menu
  2. When you land on your Testing page, click in the upper right hand corner on “Create a Test”
  3. Name your test and provide a brief description so you can easily identify it as your suite grows.
12281228
  1. Select the build you would like to use for the test
    a. If you have only uploaded a single build at this point, it will auto-populate

  2. Your app will then be loaded into the Waldo Recorder
    a. From here, you can begin to interact with your application on a virtual device, the same way you would manually

    b. More details on the Recorder can be found here.

    • This will provide you with a step by step walkthrough of available functions and buttons. If you prefer to reference that documentation directly, scroll down.

    c. More details on interactions can be found here.


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


Finalizing and validating your test

  1. After you have finished using Waldo Recorder to create your test, you will be taken to the screen pictured below, and prompted to validate your test.
27702770
  1. When you click validate, you will be taken into Waldo Live, where your test will be played back in real time on your screen
  • The benefit of validation is that it exposes flakiness in your test early on.
  • This validation function replays your test a minimum of three times on each device configuration.
  • Each test must pass validation before becoming part of your test suite.
  • Similarly, your test must pass validation to be usable as a dependency for another test.
  1. 🎉Congratulations! 🦙 You have completed your first test build in Waldo!

📘

Chaining tests and testing dependencies

Click on the following links to learn more about chaining tests and creating rules to govern your test runs.


Did this page help you?