Testing Boundary and Error Conditions
Problem
You are writing utility templates to be used by others, and you want them to be robust.
Solution
Boundary-condition testing
In all programming languages, bugs most often appear at boundary conditions. Thus, you should choose test data in which values lie along data extremes. Boundary values include maximum, minimum, and just inside/outside boundaries. If your templates work correctly for these special values, then they will probably work correctly for all other values. It is impossible to provide an exhaustive list of boundary conditions because they vary from problem to problem. Below is a list of typical cases you should consider.
If a template acts on node sets, then be sure to test the following cases:
An empty node set
A node set with one element
A node set with two elements
A node set with an odd number of elements other than 1
A node set with an even number of elements other than 2
If a template acts on a string, be sure to test the following cases:
The empty string
A string of length 1
Other strings of varying sizes
If your template uses substring-before
or
substring-after
for searches, be sure to test the
following cases:
Strings that do not contain the test string
Strings that start with the search string
Strings that end with the search string
Strings that contain only the search string
If a template acts on numbers, be sure to test:
The number 0
The number 1
Negative numbers
Fractional numbers (0 < x < 1)
Numbers with whole and fractional ...
Get XSLT Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.