Technical set up to allow testers to access your testing environments
To generate the best, most deterministic results, there is a bit of setup that must be completed.
These configuration steps are essential, and should not be delayed or overlooked. The proper testing configuration ensures that the errors you receive are meaningful. A staging server configuration that differs too much from production, or cannot support tester traffic will not meaningfully reflect user experience and may generate inaccurate results.
Make sure that the following are in place and you'll be in great shape to start testing!
1. Most tests should be run against a staging or QA environment
The environment that you run your Rainforest tests against should reflect production as accurately as possible.
- Infrastructure - software versions, configurations, etc
- Realistic test data - fake user accounts, fake products, fake datasets
- Application - code base, server configuration, etc
All of the above should be nearly identical to the user experience in production. If this configuration differs too much, your results may not be representative of a real-world user experience.
2. Testers must be able to access your testing environment
You may have one or more levels of security restricting access to your staging site. Some simple solutions within Rainforest to bypass common access control methods are:
IP access controls
Whitelist our VM IP addresses
HTTP basic auth
Add a step to each test to give testers login credentials. Alternatively, configure your test URL to include the username/password, and allow testers to access your staging site with no extra effort.
- i.e. https://username@password:www.sitename.com
Custom authorization layer
Create a standalone test directing users to sign in with a defined username/password, and embed that test as the first step into your subsequent tests to save time. You have two options here:
- Write the login credentials as static values; keep in mind that all users will log into the same test account: "In the email field, enter email@example.com, and in the password field enter password1."
- Spin up multiple test accounts, and set up the login credentials as tabular variables. This way, when your tests are executed in parallel, every tester will log into a different test account; this is a great way to avoid concurrency issues / i.e. "testers stepping on one another's toes."
You can create valid SSL certs via LetsEncrypt.
3. Account for tester load on a staging server
Large test runs will generate a lot of traffic on your staging site. You will want to make sure that your infrastructure can accommodate this traffic; i.e. your servers are fast enough, have enough CPU and memory, etc. Ensure that you have sufficient:
- Network bandwidth
- Firewall capacity
- Server capacity