Monday, January 7, 2013

Testing Maps

We are all familiar with maps since childhood. Maps are of various types but each one of them visually depicts some space, either in 2D (on a plane) or 3D. Road maps are probably the most common maps. But there are maps of regions as small as organs of the human body and buildings to regions as large as the whole world and even entire solar systems and galaxies. What are the key items to test in a map within any application?

1. Title: The title of the map should set the objective of the map. It should indicate to the intended readers what to expect when reading the map and what are the purposes for which the map is useful. For example, the state map of a country may show the state boundaries and state capital cities but may or may not show the physical features (e.g. mountains and rivers) of a country. Such a map is useful to know a state location within the country and the approximate size of the state. On the other hand, a Metro rail map may show the metro junctions, stations and rail lines but may or may not show the accurate distances between any two metro stations and may not show any roads. Such a map is just useful for a metro rail traveler for planning his journey.

2. Scale: The scale of the map indicates the real size of the features. For example, on a map with scale 1:10,000, if a distance is 1 cm on the map, it is 100 m on the ground. The scale of the map should be correct in maps that are drawn to scale (there are maps that declare that they are not to scale and should be tested as such). The scale of the map should remain the same throughout the map. When the user Zooms In, the map should change to smaller scale i.e. the region of the map should become smaller and more details should show. When the user Zooms Out, the map should change to larger scale i.e. the region of the map should become larger and fewer details should show (to avoid cluttering the map with overlaying labels). Both Zoom In and Zoom Out operations should center on the point where the operation has been done by the user.

3. Features: Features are the objects on the map. For example, a city map may show the highways, city boundaries and major districts. On each scale, the map should show the features according to the objectives of the map. Each feature should be in the correct location in the current scale selected by the user. Longer or larger features should be in the correct direction. When the user Zooms In, the features should become larger or sub-features should appear. When the user Zooms Out, the features should become smaller or disappear. The colors of the features (whether natural or man-made) should be consistent e.g. all borders in black and all water bodies in blue.

4. Labels: Labels are the text showing the name of each feature on the map. The labels should be correct for each feature. Each label should be in the correct location (an exception is that on very dense maps when there is no space for placing a label, the label may be placed at some distance and a line should point the label to the feature). Bigger or more important features should have bigger labels. Labels should be oriented in the direction in which the map is going to be read. But long and narrow features like rivers or roads may have labels oriented along the feature. The important thing is that labels should not overlap otherwise those labels would become unreadable. Each label should  be in the language of the map i.e. an English map should contain labels in English.

5. Layers: On a supported scale, a map may have additional layers like current weather, news, comments etc. The map should show only the additional layers selected by the user. Each layer of the map has its own labels. If a user selects more than one layer, then the labels of multiple layers also should not overlap. 

6. Other test items:
a. Panning: Panning is scrolling the map in any direction. It should be possible to pan the map anywhere within the boundaries of the region shown by the map. When the user pans in the map towards any edge (top, bottom, left or right) of the map, the scale of the map should stay the same.
b. Searchers: It should be possible to search any map label on any scale. If the search is successful, the map should display the searched feature and change the scale, if required. If the search is unsuccessful, the map should stay the same. In either case, the layers selected by the user should stay the same.
c. Legend: The legend of the map explains the conventions used in the map and the reader refers the legend in case of any doubt. The legend should show the correct scale, layers, color coding and other symbols and conventions.
Image courtesy of xedos4 /