skip to content

Field Conditions

The network a handset meets outside the lab rather than the one on a desk: a link that is slow, lossy or switching under a moving user, and stretches with no usable connection at all.

on this pageshow

questions

8

A disconnected mobile client queues user actions and delivers them on reconnect - what does an automated case assert at each of the three moments?

level: middleimportance: must knowfreq 62%

basics

~20 s

Assert three times: while disconnected, that the action is locally accepted and marked pending; at reconnect, that delivery starts unprompted; once drained, that the far side holds the work and the device now matches it.

open as a page

On a degraded link, why is asserting only that the screen eventually loads a weak case?

level: juniorimportance: should knowfreq 48%

basics

~20 s

Eventual success only proves the happy path survives slowly. Assert what the user sees meanwhile and on failure: a progress surface, a control that cannot fire twice, a notice naming the next step, and typed data preserved.

open as a page

A disconnected screen still renders records loaded earlier - how does a case tell stale-but-allowed from simply wrong?

level: juniorimportance: should knowfreq 46%

basics

~20 s

Capture the values the device holds before disconnecting; that snapshot is the oracle. Stale-but-allowed means the screen matches it and says it is not current. Wrong means values never held, missing promised content, or stale data shown as live.

open as a page

A request is in flight when the handset switches connection type - what must the case control and assert?

level: seniorimportance: should knowfreq 45%

basics

~20 s

Control the moment: hold the response at a stand-in the run owns, switch the connection, then release. Assert the ambiguous outcome resolves - one definite result on screen and exactly one matching effect recorded on the server side.

open as a page

A device edits a record while disconnected and the far side changes the same record - what must the case pin down about the resolution?

level: seniorimportance: should knowfreq 50%

basics

~20 s

Four things: how the divergence was constructed, which value the written rule says survives, what became of the losing edit, and that device and far side agree afterwards. Assert the recorded rule, never the behaviour you happened to observe.

open as a page

An unsynced-work indicator on a disconnected client - why is it product behaviour a case must assert rather than a diagnostic?

level: middleimportance: nice to knowfreq 30%

basics

~20 s

The unsynced-work indicator is the only report a user gets about work that has not left the device, so it is a promise, not instrumentation. A case asserts it rises, holds while work is outstanding, and clears only on success.

open as a page

How do you test an app on a shared network that answers requests with its own sign-in page?

level: seniorimportance: nice to knowfreq 22%

basics

~20 s

Stand a programmable element in the request path that answers every call with a sign-in page instead of the expected payload. Assert the app rejects the impostor response, points the user at the network, and caches nothing.

open as a page