Information Technology Reference
In-Depth Information
There is empirical evidence that the vast majority of web navigations are fol-
lowing embedded hypertext links instead of using bookmarked or typed URLs.
For example, for the www.seas.smu.edu web site, 75.84% of the navigations are
originated from embedded links within the same web site, only 12.42% are user
originated, and the rest from other sources [28] .
Consequently, we choose to focus on the embedded navigation links and capture
them in FSMs for web testing.
Once these FSMs are constructed, they can be used in testing. FSM-based testing
typically attempts to achieve the following coverage goals [5,48] :
State or node coverage : We need to make sure that each state can be reached
and visited by some test cases. This is essentially a state or node traversal prob-
lem in graph theory [13,24] , and test cases can be derived accordingly. In fact,
web robots used by various Internet search engines or index services commonly
“crawl” the web by systematically following the embedded hypertext links to
create indexes or databases of the overall web contents, much like the state tra-
versal for FSMs.
Transition or link coverage : We need to make sure that each link or state tran-
sition is covered by some test cases. Although this problem can also be treated
as link traversal in graph theory, the above state coverage testing already helped
us reach each reachable state. It would be more economical to combine the visit
to these states with the possible input values to cover all the links or transitions
originated from this current state, which would also help us detect missing links
(some input not associated with any transitions) [48] . Existing link-checkers
can also be used to help us perform link coverage testing by checking bad links
(“ file-not-found ”), which represent extra links in FSMs or missing states
(pages).
In trying to reach a specific state, each test case is essentially a series of input
values that enables us to make the transitions from an initial state to some target
state, possibly through multiple hops by way of some intermediate states. The key
in this sensitization is to remember that in FSM-modeled systems, input and output
are associated with individual transitions instead of as an indistinguishable lump
of initial input for many other systems. Consequently, the input sequencing is as
important as the correct input values.
One useful capability for test execution is the ability to save some “current state”
that can be restored. This would significantly shorten the series of state transitions
needed to reach a target state, which may be important because in some systems
these transitions may take a long time. This capability is especially useful for link
coverage testing starting from a specific state: If we can start from this saved state,
Search WWH ::




Custom Search