||An Abstract Model for Web-form and Test generation
||Probst, Christian W. (Language-Based Technology, Department of Informatics and Mathematical Modeling, Technical University of Denmark, DTU, DK-2800 Kgs. Lyngby, Denmark)
||Technical University of Denmark, DTU, DK-2800 Kgs. Lyngby, Denmark
||In this thesis a recurrent problem with the design of forms in web solutions is analyzed. The problem can be
viewed from two different perspectives: the customer’s perspective, who owns and manages a website, and
from the perspective of the supplier, who delivers the functionality or source-code for the website.
The problem consists of, from a customer’s perspective, the need for a component that enables easy design of
immediate working forms for information collection. Such a workflow normally includes one or more
developers to implement the form.
From the website supplier’s point of view, the problem contains other aspects such as the necessary ability to
verify the proper workings of such a component, without the constant verifying interaction of a developer; in
other words a self-verifiable component.
This thesis takes its starting point in the problem seen from the supplier’s perspective, and therefore a
prototype is implemented, that is capable of auto-generating web-forms based on an abstract model, which
satisfies the most basic needs of the customer. The form generation capabilities are based on a fundamental
set of identified key elements that ensure high levels of flexibility between elements in the abstract model and
rendered elements in the web-form.
In order to verify the automated generation of a web-form and its functionality, the prototype offers the
ability to auto-generate tailored tests, which are based on the same abstract model as the generated webform.
The approach to ensure the proper working of the generated form includes the generation of User Interface
based tests through the use of a domain specific test-framework named WatiN. Tests performed with WatiN
are conducted automatically with the use of a browser and the direct interaction with elements on the web
page in scope.
The design of the prototype is highly focused on creating generic interfaces and flexible extension facilities,
enabling the use of the prototype in various constellations.
The principals from Test Driven Development (TDD) have been used as part of the development process in
order to produce a prototype with as few errors as possible. This type of development process has proved to
be very efficient as the amount of source-code grows.
The aim of creating a self-verifying prototype is to gain knowledge about the auto-generation of web-forms,
implied problems regarding flexibility, and knowledge about the auto-generation of WatiN tests. The value of
this knowledge can form the foundation for the implementation of a product that can satisfy customer, and
A component that is able to auto-generate tests, which verify its proper working will be able to proactively
inform relevant personnel about any errors that prevent the component from working as intended. In this
thesis tests are conducted that prove the value of auto generating these types of tests.
Through performance tests of the implemented prototype, it is shown, that the auto-generation of web-forms
and the auto-generation of associated tailored tests is performed extremely fast, due to the preceding choices
of Software Design Patterns.
||Technical University of Denmark (DTU) : Kgs. Lyngby, Denmark
Creation date: 2009-11-03
Update date: 2010-08-25