Wednesday, August 18, 2010

The Fuss About ID Tags

One of the biggest advantages eValid has is its Adaptive Playback feature. This feature compensates for non-consequential web page changes by pivoting on page element's HTML ID Tags structure. The basic idea of an ID Tag is to insert something "constant" into the page HTML, and most web page editors and production systems assure fixed IDtags and assure that they are kept unique (although uniqueness is not a requirement). The ID tags were recorded into the original page, and so long as they don't change, Adaptive Playback makes sure the test runs OK. To assure full disclosure, however, eValid always reports successful use of Adaptive Playback as a non-fatal Warning message in the test's event log.

A simple example is an HTML anchor tag -- just a regular dynamic link -- where the URL and/or visible text can change but eValid can still work correctly even when the visible text changes or when the underlying URL changes -- so long as the ID tags are left alone.

When ID Tags Change: But, if the ID tags on a page DO change there's nothing to pivot on and the Adaptive Playback feature will either fail or at best give a misleading result. The test that relies on constant ID tags, in turn, will also fail. Not the best possible outcome at all.

In fact there are many applications where ID tags change and for good reason. There are some environments where the ID tags are automatically generated with new values every time the page is edited and re-published. In THAT case, pivoting tests on ID tags clearly won't be effective. Tests that ought to be OK now show false negative results.

Structural Testing Enters The Picture: In this case, a slightly stronger mode can be used to provide protection for tests even when ID tags are non-constant. What such tests do is rely on Structural/Algorithmic Testing -- where you use as a pivot any feature of the web page that know WILL be constant over time. While it takes a bit longer to create such a "structural test" the benefit is a playback that continues to reliably indicate a valid page even when the internals change.

No comments: