1    Introduction and objective

The idea for the project TPTP Web TEST, in the following briefly named as Web TEST, resulted from the vocational background of the author of this paper. The author, Günter Öller, is involved as Web developers at the company MathConsult GmbH [3] in the development of the product UnRisk FACTORY [4]. UnRisk FACTORY is a HTML-based application for the intranet. In this web application the HTML sides are generated by a Web server. In the following chapters this kind of application is called HTML-based web application.

UnRisk FACTORY is used by banks and other financial service providers in the Intranet, in order the value of financial products to estimate and to supervise be able.

1.1    Problem description

In the past it came often to problems while developing UnRisk FACTORY. New versions of the product contained errors, which were already repaired in previous versions, which led among other things to a degradation of the product image. The problem is that failures in certain services occur after changes in a wholly different service. Illustration 1.1 illustrates this problem.

Illustration11: Unidentified error by a new version of application

As illustration 1.1 represents, it can come by a change of a service A to an error in another service B that is based on A, although B was not changed itself and was perhaps not tested again therefore. In order to prevent this type of error, one can use a test procedure, which compares the unchanged services of a new version with the previous version. This kind of testing is called regression testing and is described in chapter 2.3 “Regression tests of HTML-based web applications more detailed.

For UnRisk FACTORY due to this type of error it was decided that regression tests must be accomplished. In order to manage this, a employee was used as tester, in order to accomplish the comparisons manually. Since this work turned out as very time-consuming and for the tester discouraging task, the task was handed over to the author of this work to look for a supporting test tool.

For this purpose, among other things, the following tools were tested:

With the evaluation of these tools however the following points were determined as insufficient:

To the explanation of the last point: UnRisk FACTORY uses frequently HTML sides with a table with two columns, as presented in illustration 1.2, in order to show information.

Illustration12: A table with two columns in UnRisk FACTORY with attributes as pairs of name-values

Whereby the first column contains the name of an attribute and the second column contains the pertinent value. A usable tool must use this uniformity and the test for all these attributes must be generated with few steps. An important boundary condition is that the number of necessary steps to create the test for all attributes does not depend on the number of lines in the indicated table.

Further tools were tested, which permit it to save a snapshot of an HTML side and to compare this snapshot with the test execution. This picture comparison has however the disadvantage that no parameter of a side may change so that the test verdict is successful. In UnRisk FACTORY and in many similar applications however a modification date is indicated that from test admission to test execution changes.

A further alternative are test tools, which permit it to indicate a maximum change rate. This rate defines how much per cent a HTML side from the recording to the test execution may change. Unfortunately, also this procedure was classified as insufficient for UnRisk FACTORY. When testing UnRisk FACTORY it is important to examine the value of certain fields exactly and other fields, as for instance a modification date, need not to be examined.

Since none of these tools could convince, MathConsult decided to accomplish the tests further manually. The author of this work became however attentive by the evaluation process to the Eclipse test platform TPTP. This Framework already offers the fundamental services for accomplishing regression tests. TPTP supported both recording user scenarios of HTML-based Web applications, and the administration and replaying of these scenarios. Just the functions to administer test conditions for contents from HTML sides and to examine these during the test execution are missing. And furthermore TPTP is designed to make coherent extensions possible. The source code is public under the Eclipse Public Licence (EPL) [14]. Therefore it is possible to extend TPTP with these additional required features. Due to this consideration the project TPTP Web TEST was started.

1.2    The goal of the project TPTP Web TEST

In the context of the project TPTP Web TEST three goals are to be united with one another:

  1. A test tool for regression tests is to be provided by HTML-based web applications. The enterprise MathConsult GmbH is to be supported by this tools with regression tests of the application UnRisk FACTORY.
  2. The test tool is to be applicable also for other HTML-based web applications and to be adaptable by the respective users.
  3. The test tool is to integrate itself in TPTP and to support new versions of TPTP. Therefore the development must be confirmed by the TPTP team.

