SlideShare une entreprise Scribd logo
1  sur  20
A Technique for Reducing User
      Session Data Sets
  in Web Application Testing

               Porfirio Tramontana
               Anna Rita Fasolino
         Dipartimento di Informatica e Sistemistica
            University of Naples Federico II, Italy


              Giuseppe A. Di Lucca
     RCOST – Research Centre on Software Technology
          University of Sannio, Benevento, Italy


                                                      1
Testing Existing Web Applications
   Open issue:
       Automatic generation of a minimal test suite
        for exercising functionalities of an existing
        Web Application

   Possible solutions:
       White Box testing techniques, based on the
        analysis of the source code of Web
        Application artifacts (i.e. server pages and
        components)
       Black Box testing techniques, based on the
        analysis of the user interactions (returned
        client pages and user actions)              2
Black Box testing techniques

   Based on the analysis of interactions between user
    and system:
        Collection and analysis of the traces of the interactions
         between the user and the Web Application:

User session data based techniques
   Recently adopted in the Web Applications testing field by:
      S. Elbaum, G. Rothermel, S. Karre, M.Fisher: “Leveraging User-Session

       Data to support Web Application Testing”, IEEE TSE 2005
      S. Sampath, V. Mihaylov, A. Souter, L. Pollock: “ Composing a framework to

       automate testing of operational Web-based software”, ICSM 2004
        …




                                                                               3
User-session data based techniques
   A set of user sessions are collected by monitoring
    real Web Application executions;

   Each user session covers a subset of the execution
    scenarios of the Web Application;

   Any user session is associated with a candidate
    test case;

   A test suite is a set of user sessions.
                                                   4
User-session data based techniques
   The effectiveness of a test suite obtained by
    collecting user sessions depends on the ability to
    test any execution scenario of the application

   Wider the user session                   set,    greater      the
    effectiveness of the test suite

   But …
       Wider the test suite size, greater the testing effort !
   So …
       Reduction techniques are needed in order to have
        minimal test suites reproducing any execution scenario

                                                                  5
The proposed testing strategy

Three steps:
1. User Session collection and analysis



2.   User Session reduction

3.   Test Suite Generation


                                          6
1. User Session Collection

   A User Session is a
    representation     of    a
                                               User Session
                                                  T race


    sequence of interactions
    between an user and a
                                                  +starti ng page
                                                                                                              Parameter
                                                                                    Parameter Set


    Web Application. It can be
                                                      Web Page                                              name
                                                                    +target page                            value



    composed of:
       Server pages directly called       Cli ent Page        Server Page


        by the user;
       Static Client pages directly                                                                    *

        called by the user;             Stati c Cli ent
                                            Page
                                                           Built Cl ient
                                                              Page
                                                                             *
                                                                                   Built Cl ient Page Equi val ence Class


       Client pages built on request
        by server pages


                                                                                                                      7
Built Client Pages Analysis
   Any Built Client Page
                                          Login
    experienced by a user is
                                          Request
    assumed as an istantiation
    of a basic scenario

   Similar Built Client Pages
    correspond to the execution
    of equivalent scenarios               Incorrect
                                          Login




                                          Login
                                          Successful

                                               8
Built Client Pages and Use Case Scenrarios

   For each Server Page, the set of Built Client                                           Server Page

    Pages can be partitioned in Equivalent Built                                        1
                                                                                                  1
    Client Pages (EBCP) classes
                                                                            *                     1..*
   Assumption:                                                 Built Client Page   *       EBCP Class
         Built Client Pages belonging to the same EBCP class
          correspond to executions of the same basic use
          case scenario

   A user session can be collapsed into the sequence of corresponding EBCPs
   The coverage of the User Session is the set of EBCPs visited at least once during
    the session


User Session           Sequence of EBCPs
US4                    1 3 4 17 18 17 17 11 15 15 16 11 19 20 19 20 19 19 19 1
Covered EBCPs {1,3,4,11,15,16,17,18,19,20}
                                                                                                          9
