5 Favorite Web Apps To Practice Test Automation
Software Testing Test Automation | Test Management TestQuality

Get Started

with $0/mo FREE Test Plan Builder or a 14-day FREE TRIAL of Test Manager

We recently talked with one of our clients and asked him about some recommendations to get introduced to practicing Test Automation. He advised us that he always requires an acceptable application under test whenever he needs to undertake some test automation-related exercise or proof of concept. There are a hundred various sample apps available, and it might be difficult to find a nice app while not wasting too much time on it. As a result, he provided us with his selection of the top five most often used sample web applications and he gave us a quick explanation of his selection.

What does he normally require?

He utilizes these applications for the following reasons:

  • To conduct a proof of concept for a certain test automation tool/plugin/approach build/test/deploy a realistic application using a minimal CI pipeline.
  • To learn about a certain software development tool or concept by reverse engineering and modifying an existing application

Criteria that these applications must meet:

  • The major requirement for selecting an example app is the availability of the application's source code. This helps him comprehend the application he's using, he can control the data and prevent interfering with other people (by installing an app on his own), and he can make changes to the program to tailor it to his requirements or induce certain behavior.
  • Apps of different complexities – he doesn't want to deploy an app for a half-day merely to run a 15-minute one-method check.
  • In addition to UI, he frequently wants an API and a database.

1.- TodoMVC (TasteJS)

Public instance: https://todomvc.com

GitHub: https://github.com/tastejs/todomvc

Underlying technology: ~50 different frontend frameworks

When should we utilize it: Frontend proofs of concept and prototyping. All implementations in various technologies have public instances, and because the app lacks a backend, it might be used without the requirement to develop a private instance.

2.- Restful booker (Mark Winteringham)

Public instance: https://restful-booker.herokuapp.com

GitHub: https://github.com/mwinteringham/restful-booker

Underlying technology: NodeJS/Express

When you may require a CRUD restful API for tool testing or demonstrations, This is a recomendation to use it since it has purposely built-in bugs that can be quite useful for API testing practice.

3.- The Internet (Saucelabs)

Public instance: http://the-internet.herokuapp.com

GitHub: https://github.com/saucelabs/the-internet

Underlying technology: Ruby/HTML/CSS

When should we utilize it: This program is nicely described in the official about section: An example application that captures conspicuous and unsightly web functionality. When you need to experiment with iframes, big DOM, or specialized HTML components, it's fine to use The Internet.

4.- Real World App (Cypress.io)

Public instance: https://www.cypress.io

GitHub: https://github.com/cypress-io/cypress-realworld-app

Underlying technology: NodeJS/Express/React/lowdb
When should we use it: As a simple yet comprehensive web application for E2E testing practice. It also offers a variety of authentication techniques (Auth0, Okta, Amazon Cognito, Google).

End-to-End Test Automation that is easy to maintain

Our client began building up test automation using Cypress once they had sketched out the manual tests they intended to run regularly - roughly a hundred in total. Cypress is an excellent tool for performing end-to-end testing. It automatically records videos of test runs, and its test runner is Google Chrome, which almost all engineers are acquainted with. It also captures the activities it performed on the DOM on video, providing you with clear, visually debuggable recordings of failed test runs. It's a fantastic tool right out of the box.

Selenium, a battle-tested browser automation technology, on the other hand is used elsewhere at our client for process automation. They evaluated it as a way to reduce the number of technologies in the stack, but chose Cypress because of the benefits listed above. It was love at first sight when they first started using Cypress and discovered that integrating TestQuality with GitHub or Jira also worked wonderfully in CI with little configuration!

Their Cypress tests are comprehensive end-to-end tests; nothing is mocked out. They have a staging environment where the tests are conducted, complete with their own clones of the databases and other services required by their platform. The tests were to be written in such a way that they resembled human-readable test stages as much as feasible.

Most of the time, you're reading through a failed exam. That means you have a problem to solve, and understanding the meaning of the test should be the least of your worries. A good test case should be self-documenting and easy to understand. It is also important to consider the reusability of testing code. Assume you have a top bar in your app that allows users to choose between experiences; you'd want to reuse the code that enables those actions.

5.- Realworld (Thinkster & several contributors)

Public instance: https://demo.realworld.io

GitHub: https://github.com/gothinkster/realworld

All implementations: https://codebase.show/projects/realworld

Underlying technology: ~100 different variants of frontend/backend/DB frameworks

When should be used: When we have special needs linked to application technology and we need an application that is as similar to a real app as feasible in terms of complexity that we wish to duplicate. This application needs the setup of a frontend, backend, routing, and a database, thus it is not suitable for short tests.
In terms of technology, remember our recommendation:

  • Try to keep the e2e testing as close to user-facing as feasible. This aids with maintenance, readability, and establishes the appropriate standards for the engineering team.
  • Don't be scared to incorporate e2e test support right into your API. If you require some UI that is only visible in e2e testing, that's OK — it's a key use case that has to be addressed.

Add TestQuality to your workflow today

TestQuality can simplify test case creation and organization, it offers a very competitive price, but it is free when used with GitHub free repositories, providing Rich and flexible reporting that can help you to visualize and understand where you and your dev or QA Team are at in your project's quality lifecycle. But also look for analytics that can help identify the quality and effectiveness of your test cases and testing efforts to ensure you're building and executing the most effective tests for your efforts.

Sign Up for a Free Trial and add TestQuality to your workflow today!

Newest Articles

Beyond Regression Testing: Rethinking Risk in Modern Software Development
Picture this: You’ve just deployed a new feature at work, and you’re buzzing with excitement. But suddenly, you hear whispers of a critical bug in the old functionality. That gut-wrenching moment reminds us how important it is to address regression testing. In this post, we’ll delve into the legacy views of regression testing, explore its modern implications, and highlight why risk management is the real MVP in ensuring robust software development.
Top 10 Selenium Exceptions and How to Handle Them
Automation testing has become an essential part of software development. One of the most widely used tools in this domain… Continue reading Top 10 Selenium Exceptions and How to Handle Them
Software Testisng Functional and Non-Functional Testing Case Examples
10 Real Case Examples for Software Test Plans
Software testing is a critical phase in the software development lifecycle, ensuring that the final product meets the desired quality standards. To… Continue reading 10 Real Case Examples for Software Test Plans

© 2025 Bitmodern Inc. All Rights Reserved.