Web Testing Papers - PowerPoint PPT Presentation

About This Presentation
Title:

Web Testing Papers

Description:

... WA 99164 Jeff Offutt, Info and Software Engineering ... Illinois In 6th IASTED International Conference on Software Engineering and Applications (SEA ... – PowerPoint PPT presentation

Number of Views:165
Avg rating:3.0/5.0
Slides: 51
Provided by: zhe51
Learn more at: http://www.cs.albany.edu
Category:

less

Transcript and Presenter's Notes

Title: Web Testing Papers


1
Web Testing Papers
  • Zhenyu Dai

2
Part A 6 papers related to test case generation
3
Paper 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.

5
Type 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.

6
Phase 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.

7
Phase 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.

8
Paper 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.

11
Steps
  • 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.)

12
Case Study
  • Use TPC-W benchmark, an online book store.
  • No faults report.

13
Paper 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.

15
Atomic 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)
17
Composition 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.

18
Transition 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.

19
Web 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.

20
Test 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.

21
Paper 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)
23
Web 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.

24
Control 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)
26
Call 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.

27
Paper 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)
30
Static 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.

31
Dynamic 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.

32
Test 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
33
Paper 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.

35
Data 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.

36
Web 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.

37
Generate 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.

38
Part B 3 Web Testing Related Papers (no test
case generation)
39
Paper 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)
41
Testing 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.

45
Paper 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.

46
The 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.

47
Paper 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.

49
Appendix
50
Some 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.
Write a Comment
User Comments (0)
About PowerShow.com