---
title: "Question expectations - what the programming must do"
description: "State per question what the survey must do - rotate, keep a fixed order, show items from an earlier question, draw a subset - and let every test run check it."
url: https://www.surveytester.com/academy/en/pages-and-routing/question-expectations/
language: en
type: article
audiences: ["Survey Authors", "Survey Testers", "Project Managers"]
published: 2026-10-15
updated: 2026-10-15
tags: ["expectations", "rotation", "randomisation", "anchored", "piping", "items from earlier question", "subset", "suggest expectations", "findings"]
---

# Question expectations - what the programming must do

_Pages & Routing · SurveyTester Academy_

A survey page can look right and still be programmed wrong: the brands are not randomised, "None of these"
wanders through the list, the follow-up question shows brands the respondent never chose. Such rules are
invisible on a single page. **Question expectations** let you state them once per question; every test run is
checked against them, and a violation becomes a finding.

## What an expectation is

An expectation is a rule on one question and one of its lists - the answer options or the grid rows:

| Expectation | What it states | Checked how |
| --- | --- | --- |
| Rotated order | the items are shown in a different order per interview; some items may be anchored ("None of these" always last) | across test runs: the same items must appear in different orders; an anchored item must keep its position |
| Fixed order | the order must never change | across test runs: no rotation may be found |
| Items from an earlier question | only the items selected (or not selected) at a source question are shown; for grids, the rows answered with given values; or the complete list carried over - optionally in the same or the reversed order | per test run: what the source question answered against what the target showed |
| Subset per respondent | every respondent sees N of the items, drawn balanced or at random | per test run and across runs, see [Testing questions that show a random subset of items](https://www.surveytester.com/academy/en/pages-and-routing/item-exposure-subset-questions) |

Items are matched by their internal value, so test runs in several languages count together.

## Why this is hard without SurveyTester

- **Rules live in notes.** "Randomise, 98 and 99 fixed", "show the brands selected at Q5 in the same order" -
  the programmer reads them once; nobody checks them afterwards.
- **One interview proves nothing.** Rotation and balance only show across many interviews.
- **Piping errors are silent.** A follow-up that shows the wrong brands does not crash; it quietly collects
  wrong data.

## Where you work with expectations

Open **Pages & Routing**. The **Expectations** column shows, per question, what is stated: a rotation icon for
the options or the rows (green when the rotation was found in the test runs, orange while it is still missing),
a lock for a fixed order, a tree icon with the number of item dependencies, and the subset button.

![Placeholder: screenshot of the Pages & Routing table with the Expectations column - rotation icons in green and orange, a lock icon, a dependency count](https://www.surveytester.com/academy/_img/pages-and-routing/question-expectations/en/expectations-column.png "w=44rem | The Expectations column")

The edit icon opens the **Expectations** dialog of the question with one section per rule kind and per list:

1. **Rotation** - nothing expected, rotated (with the items that keep their position), or fixed. The verdict
   next to it says whether the test runs found a rotation.
2. **Answer options / rows depend on an earlier question** - the source question, what is shown (selected,
   not selected, rows answered with given values, all items), the order (not checked, same, reversed) and
   items that are always shown ("None of these").
3. **Subset per respondent** - the number of items one respondent sees and the draw.
4. **MaxDiff** - mark a question as a MaxDiff task, see [Testing MaxDiff questions](https://www.surveytester.com/academy/en/pages-and-routing/testing-maxdiff-questions).

![Placeholder: screenshot of the Expectations dialog with the rotation selector, the anchored items multi-select and the dependency section with source question, filter and order](https://www.surveytester.com/academy/_img/pages-and-routing/question-expectations/en/expectations-dialog.png "w=40rem | The Expectations dialog")

## Three sources of a rule

- **By hand** in the dialog.
- **From the questionnaire document**: after [Match & verify](https://www.surveytester.com/academy/en/project-details/questionnaire-documents) the
  document's randomisation, anchoring, piping, "same order as" and subset instructions become rules with the
  origin *taken from the questionnaire*.
- **Suggest Expectations** (button above the table) reads the latest test runs and proposes item dependencies
  for every question whose list visibly comes from an earlier one; origin *suggested from the test runs*.

A manual rule overrides the document and the suggestion; switching it off keeps the lower rule switched off
too, and *Use the questionnaire's expectation* removes the override again.

## Findings

Violations are AutoDetect findings under the checks *Expected Rotation*, *Items Depending on an Earlier
Question* and *Item Exposure*: the finding names the first run and the offending items, can be approved into an
issue or declined, and is withdrawn when the rule changes or the expectation is met later (for example once the
rotation was found). The dialog lists the findings of each rule. The checks can be switched on and off like
every other check, see [Auto Detect Issues](https://www.surveytester.com/academy/en/company-admin-settings/auto-detect-issues).

Findings appear with the project scan that runs after finished test runs, usually within a few minutes.

## Step by step

1. Run a first batch of test runs so that the pages are detected.
2. Click **Suggest Expectations** and review the proposed dependencies in the dialogs.
3. Add what the suggestion cannot know: rotations, fixed orders, anchored items, subsets - or upload the
   questionnaire document and let **Match & verify** do it.
4. Run more bots; open the findings list and hand violations to the programmer.
5. After the fix, run again: findings that no longer reproduce are withdrawn.

## Key takeaway

Expectations turn programming notes into checks: state once what a question must do, and every test run tells
you whether the survey keeps to it.
