How do you apply the "One, Zero, Many" heuristic?

The One, Zero, Many heuristic is a simple tool for testing how software handles different quantities of data. This approach helps us think about system behaviour with no entries, a single entry, and multiple entries. It can be used to test anything from input fields to API responses.

To put this into practice, we’re setting an activity to help you apply this heuristic and strengthen your testing approach.

Why take part? Practicing heuristics helps you think outside the box and make decisions, improving your ability to spot edge cases and unexpected behaviours. It’s a valuable skill for both new and experienced testers.

Activity Steps: Create Test Cases
Choose a feature to test for any piece of software (e.g., a search function or input field) and write three test cases:

  • Zero Entries – What happens with no data?
  • One Entry – How does the system handle one item?
  • Many Entries – Can it manage multiple items correctly?

Share your test cases here! This is a great way to practice and see how others think through these scenarios.

6 Likes

Not a test case, but:

One related thing I like to do with this is trying to get to negative entries…can I try to delete more items than currently exist?

5 Likes

Nice, love those types of scenarios.

2 Likes

Not sure if I’m on the right track here, example could be when searching for a flight.

Zero Routes- when the user searches a route that is not available for between 2 cities. messaging could be “no routes available, try adjusting your search criteria”

One Route- when 1 route exists that matches the users search e.g. direct flight from Melbourne > Sydney. Page should show the time/duration/stops etc and provide air travel classes (economy/business class etc) and book button

Multiple Routes- When the destination city has more than 1 airport e.g. New York City. Page should return all airport options by time/duration/stops etc. and provide air travel classes (economy/business class etc) and book button.
The page should ideally have a header at the top of page saying “showing all airports available for New York”

3 Likes

Adding my own test case, hopefully applied correctly
I used searching for an email
Zero - When no results are found, the system should provide clear feedback to let the user know that the input was received but returned no results. It could also offer suggestions on checking spelling or other steps like using Advanced Search options to try again
One - When exactly one result is returned, display the result count found 1 of 1 and still suggest further search options if the user expected to find more results
Many - When many results are returned, the page should display the results, the result count, have a way to view them all and include ways to refine, narrow or sort results

3 Likes

Using the Coffee cart app: https://coffee-cart.app/, I can think of test cases for when the user is viewing the cart page.

Zero Entries: Cart Page

  • If the user hasn’t selected a coffee, no coffee should display

  • When the user is viewing the cart page, they see a message notifying them that the cart is empty and that they can take action to change that.

One Entry - Cart page

  • When a user adds one cup of coffee, they see the coffee they selected, how much the coffee costs, the number of coffee cups they’ve added, and the user has the option to add or remove the coffee that exists in the cart
  • The user can add the same type of coffee from the cart page and the count updates
  • The user can remove the same type of coffee from the cart page and the count updates
  • The user can remove a specific type of coffee from the cart page
  • Only the coffees selected should be visible
  • The cart navigation displays the correct count of the selected number of coffees
  • The payment total updates correctly

Many Entries: Cart page - The user selects ten different types of coffees

(I won’t repeat the test cases above related to the “One entry” - but the same applies for “Many Entries”)

  • All ten cups of selected coffees display.
  • The page displays the different types of coffee in rows that the user can plainly see
  • The list of coffee types display in alphabetical order

1 Like

Tested this for search functionality

Zero Entries but instead of search icon clicked clear contents icon, ideal scenario nothing should happen because the clearing function would find no text to remove…but here it loads the page again, almost 8-9 seconds also there is one api call request to backend… bug found !