Some kinds of complexity are involved in web application
testing. One of these is its heterogeneous nature. Web
application consists of several components implemented by
different technologies and programming languages.
Dynamism existence is the other complexity essence in testing
of web applications. Web applications consist of static and
dynamic components. Static components can be automatically
tested; Spider like tools could do it automatically. Users
submit their inputs by using form components through
crawling and the output page sent back in response to a
submitted form is always dynamic. The content of dynamic
pages varies according to user inputs. No tool exists for testing
the dynamic aspects of web applications automatically. The
only sets of tools which are able to test the dynamic aspects of
web applications are some sorts of record and replay tools.
They initially record a testing scenario, and then generate test
script for testing assumed scenario, the recorded test scripts are
used for automatically regression testing. But a negligible
change in GUIs could make many test scripts useless. The
other drawback of this set of tools is their huge cost due to the
manual recording of test scripts. As a result, automation and
proper coverage are the key issues in the testing of web
applications.