1.2.1       The requirements of Web TEST

The company MathConsult needs a tool, which supports the test process that is illustrated in illustration 1.3 for testing UnRisk FACTORY.

Illustration13: Demanded application for Web test

Illustration 1.3 shows, of which steps the demanded test process consists:

  1. The tester plays the functionality which he wants to record in the Web application. Additionally a second process is running which collects all data while the tester plays with the Software under Test (SUT).
  2. The tester manages the in such a way recorded test. He introduces variables for the test execution and specifies test conditions for the contents of HTML sides.
  3. A user (the tester or a developer) can replay the test with different versions of the application by changing the application URL.
  4. After the completion of a test execution the user gets a test report.

The step 2, in which the test conditions are provided, is substantial for the Web TEST project. Specially in this point Web TEST must differ from the evaluated test tools. The following functions must be offered:

The last one of the two functions addressed here helps the tester of UnRisk FACTORY extraordinarily. Like before already mentions, UnRisk FACTORY indicates a great amount of information in tables with two columns. Whereby each line describes one attribute of an object of UnRisk FACTORY. Each attribute has a name and a value. During the test execution then the object attributes must have the same values as in the test admission.

Illustration14: Object attributes of a test admission and a test execution in UnRisk Factory

Illustration 1.4 shows twice the same piece of a HTML side of UnRisk FACTORY. On the left half the condition is represented, which is supposed correctly in an older UnRisk FACTORY version. On the right half the condition of the HTML side is represented, which are shown when manual accomplishing a regression test with a new version of UnRisk FACTORY.  If one compares the lines of the shown tables, then one recognizes that these are identical up to the line “Modification Date”. Thus the manual regression test has a successful verdict. If one actually performs this manual regression test, then one notices that manual examining of the values is very time-consuming and error-prone. Among other things, because one can easily mix a line or the often similar values. Further it is to be noted that there are hundreds of different object types and thus hundreds of these tables in UnRisk FACTORY, which must be tested.

The automatic production of the test conditions from the test pages and the program controlled comparison during the test execution are therefore a substantial easement for the tester. Not only the tester is relieved, but also the quality of the test is increased.

1.3    Structure of the work

This work describes the implementation of the requirements described before in the context of the TPTP Web TEST project and is structured content-wise as follows:

§         In chapter 2” “Methods for functional testing of HTML-based web application” the usable test methods are presented and it is specified, which test method is used in the tool Web TEST.

§         In chapter 3 “How to use Web TEST” the tool Web TEST is presented from a user viewpoint. With the help of an use case scenario it is demonstrated, how a user uses Web TEST.

§         In chapter 4 “The TPTP Framework” the Eclipse test Framework TPTP is introduced, which is used by Web test.

§         In chapter 5 “The Implementation of Web TEST” the architecture and the interfaces of Web TEST are discussed.

§         In chapter 6 “Preview and conclusion” an overview of possible extensions is given. Finally, in this chapter the personal assess of the author for the tool Web TEST is stated.

1.3.1       The use of technical terms, abbreviations and foreign words

Common and technical terms, abbreviations and foreign words usual in computer science are not particularly set in the text and no glossary of all used expressions is offered. Not common and technical terms, abbreviations and foreign words uncommon in computer science are explained with their first use in the text or are provided with a literature reference. Further these expressions are set with their first use in italic writing. With each further use these expressions will not be explained again and then they are not particularly set any longer. Compound foreign words and names are represented with hyphen. In addition in the case of the first translation of an English term (for example from tables, diagrams or of technical terms) the English form in clammy ones is noted after the translation. This notation is also used, if in the text synonyms are used for terms from tables and diagrams. Names of elements in user interface snapshots (labels), file names, paths and values of attributes from diagrams and tables are marked by quotation marks.


the other chapter’s will follow as soon as I have some time and a better translation tool ;-) … kind regards, Gunter