Built Client Pages Classification
         How can be classified the Built Client Pages into EBCPs?

   By comparing HTML code of Built Client Pages
        Clone detection techniques

    or

   By Analysing the execution paths of server pages generating Built
    Client Pages
        BCPs belong to the same EBCP class if they are generated by Linear
         Dependent Execution paths
             This technique has been presented by Di Lucca and Di Penta in “Integrating
              static and dynamic analysis to improve the comprehension of existing Web
              applications”, WSE 2005

An expert has to validate the partitioning obtained by applying these
  techniques
                                                                                      10
2. User Session Reduction Technique
   The goal of the User Session
    reduction technique is to         User      Sequence Covered
    obtain a reduced set of user      Session   of EBCPs EBCPs

    sessions, including all the       US1       2434     {2,3,4}
    EBCPs       of   the    Web       US2       1413     {1,3,4}
    Application                       US3       123      {1,2,3}
                                      US4       66       {6}
                                      US5       646      {4,6}
                                      US6       5        {5}
       Coverage Matrix

                                  Each row is a User Session;
                                  Each column is an EBCP class
                                  Each cell is 1 if the corresponding
                                   User Session contains at least an
                                   instantiation of a BCP belonging to
                                   the corresponding EBCP class
                                                                     11
The Reduction Technique
    Three Criteria:
     Essentiality criterion:
          a user session USi is essential if it is
           the only user session containing a
           certain EBCP;

     Row dominance criterion:
          a user session USi is dominated by a
           user session USj if all EBCPs
           contained in USi are contained in USj
           too;                                          US6 is essential because it is the
                                                          unique User Session containing
                                                          P5
                                                         US4 is dominated by US5
                                                          because      all   the   EBCPs
    Column dominance criterion:                          contained in US4 are also
          an EBCP Pi dominates a EBCP Pj if Pi           contained in US5
           is contained in all user sessions             P3 dominates P1 and P2
                                                          because P3 is contained in all
           containing Pj.                                 the User Sessions containing
                                                          US1 or US2
                                                                                         12
The Reduction Technique
                                        Dominant
   Essential User Sessions
    belongs to the Reduced
    Set;
   EBCPs covered by Dominated
    Essential User
    Sessions are         Essential

   deleted
    Dominated User Sessions
    are deleted
   Dominant Pages are               Reduced Set:
    deleted                          US3, US5, US6
                                                     13
3. Test Suite Generation
   For each User Session belonging to the
    reduced set, a test case may be obtained,
    also taking into account:

       Pre-conditions (Web Application state before
        starting the User Session)

       Data exchanged between the user and the web
        pages
                                                 14
Case Study
   Based on the open source
    Web Application Bookstore
   The version under exam is
    realised in PHP4, supported
    by     a   Microsoft  Access
    database.
       28 Server Pages, three of
        which just included library
        functions and were not able to
        build any client page.
   The application was hosted by
    the Apache web server




                                         15
Equivalent Built Client Pages

   An incremental analysis has been carried
    out in order to identify the set of EBCPs
   We concluded our experimentation after 63
    User Session, when 33 different EBCPs was
    discovered
   We experienced that no new EBCPs was
    discovered by increasing the User Session
    Set




                                                16
Applying the Reduction Technique …

   Applying    the     presented
    reduction technique 8 User
    Sessions were selected

   Any of the 33 discovered
    EBCPs are actually covered by
    at least an User Session of the     Reduced Set
    reduced set

   A test suite containing 8 test
    cases, that is able to replay the
    user sessions belonging to the
    reduced set is generable


                                                      17
Conclusions and Future Works

   A technique for the extraction of a reduced test suite
    from User Session data has been presented

   This technique is based on an analysis and classification
    of Built Client Pages and on the reduction of the User
    Session set

   Case studies showed the effectiveness of the technique
    in reducing the size of the set of user sessions to be
    considered for testing


                                                           18
