Input classification
From dis-Emi-A
Locality of Specification
| Immediate | Near | Distant | Global | Irrelevant | |
|---|---|---|---|---|---|
| User | Items which are specified at the closest point to the activation of the process (from user viewpoint).
All the items in the current form in which Submit activates the process. | Items which the user has specified as part of the current process but at some previous step.
All selections made previous to the current step in a multi-step / Wizard-like process. | Items which the user has selected which are relevant to the current process but not specified during this process.
Group headers/footers during write message. | Items which the user has the ability to control in the user space and are not specific to individual processes. | Items may be included as irrelevant to specifically show why certain inputs are not being considered.
User Locale |
| System | As for User but the source of the input comes from the operating system rather than the User. | Typically items specified in the configuration files. | |||
| Real | As for User but the source of the input comes frmo the environment rather than the user. The first occurence of a Real input must have the Variance type of Real Invariant. | Items which are used during interaction with the software but not
IP Address, User Agent | |||
Variance of Immediate Source
- Open Variant
- User is freely capable of modifying the input in an intended fashion. Examples: Text fields on screen, contents of uploaded XML file, primary fields in an email.
- Open Fixed
- A special class of Open Variant referring to those items which are presented as selection lists on the screen (either as a list box, radio button, or other limited selection item). Examples: Yes/No question, list box, message list
- Hidden Variant
- Input originates from User space but is not readily available for the user to modify (although such modification is technically possible). Examples: Hidden form fields, automatic fields in an email.
- Context Invariant
- Input originates from a controlled source not accessible for direct modification from user space. Example: Current user
- Real Invariant
- Input is the current value of a real environment aspects. This can only be the source of Real input. Examples: Current Time, IP address.
- Constant
- Input originates from a controlled source that is constant for a significant period of time (beyond the life-time of individual sessions). This cannot be the source of User input.
Variance of Common User Elements
For reference, and further clarification, we present below a table of the commonly seen input elements and what their variance usually is. You'll note that all of these types are Open, which makes sense as they are all input controls for the user.
- Checkbox
- Open Fixed with values "Checked" and "Unchecked"
- Checkbox (3-State)
- Open Fixed with values "Checked", "Unchecked" and "Grayed" (be careful with 4-state checkboxes which in the gray state show a check or not, this check is normally only output and does not qualify as an input state to be tested)
- Edit Box - Single Line
- Open Variable as anything can be typed. While a single-line, or length-limited field may be more restricted than completely free fields, their variance is still the same.
- Edit Box - Multiple Line
- Open Variable
- Palette
- Open Fixed whether a color palette or icon selection only a fixed amount of input is available.
- Radio Group
- Open Fixed with one value per radio button present. Note that here the entire group is the input as it functions as a single field.
- Scroll Bar
- Open Fixed with a range of values though still limited.
- Select List - Single
- Open Fixed with one value per option present, and an additional value of "not set" if that is possible for this list. Being a "drop-down" list, or hierarchical tree list, does not change the variance.
- Select List - Multiple
- Open Fixed like single select only a limited number of values are present, though in this case more than one can be selected.
