Title: Web Testing Papers
1Web Testing Papers
2Part A 6 papers related to test case generation
3Paper 1 Testing Web Applications by Modeling
with FSMs
- Anneliese A. Andrews, School of EE and CS,
Washington State University, Pullman, WA 99164 - Jeff Offutt, Info and Software Engineering,
George Mason University, Fairfax, VA 22030 - Roger T. Alexander, Computer Science, Colorado
State University, Fort Collins, CO 80523 - To appear, SOftware SYstems Modeling, Springer,
2004
4- Contributions address the problem of black box
system or application testing of Web
applications propose a methodology of using FSMs
to generate test cases (transaction sequences). - Defects no validation of the effectiveness of
this methodology (no case study) value of user
inputs may affect the execution sequences of
transactions, but this paper do not provide an
methodology to generate appropriate inputs for a
test case.
5Type of Connections
- Static links (HTML -gt HTML)
- Dynamic links (HTML -gt software)
- Dynamically created HTML (software -gt HTML)
- User/time specific GUIs (softwarestate -gt HTML)
- Operational transitions (user)
- Software connections include connections among
back-end components, such as method calls and
forwarding. - Off-site software connections.
- Dynamic connections Both the J2EE and .NET allow
new web components to be installed dynamically
during execution.
6Phase 1 build the model
- 1. partition the web application into clusters.
(Its very subjective, and the clusters may have
several sub-levels) - 2. logical web pages either an entire physical
web page or the portion of a web page that
accepts data from the user through an HTML form
and then sends the data to a specific software
module. - 3. build a FSM for each cluster beginning from
the bottom-level cluster. (input constraints are
annotated in FSMS.) (each node is a logical web
page or a finite state machine from lower level,
each edge is a connection defined above.) - 4. build the application FSM.
7Phase 2 generate test cases
- 1. generate partial transaction sequences for
each FSM by some graph theory. Then connect
partial sequences to form aggregate sequences.
(use each choice or base choice combination
method) - 2. randomly select some inputs for each aggregate
sequence.
8Paper 2 Testing Web Database Applications
- Yuetang Deng, Phyllis Frankl, Jiong Wang
- Technical report TR-CIS-2004-01 (04/28/2004)
Polytechnic University
9- White-box testing.
- Extend a database transaction consistency testing
tool AGENDA (A Test Generator for Relational
Database Applications). - Contribution provide an algorithm to generate
test cases for web application. - Defects no faults report of applying this
methodology value of user inputs may affect the
execution sequences of transactions, but this
paper do not provide an methodology to generate
appropriate inputs for a test case.
10- This tool (AGENDA) is currently targeted toward
web applications written as Java Servlets using
JDBC for database access. - A test case for a web application is a sequence
of pages to be visited plus the input values to
be provided to pages containing forms. - Data based web pages refer to dynamic web pages
that derive some or all of their content from
data files or databases.
11Steps
- 1. useful information such as URL links and
inputs for each URL is extracted from the
application source. - 2. an application graph, where nodes represent
URLs and edges represent URL links, is generated
and then simplified according to URL link types. - 3. some paths through the graph are selected
based on the cyclomatic complexity theory. Each
path corresponds to one or more test case. - 4. for each path, AGENDA is used to generate
inputs for each URL. The path, along with these
inputs constitutes a test case. An XML file
representing the test case is generated. - 5. the test case in the XML file is automatically
executed and AGENDA checks the new database state
and the output pages. (HttpClient is used to
execute the test cases.)
12Case Study
- Use TPC-W benchmark, an online book store.
- No faults report.
13Paper 3 Modeling and Testing Web-based
Applications
- Ye Wu, Jeff Offutt
- Information and Software Engineering Department,
George Mason University, Fairfax, VA, 22030 - GMU ISE Technical ISE-TR-02-08, November 2002
14- Contributions provide a way to model the
internal structure of a web page and model the
transitions between web pages. - Defects do not provide a test case generation
algorithm.
15Atomic Section
- Atomic section is a static HTML file or a section
of a server program that prints HTML. - It has an all-or-nothing property.
- Atomic sections are combined to form more complex
units.
16(No Transcript)
17Composition Rule
- p is a composite section of a server program P
if - 1. Basis p is an atomic section.
- 2. Sequence (p ? p1 p2)
- 3. Selection p ? p1 p2
- 4. Aggregation p1 p2
- the composition rule for the above example is P
? p1 (p2 p3) p4 - The above representation can be used to model the
internal structure of individual server
components.
18Transition Rules (transition between components)
- In the following, p and q are composite sections
and s is a servlet or other software component - 1. Link Transition (p gt q) Invoking a link in p
causes a transition to q. - 2. Composite Transition (s ? p) The execution of
s causes p to be produced and returned to the
client. - 3. Operational Transition (p -gt q) The user can
inject new transitions out of the softwares
control by pressing the back button or the
refresh button.
19Web Application Model
- A web application W is modeled as a triple S, C,
T. - S is the start page.
- C is a set of composition rules for each
component. - T is a set of transition rules.
20Test Case Generation
- A derivation is a sequence of transitions that
begins at the start page, and uses composition
and transition rules to reach the desired page. - Each derivation can be used to create a test
case. - But no test case generation algorithm is provided
in this paper.
21Paper 4 Web Application Slicing
- Filippo Ricca, Paolo Tonella
- ITC-irst
- Centro per la Ricerca Scientifica e Tecnologica
- 38050 Povo (Trento), Italy
- Proceedings of the IEEE International Conference
on Software Maintenance (ICSM'01), Nov. 2001,
Florence, Italy, pp. 148-157
22(No Transcript)
23Web Application Slicing
- Definition a web application slice is obtained
from a given set of web pages and scripts by
removing HTML and script statements according to
some criterion, so that part of the behavior of
the initial web application remains. - A web application slice is computed as a
transitive closure over all dependences in the
associated SDG starting from a point of interest. - 4 types of dependences control dependences, data
dependences, call dependences, semantic
dependences.
24Control Dependence and Data Dependence
- A control dependence holds between two
PseudoVBScript statements if the former defines a
scope which directly includes the latter. - A data dependence holds between two
PseudoVBScript server side statements or between
a server side and an HTML statement if the former
defines the value of a variable which is used by
the latter, and a definition clear path exists
between the two.
25(No Transcript)
26Call Dependence and Semantic Dependence
- Call dependence between the HTML statement of
type submit and the associated dynamic page. - Semantic dependence holds between an informative
object and a PseudoVBScript statement if the
former provides information on the latter.
27Paper 5 Analysis and Testing of Web Applications
- Filippo Ricca, Paolo Tonella
- ITC-irst
- Centro per la Ricerca Scientifica e Tecnologica
- 38050 Povo (Trento), Italy
- In 23rd International Conference on Software
Engineering (ICSE 01), pages 25-34, Toronto, CA,
May 2001
28- White-box testing.
- Contributions provide a test case generation
algorithm for web applications. - Defects find no faults when applying this
methodology on 2 web site value of user inputs
may affect the execution sequences of
transactions, but this paper do not provide an
methodology to generate appropriate inputs for a
test case.
29(No Transcript)
30Static Verification
- Unreachable pages pages in the server site but
unreachable. - Ghost pages a link may reference a non-existing
page. - Undesirable reaching frames page is loaded into
the frame when it is should not. - Data dependence check check the definition and
usage of each variable in the input set.
31Dynamic validation
- Page testing every page should be visited at
least once. - Hyperlink testing every hyperlink is traversed
at least once. - Definition-use testing all navigation paths from
every definition of a variable to every use of it
should be exercised. - All-use testing at least one navigation path
from every definition of a variable to every use
of it is exercised. - All-paths testing every path is traversed at
least once.
32Test Case Generation
- A path expression is an algebraic representation
of the paths in a graph. - An example of path expression is (e1e3 e2e4).
It corresponds to a site where the initial page,
say p1, is followed either by p2 or p3 (edge e1
or e2). In turn, pages p2 and p3 are connected to
p1 via e3 and e4 respectively. - An algorithm is provided to find the minimum
number of paths from path expression to satisfy a
criterion. - Tools RebWeb and TestWeb. Test 2 web site
wordnet and amazon. Find no faults in wordnet,
and one abnormal behavior in amazon.
P1
e4
e3
e1
e2
P2
P3
33Paper 6 Structural Testing of Web Applications
- Chien-Hung Liu, David C. Kung, Pei Hsia,
- Department of Computer Science and Engineering,
The University of Texas at Arlington, P.O. Box
19015, - Arlington, TX 76019-0015
- Chih-Tung Hsu
- Sun Microsystems, Inc. M/S UNWK03-105
- 8000 Central Ave., Newark, CA 94560
- In Proceedings of the 11th Annual International
Symposium on Software Reliability Engineering,
pages 84-96, San Jose CA, October 2000.
34- Contribution provide a data-flow testing
methodology for web testing. - Defects no faults report of applying this
methodology.
35Data Flow for HTML and XML
- DOM technology enables HTML and XML documents to
be manipulated by exposing each HTML/XML document
element as an object. - The data flow analysis should include document
elements of HTML and XML.
36Web Application Test Model (WATM)
- Each component of a web application is modeled by
an object consisting attributes and operations. - 3 types of objects client pages, server pages,
components. - A component can be an HTML template, a Java
applet, an ActiveX control, a Java Bean, or any
program module that interacts with the client
pages, server pages or other components. - Attributes can be either program variables or
document elements. - Operations can be functions written in scripting
or programming languages. - Object Relation Diagram (ORD). 7 relationship
type request, response, navigation, redirect,
inheritance, aggregation, association.
37Generate Data-Flow Test Cases
- Function level test individual functions for the
variables that have def-use chain limited to a
single function. - Function cluster level test a cluster of
functions within an object for the variables
whose def-use chains involve more than one
function in the cluster. A function cluster of an
object is a set of functions that are related by
their calling relations. - Object level test various function invocation
sequences within an object for the variables
whose def-use chains can be changed by different
invoking sequences. - Object cluster level test a cluster of objects
for the variables whose def-use chains cross the
objects in the cluster. An object cluster is a
set of objects that are associated via message
passing. - Application level test application-scope
variables whose def-use chains cross different
clients that can access the application.
38Part B 3 Web Testing Related Papers (no test
case generation)
39Paper 7 Constructing an Object-Oriented
Architecture for Web Application Testing
- Ji-Tzay Yang, Jiun-Long Huang, Feng-Jian Wang,
William. C. Chu - Department of Computer Science and Information
Engineering, National Chiao Tung University,
Hsinchu, 300 Taiwan - Journal of Information Science and Engineering,
18(1)59-84, Jan. 2002
40(No Transcript)
41Testing Architecture 5 subsystems
- The source document analysis subsystem.
- The test management subsystem.
- The test development subsystem.
- The test execution subsystem.
- The test failure analysis subsystem.
42(No Transcript)
43(No Transcript)
44- Please refer to the paper for the rest of
subsystems. - Since this paper does not have an testing
algorithm, I will just skip it.
45Paper 8 Rigorous and Automatic Testing of Web
Applications
- Xiaoping Jia, Hongming Liu
- School of Computer Science, Telecommunication and
Information Systems, Depaul University, Chicago,
Illinois - In 6th IASTED International Conference on
Software Engineering and Applications (SEA 2002),
pages 280-285, Cambridge, MA, Nov. 2002.
46The Approach
- Using a formal specification language (in XML) to
specify the testing process, as well as the
functionality, security and performance of a web
application. - NO test case generation algorithm.
- It assumes the test cases are already generated.
This approach is just to automatically execute
the test cases and compare the output.
47Paper 9 Bypass Testing of Web Applications
- Jeff Offutt, Ye Wu, Xiaochen Du, Hong Huang
- Information and Software Engineering
- George Mason University, Fairfax, VA 22030
- 15th International Symposium on Software
Reliability Engineering (ISSRE 04), Nov. 2004,
page 187-197
48- In web application, input validation is often
performs with scripting languages such as
JavaScript. - But the end users can bypass this validation.
- Bypass testing is to detect this type of security
faults.
49Appendix
50Some Ideas
- We may combine control dependence and data
dependence. - Input value from user may affect the sequence of
web pages. So how to generate value for input of
a test case may be a problem.