Future Works

   Some proposals:
       Experimentation with larger Web Applications

       Implementation of a complete framework that is able to collect and
        analyse User Sessions, to generate the reduced test suite and to be
        able to replay tests belonging to the reduced set

       Combination with reverse engineering approaches that are able to
        identify use case scenarios on Web Applications

       Evaluation of testing effectiveness, by checking different coverage
        criteria

       Application to regression testing

       Comparison with other reduction techniques

                                                                         19
20

Contenu connexe

Tendances (20)

Enterprise JavaBeans(EJB)
Enterprise JavaBeans(EJB)Enterprise JavaBeans(EJB)
Enterprise JavaBeans(EJB)
 
Enterprise Java Beans - EJB
Enterprise Java Beans - EJBEnterprise Java Beans - EJB
Enterprise Java Beans - EJB
 
Java bean
Java beanJava bean
Java bean
 
Ejb3 Presentation
Ejb3 PresentationEjb3 Presentation
Ejb3 Presentation
 
EJB3 Basics
EJB3 BasicsEJB3 Basics
EJB3 Basics
 
Free EJB Tutorial | VirtualNuggets
Free EJB Tutorial | VirtualNuggetsFree EJB Tutorial | VirtualNuggets
Free EJB Tutorial | VirtualNuggets
 
Session 1 Tp1
Session 1 Tp1Session 1 Tp1
Session 1 Tp1
 
EJB 3.0 and J2EE
EJB 3.0 and J2EEEJB 3.0 and J2EE
EJB 3.0 and J2EE
 
Lecture 8 Enterprise Java Beans (EJB)
Lecture 8  Enterprise Java Beans (EJB)Lecture 8  Enterprise Java Beans (EJB)
Lecture 8 Enterprise Java Beans (EJB)
 
Entity beans in java
Entity beans in javaEntity beans in java
Entity beans in java
 
EJB3 Advance Features
EJB3 Advance FeaturesEJB3 Advance Features
EJB3 Advance Features
 
Physical Architecture Layer Design
Physical Architecture Layer DesignPhysical Architecture Layer Design
Physical Architecture Layer Design
 
Java EE EJB Applications
Java EE EJB ApplicationsJava EE EJB Applications
Java EE EJB Applications
 
Development of web apps based on JSF (TU Vienna)
Development of web apps based on JSF (TU Vienna)Development of web apps based on JSF (TU Vienna)
Development of web apps based on JSF (TU Vienna)
 
Unit 07: Design Patterns and Frameworks (3/3)
Unit 07: Design Patterns and Frameworks (3/3)Unit 07: Design Patterns and Frameworks (3/3)
Unit 07: Design Patterns and Frameworks (3/3)
 
Unit 07: Design Patterns and Frameworks (2/3)
Unit 07: Design Patterns and Frameworks (2/3)Unit 07: Design Patterns and Frameworks (2/3)
Unit 07: Design Patterns and Frameworks (2/3)
 
J2 ee tutorial ejb
J2 ee tutorial ejbJ2 ee tutorial ejb
J2 ee tutorial ejb
 
Java unit 4_cs_notes
Java unit 4_cs_notesJava unit 4_cs_notes
Java unit 4_cs_notes
 
Mule overview
Mule overviewMule overview
Mule overview
 
Unit 1st and 3rd notes of java
Unit 1st and 3rd notes of javaUnit 1st and 3rd notes of java
Unit 1st and 3rd notes of java
 

Similaire à A Technique for Reducing User Session Data Sets in Web Application Testing

Introduction to ejb and struts framework
Introduction to ejb and struts frameworkIntroduction to ejb and struts framework
Introduction to ejb and struts frameworks4al_com
 
Developing an aspnet web application
Developing an aspnet web applicationDeveloping an aspnet web application
Developing an aspnet web applicationRahul Bansal
 
WARE: a tool for the Reverse Engineering of Web Applications
WARE: a tool for the Reverse Engineering of Web Applications WARE: a tool for the Reverse Engineering of Web Applications
WARE: a tool for the Reverse Engineering of Web Applications Porfirio Tramontana
 
