There is a big difference between:
While there is no change of content and user interface for static websites, both can change for dynamic sites. Manual tests or simple tools, which compare geometry or displayed content via screenshots (difference between screenshot and component based web testing software), are sufficient for static website testing. The problem is the lack of flexibility of this approach for automated website testing. If the layout of the website changes compared to the state of the page at the time of recording, this form of website testing fails immediately. A single change of a value in a row of a column is sufficient. To avoid this, all preconditions have to be set exactly and verified before testing which most of the time is very complex.
In addition to testing for layout changes one can also perform functional website testing – which is especially recommended for dynamic and complex websites, because they usually include a lot of functionality. In most cases manual tests are not suited for this due to the high functional range. An alternative is automated website testing (see this article about test automation of web based applications).
figure 1: differences between static and dynamic website testing
To better understand the particularities of dynamic websites one has to first distinguish between dynamic content and a dynamic user interface (see DHTML and Ajax test for more information on dynamic GUI changes). While dynamic content can cause content checks to fail during automated website testing due to changing values, a dynamic user interface puts high demands on the used technology. The problem of failed checks during website testing of sites with dynamic content can be solved for example by storing the check value in the connected database together with the respective dataset (see also Data driven web application testing). In addition web2test offers the possibility to set constant preconditions for each test cycle thanks to its dependency mechanism.
figure 2: web2test test suite with dependencies to set constant prerequisites for website testing
However website testing in connection with dynamic user interfaces poses a problem for most test tools. How can I effectively test functions which can be arranged individually within the user interface without any difficulties? web2test solves this problem of website testing via a component based recording of events and a real user simulation while replaying test cases.
The “Dynamic and static website testing” article in German: