test steps; then under a certain client-side
equipment, the testing monitor organizes and
manages the executors to fulfil the testing tasks;
next, output the testing results to the last phase, and
analyze and compare the results with the expected
output, furthermore give metrics and feedbacks to
the Web application.
The precondition of the Web application testing
is the test cases generation and selection, so it is
important to ensure the quality and quantity of the
test cases. The usual steps of generating and
selecting test cases can be described as follows:
(1) In order to obtain the executing sequences
of the testing, the testing requirements and the
structure contents of the Web application are
considered and analyzed in detail, so as to determine
the testing steps and input information such as
variable, parameter name, type and value domain.
(2) For ascertaining the expected output, the
general method is analysing the Web application
and the testing requirements, and running the test
cases several times in advance when the dynamic
scenes are considered, then classifying the results
into different kinds so as to provide references to the
next testing.
(3) Based on the generated test cases, further
work such as the simplification is needed to obtain
the right number of test cases that have the equal
qualities.
The quality of the test cases influences the
testing effects directly, thus testers usually spend
more testing costs during this process of test case
generation. In paper (Xu, L. et al., 2003), we
proposed a test case generating method based on the
combinatorial testing and apply this method to the
Web compatibility testing. In this way, we can cover
more situations with less number of test cases and
obtain higher testing efficiency.
The executing part of testing is constituted of
client-side equipment, monitor and executor.
Among them, the client-side equipment provides the
testing environment, which has a certain degree of
typicality and is more important in the Web
compatibility testing; the monitor is the kernel part
of the testing execution, and it obtains the test cases
directly, controls and organizes the whole testing
tasks, monitors the running status of every executor
and guarantees the load equilibrium and
communication among the executors, and can deal
with certain exceptions, which is carried out by
testers or some intelligent entities; the executor is
the main actor who fulfils the testing tasks, and it
executes the test cases due to certain sequences and
steps heavily and tediously, i.e. based on the testing
steps and input information in the test cases, the
executor visits the Websites or pages under test,
fulfils the prescribed testing actions, then outputs
the testing results to the next phase. Furthermore,
the expected outputs in the test cases are also
delivered to the next phase by the monitor, so as to
process the results comparison and feedback.
The usual testing process and steps are described
in the above, and the executing efficiency is the
main problem to solve. As shown in the before, the
testing for Web applications has huge scale and
tedious tasks, and it is impossible to execute the
testing only by manual work. So the testing must be
fulfilled under the assistant tools to realize the
automatic or semi-automatic testing; and at the same
time, the intelligent level of the related tools also
should be improved so as to deal with the
exceptions.
After obtaining the testing results, the
comparison with the expected results is demanded
so as to judge whether pass the testing. Quantitative
analysis is still needed to the testing results. Then
based on the existed criterions and standards, the
Web application metrics can be established and
adjusted so as to evaluate the quality of the Web
application and the efficiency of the testing.
Furthermore, the modification and maintenance to
the Web application are required due to the testing
results, i.e. feedback the testing results to the Web
application itself, and further improve the system’s
quality, performance, reliability, usability and
safety.
4 REALIZATION TECHNIQUES
Based on the previous work, in order to realize the
automatic and intelligent Web application testing,
adjustment and optimisation are also needed to the
capture-replay technique and the intelligent Agent,
so as to be seasoned with the interactive, dynamic
and frequent-change properties of Web applications,
and finally complete the testing tasks successfully.
4.1 Obtaining Testing Behaviours
In general, the capture-replay technique is used to
realize the automatic Web application testing.
Therefore, we must capture the testing behaviours of
testers firstly, then record these steps and actions by
Script language, and finally replay the Script to
fulfil the automatic testing. In our method, we set an
Agent in the test side, and capture the contents such
as executing actions and input information of the
testers by the recording, learning and analysis
functions of the Agent. Since Agent has the ability
of self-learning, we can capture more precise testing
behaviours by the Agent’s coordinate and analysis.
ICEIS 2005 - SOFTWARE AGENTS AND INTERNET COMPUTING
196