Identifying Reusable Components in Web Applications
Identifying Reusable Components in Web ApplicationsIdentifying Reusable Components in Web Applications
Identifying Reusable Components in Web ApplicationsPorfirio Tramontana
 
Aravind vinnakota ejb_architecture
Aravind vinnakota ejb_architectureAravind vinnakota ejb_architecture
Aravind vinnakota ejb_architecturetayab4687
 
ASP.NET MVC as the next step in web development
ASP.NET MVC as the next step in web developmentASP.NET MVC as the next step in web development
ASP.NET MVC as the next step in web developmentVolodymyr Voytyshyn
 
Asp.net+interview+questions+and+answers
Asp.net+interview+questions+and+answersAsp.net+interview+questions+and+answers
Asp.net+interview+questions+and+answersMohan Raj
 
ASP, ASP.NET, JSP, COM/DCOM
ASP, ASP.NET, JSP, COM/DCOMASP, ASP.NET, JSP, COM/DCOM
ASP, ASP.NET, JSP, COM/DCOMAashish Jain
 
Intorduction to struts
Intorduction to strutsIntorduction to struts
Intorduction to strutsAnup72
 
TY.BSc.IT Java QB U5&6
TY.BSc.IT Java QB U5&6TY.BSc.IT Java QB U5&6
TY.BSc.IT Java QB U5&6Lokesh Singrol
 
Portfolio
PortfolioPortfolio
Portfoliojeanux
 
Build Java Web Application Using Apache Struts
Build Java Web Application Using Apache Struts Build Java Web Application Using Apache Struts
Build Java Web Application Using Apache Struts weili_at_slideshare
 
Using Service Discovery and Service Proxy
Using Service Discovery and Service ProxyUsing Service Discovery and Service Proxy
Using Service Discovery and Service ProxyIBM
 
Are Your Teams Writing Quality Code
Are Your Teams Writing Quality CodeAre Your Teams Writing Quality Code
Are Your Teams Writing Quality Codesentoh
 

Similaire à A Technique for Reducing User Session Data Sets in Web Application Testing (20)

Introduction to ejb and struts framework
Introduction to ejb and struts frameworkIntroduction to ejb and struts framework
Introduction to ejb and struts framework
 
Virtual classroom
Virtual classroomVirtual classroom
Virtual classroom
 
Developing an aspnet web application
Developing an aspnet web applicationDeveloping an aspnet web application
Developing an aspnet web application
 
WARE: a tool for the Reverse Engineering of Web Applications
WARE: a tool for the Reverse Engineering of Web Applications WARE: a tool for the Reverse Engineering of Web Applications
WARE: a tool for the Reverse Engineering of Web Applications
 
Identifying Reusable Components in Web Applications
Identifying Reusable Components in Web ApplicationsIdentifying Reusable Components in Web Applications
Identifying Reusable Components in Web Applications
 
Aravind vinnakota ejb_architecture
Aravind vinnakota ejb_architectureAravind vinnakota ejb_architecture
Aravind vinnakota ejb_architecture
 
Asp.net
Asp.netAsp.net
Asp.net
 
ASP.NET MVC as the next step in web development
ASP.NET MVC as the next step in web developmentASP.NET MVC as the next step in web development
ASP.NET MVC as the next step in web development
 
Asp.net+interview+questions+and+answers
Asp.net+interview+questions+and+answersAsp.net+interview+questions+and+answers
Asp.net+interview+questions+and+answers
 
ASP, ASP.NET, JSP, COM/DCOM
ASP, ASP.NET, JSP, COM/DCOMASP, ASP.NET, JSP, COM/DCOM
ASP, ASP.NET, JSP, COM/DCOM
 
Intorduction to struts
Intorduction to strutsIntorduction to struts
Intorduction to struts
 
Servlet.pptx
Servlet.pptxServlet.pptx
Servlet.pptx
 
Servlet.pptx
Servlet.pptxServlet.pptx
Servlet.pptx
 
TY.BSc.IT Java QB U5
TY.BSc.IT Java QB U5TY.BSc.IT Java QB U5
TY.BSc.IT Java QB U5
 
TY.BSc.IT Java QB U5&6
TY.BSc.IT Java QB U5&6TY.BSc.IT Java QB U5&6
TY.BSc.IT Java QB U5&6
 
Portfolio
PortfolioPortfolio
Portfolio
 
Build Java Web Application Using Apache Struts
Build Java Web Application Using Apache Struts Build Java Web Application Using Apache Struts
Build Java Web Application Using Apache Struts
 
Using Service Discovery and Service Proxy
Using Service Discovery and Service ProxyUsing Service Discovery and Service Proxy
Using Service Discovery and Service Proxy
 
Ejb notes
Ejb notesEjb notes
Ejb notes
 
Are Your Teams Writing Quality Code
Are Your Teams Writing Quality CodeAre Your Teams Writing Quality Code
Are Your Teams Writing Quality Code
 

Plus de Porfirio Tramontana

An Approach for Model Based Testing of Augmented Reality Applications.pdf
An Approach for Model Based Testing of Augmented Reality Applications.pdfAn Approach for Model Based Testing of Augmented Reality Applications.pdf
An Approach for Model Based Testing of Augmented Reality Applications.pdfPorfirio Tramontana
 
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...Porfirio Tramontana
 
Techniques and Tools for Mobile Testing Automation
Techniques and Tools for Mobile Testing AutomationTechniques and Tools for Mobile Testing Automation
Techniques and Tools for Mobile Testing AutomationPorfirio Tramontana
 
A technique for parallel gui testing of android applications
A technique for parallel gui testing of android applicationsA technique for parallel gui testing of android applications
A technique for parallel gui testing of android applicationsPorfirio Tramontana
 
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...Porfirio Tramontana
 
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...Porfirio Tramontana
 
Web Application Testing in Fifteen Years of WSE
Web Application Testing in Fifteen Years of WSEWeb Application Testing in Fifteen Years of WSE
Web Application Testing in Fifteen Years of WSEPorfirio Tramontana
 
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...Porfirio Tramontana
 
Comprehending Web Applications by a Clustering Based Approach
Comprehending Web Applications by a Clustering Based Approach Comprehending Web Applications by a Clustering Based Approach
Comprehending Web Applications by a Clustering Based Approach Porfirio Tramontana
 
Reverse Engineering Web Applications
Reverse Engineering Web ApplicationsReverse Engineering Web Applications
Reverse Engineering Web ApplicationsPorfirio Tramontana
 
Recovering Interaction Design Patterns in Web Applications
Recovering Interaction Design Patterns in Web Applications Recovering Interaction Design Patterns in Web Applications
Recovering Interaction Design Patterns in Web Applications Porfirio Tramontana
 
Improving Usability of Web Pages for Blind
Improving Usability of Web Pages for BlindImproving Usability of Web Pages for Blind
Improving Usability of Web Pages for BlindPorfirio Tramontana
 
Techniques and Tools for Rich Internet Applications Testing
Techniques and Tools for Rich Internet Applications TestingTechniques and Tools for Rich Internet Applications Testing
Techniques and Tools for Rich Internet Applications TestingPorfirio Tramontana
 
Comprehending Ajax Web Applications by the DynaRIA Tool
Comprehending Ajax Web Applications by the DynaRIA ToolComprehending Ajax Web Applications by the DynaRIA Tool
Comprehending Ajax Web Applications by the DynaRIA ToolPorfirio Tramontana
 
A GUI Crawling-based Technique for Android Mobile Application Testing
A GUI Crawling-based Technique for Android Mobile Application TestingA GUI Crawling-based Technique for Android Mobile Application Testing
A GUI Crawling-based Technique for Android Mobile Application TestingPorfirio Tramontana
 
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...Porfirio Tramontana
 
Considering Context Events in Event-Based Testing of Mobile Applications
Considering Context Events in Event-Based Testing of Mobile Applications Considering Context Events in Event-Based Testing of Mobile Applications
Considering Context Events in Event-Based Testing of Mobile Applications Porfirio Tramontana
 
Using GUI Ripping for Automated Testing of Android Apps
Using GUI Ripping for Automated Testing of Android AppsUsing GUI Ripping for Automated Testing of Android Apps
Using GUI Ripping for Automated Testing of Android AppsPorfirio Tramontana
 
A Toolset for GUI Testing of Android Applications
A Toolset for GUI Testing of Android ApplicationsA Toolset for GUI Testing of Android Applications
A Toolset for GUI Testing of Android ApplicationsPorfirio Tramontana
 
DynaRIA: a Tool for Ajax Web Application Comprehension
DynaRIA: a Tool for Ajax Web Application ComprehensionDynaRIA: a Tool for Ajax Web Application Comprehension
DynaRIA: a Tool for Ajax Web Application ComprehensionPorfirio Tramontana
 

Plus de Porfirio Tramontana (20)

An Approach for Model Based Testing of Augmented Reality Applications.pdf
An Approach for Model Based Testing of Augmented Reality Applications.pdfAn Approach for Model Based Testing of Augmented Reality Applications.pdf
An Approach for Model Based Testing of Augmented Reality Applications.pdf
 
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
 
Techniques and Tools for Mobile Testing Automation
Techniques and Tools for Mobile Testing AutomationTechniques and Tools for Mobile Testing Automation
Techniques and Tools for Mobile Testing Automation
 
A technique for parallel gui testing of android applications
A technique for parallel gui testing of android applicationsA technique for parallel gui testing of android applications
A technique for parallel gui testing of android applications
 
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...
 
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...
 
Web Application Testing in Fifteen Years of WSE
Web Application Testing in Fifteen Years of WSEWeb Application Testing in Fifteen Years of WSE
Web Application Testing in Fifteen Years of WSE
 
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
 
Comprehending Web Applications by a Clustering Based Approach
Comprehending Web Applications by a Clustering Based Approach Comprehending Web Applications by a Clustering Based Approach
Comprehending Web Applications by a Clustering Based Approach
 
Reverse Engineering Web Applications
Reverse Engineering Web ApplicationsReverse Engineering Web Applications
Reverse Engineering Web Applications
 
Recovering Interaction Design Patterns in Web Applications
Recovering Interaction Design Patterns in Web Applications Recovering Interaction Design Patterns in Web Applications
Recovering Interaction Design Patterns in Web Applications
 
Improving Usability of Web Pages for Blind
Improving Usability of Web Pages for BlindImproving Usability of Web Pages for Blind
Improving Usability of Web Pages for Blind
 
Techniques and Tools for Rich Internet Applications Testing
Techniques and Tools for Rich Internet Applications TestingTechniques and Tools for Rich Internet Applications Testing
Techniques and Tools for Rich Internet Applications Testing
 
Comprehending Ajax Web Applications by the DynaRIA Tool
Comprehending Ajax Web Applications by the DynaRIA ToolComprehending Ajax Web Applications by the DynaRIA Tool
Comprehending Ajax Web Applications by the DynaRIA Tool
 
A GUI Crawling-based Technique for Android Mobile Application Testing
A GUI Crawling-based Technique for Android Mobile Application TestingA GUI Crawling-based Technique for Android Mobile Application Testing
A GUI Crawling-based Technique for Android Mobile Application Testing
 
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
 
Considering Context Events in Event-Based Testing of Mobile Applications
Considering Context Events in Event-Based Testing of Mobile Applications Considering Context Events in Event-Based Testing of Mobile Applications
Considering Context Events in Event-Based Testing of Mobile Applications
 
Using GUI Ripping for Automated Testing of Android Apps
Using GUI Ripping for Automated Testing of Android AppsUsing GUI Ripping for Automated Testing of Android Apps
Using GUI Ripping for Automated Testing of Android Apps
 
A Toolset for GUI Testing of Android Applications
A Toolset for GUI Testing of Android ApplicationsA Toolset for GUI Testing of Android Applications
A Toolset for GUI Testing of Android Applications
 
DynaRIA: a Tool for Ajax Web Application Comprehension
DynaRIA: a Tool for Ajax Web Application ComprehensionDynaRIA: a Tool for Ajax Web Application Comprehension
DynaRIA: a Tool for Ajax Web Application Comprehension
 

Dernier

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 

Dernier (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 

A Technique for Reducing User Session Data Sets in Web Application Testing

  • 1. A Technique for Reducing User Session Data Sets in Web Application Testing Porfirio Tramontana Anna Rita Fasolino Dipartimento di Informatica e Sistemistica University of Naples Federico II, Italy Giuseppe A. Di Lucca RCOST – Research Centre on Software Technology University of Sannio, Benevento, Italy 1
  • 2. Testing Existing Web Applications  Open issue:  Automatic generation of a minimal test suite for exercising functionalities of an existing Web Application  Possible solutions:  White Box testing techniques, based on the analysis of the source code of Web Application artifacts (i.e. server pages and components)  Black Box testing techniques, based on the analysis of the user interactions (returned client pages and user actions) 2
  • 3. Black Box testing techniques  Based on the analysis of interactions between user and system:  Collection and analysis of the traces of the interactions between the user and the Web Application: User session data based techniques  Recently adopted in the Web Applications testing field by:  S. Elbaum, G. Rothermel, S. Karre, M.Fisher: “Leveraging User-Session Data to support Web Application Testing”, IEEE TSE 2005  S. Sampath, V. Mihaylov, A. Souter, L. Pollock: “ Composing a framework to automate testing of operational Web-based software”, ICSM 2004  … 3
  • 4. User-session data based techniques  A set of user sessions are collected by monitoring real Web Application executions;  Each user session covers a subset of the execution scenarios of the Web Application;  Any user session is associated with a candidate test case;  A test suite is a set of user sessions. 4
  • 5. User-session data based techniques  The effectiveness of a test suite obtained by collecting user sessions depends on the ability to test any execution scenario of the application  Wider the user session set, greater the effectiveness of the test suite  But …  Wider the test suite size, greater the testing effort !  So …  Reduction techniques are needed in order to have minimal test suites reproducing any execution scenario 5
  • 6. The proposed testing strategy Three steps: 1. User Session collection and analysis 2. User Session reduction 3. Test Suite Generation 6
  • 7. 1. User Session Collection  A User Session is a representation of a User Session T race sequence of interactions between an user and a +starti ng page Parameter Parameter Set Web Application. It can be Web Page name +target page value composed of:  Server pages directly called Cli ent Page Server Page by the user;  Static Client pages directly * called by the user; Stati c Cli ent Page Built Cl ient Page * Built Cl ient Page Equi val ence Class  Client pages built on request by server pages 7
  • 8. Built Client Pages Analysis  Any Built Client Page Login experienced by a user is Request assumed as an istantiation of a basic scenario  Similar Built Client Pages correspond to the execution of equivalent scenarios Incorrect Login Login Successful 8
  • 9. Built Client Pages and Use Case Scenrarios  For each Server Page, the set of Built Client Server Page Pages can be partitioned in Equivalent Built 1 1 Client Pages (EBCP) classes * 1..*  Assumption: Built Client Page * EBCP Class  Built Client Pages belonging to the same EBCP class correspond to executions of the same basic use case scenario  A user session can be collapsed into the sequence of corresponding EBCPs  The coverage of the User Session is the set of EBCPs visited at least once during the session User Session Sequence of EBCPs US4 1 3 4 17 18 17 17 11 15 15 16 11 19 20 19 20 19 19 19 1 Covered EBCPs {1,3,4,11,15,16,17,18,19,20} 9
  • 10. Built Client Pages Classification How can be classified the Built Client Pages into EBCPs?  By comparing HTML code of Built Client Pages  Clone detection techniques or  By Analysing the execution paths of server pages generating Built Client Pages  BCPs belong to the same EBCP class if they are generated by Linear Dependent Execution paths  This technique has been presented by Di Lucca and Di Penta in “Integrating static and dynamic analysis to improve the comprehension of existing Web applications”, WSE 2005 An expert has to validate the partitioning obtained by applying these techniques 10
  • 11. 2. User Session Reduction Technique  The goal of the User Session reduction technique is to User Sequence Covered obtain a reduced set of user Session of EBCPs EBCPs sessions, including all the US1 2434 {2,3,4} EBCPs of the Web US2 1413 {1,3,4} Application US3 123 {1,2,3} US4 66 {6} US5 646 {4,6} US6 5 {5} Coverage Matrix  Each row is a User Session;  Each column is an EBCP class  Each cell is 1 if the corresponding User Session contains at least an instantiation of a BCP belonging to the corresponding EBCP class 11
  • 12. The Reduction Technique Three Criteria:  Essentiality criterion:  a user session USi is essential if it is the only user session containing a certain EBCP;  Row dominance criterion:  a user session USi is dominated by a user session USj if all EBCPs contained in USi are contained in USj too;  US6 is essential because it is the unique User Session containing P5  US4 is dominated by US5 because all the EBCPs  Column dominance criterion: contained in US4 are also  an EBCP Pi dominates a EBCP Pj if Pi contained in US5 is contained in all user sessions  P3 dominates P1 and P2 because P3 is contained in all containing Pj. the User Sessions containing US1 or US2 12
  • 13. The Reduction Technique Dominant  Essential User Sessions belongs to the Reduced Set;  EBCPs covered by Dominated Essential User Sessions are Essential  deleted Dominated User Sessions are deleted  Dominant Pages are Reduced Set: deleted US3, US5, US6 13
  • 14. 3. Test Suite Generation  For each User Session belonging to the reduced set, a test case may be obtained, also taking into account:  Pre-conditions (Web Application state before starting the User Session)  Data exchanged between the user and the web pages 14
  • 15. Case Study  Based on the open source Web Application Bookstore  The version under exam is realised in PHP4, supported by a Microsoft Access database.  28 Server Pages, three of which just included library functions and were not able to build any client page.  The application was hosted by the Apache web server 15
  • 16. Equivalent Built Client Pages  An incremental analysis has been carried out in order to identify the set of EBCPs  We concluded our experimentation after 63 User Session, when 33 different EBCPs was discovered  We experienced that no new EBCPs was discovered by increasing the User Session Set 16
  • 17. Applying the Reduction Technique …  Applying the presented reduction technique 8 User Sessions were selected  Any of the 33 discovered EBCPs are actually covered by at least an User Session of the Reduced Set reduced set  A test suite containing 8 test cases, that is able to replay the user sessions belonging to the reduced set is generable 17
  • 18. Conclusions and Future Works  A technique for the extraction of a reduced test suite from User Session data has been presented  This technique is based on an analysis and classification of Built Client Pages and on the reduction of the User Session set  Case studies showed the effectiveness of the technique in reducing the size of the set of user sessions to be considered for testing 18
  • 19. Future Works  Some proposals:  Experimentation with larger Web Applications  Implementation of a complete framework that is able to collect and analyse User Sessions, to generate the reduced test suite and to be able to replay tests belonging to the reduced set  Combination with reverse engineering approaches that are able to identify use case scenarios on Web Applications  Evaluation of testing effectiveness, by checking different coverage criteria  Application to regression testing  Comparison with other reduction techniques 19
  • 20. 20

Notes de l'éditeur

  1. Exchanged parameters are considered, too, in order to replay user sessions
  2. We combine the indications given by the path analysis with the thinking of an expert