Prioritizing User-session-based Test Cases for Web Applications Testing Sreedevi Sampath, Renne C. Bryce, Gokulanand Viswanath, Vani Kandimalla, A.Gunes.

Slides:



Advertisements
Similar presentations
Test Yaodong Bi.
Advertisements

Applications of Synchronization Coverage A.Bron,E.Farchi, Y.Magid,Y.Nir,S.Ur Tehila Mayzels 1.
Time-Aware Test Suite Prioritization Kristen R. Walcott, Mary Lou Soffa University of Virginia International Symposium on Software Testing and Analysis.
An Evaluation of MC/DC Coverage for Pair-wise Test Cases By David Anderson Software Testing Research Group (STRG)
Mahadevan Subramaniam and Bo Guo University of Nebraska at Omaha An Approach for Selecting Tests with Provable Guarantees.
CS527: Advanced Topics in Software Engineering (Software Testing and Analysis) Darko Marinov September 18, 2008.
Software Quality Assurance Plan
November 5, 2007 ACM WEASEL Tech Efficient Time-Aware Prioritization with Knapsack Solvers Sara Alspaugh Kristen R. Walcott Mary Lou Soffa University of.
Effectively Prioritizing Tests in Development Environment
Software Testing and Quality Assurance
Development of a Web Based B&B Reservation System Elizabeth Gates 22July04.
Swami NatarajanJune 17, 2015 RIT Software Engineering Reliability Engineering.
SE 450 Software Processes & Product Metrics Reliability Engineering.
Michael Ernst, page 1 Improving Test Suites via Operational Abstraction Michael Ernst MIT Lab for Computer Science Joint.
Soft. Eng. II, Spr. 2002Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 9 Title : Reliability Reading: I. Sommerville, Chap. 16, 17 and 18.
Parameterizing Random Test Data According to Equivalence Classes Chris Murphy, Gail Kaiser, Marta Arias Columbia University.
(c) 2007 Mauro Pezzè & Michal Young Ch 1, slide 1 Software Test and Analysis in a Nutshell.
User-session based Testing of Web Applications. Two Papers l A Scalable Approach to User-session based Testing of Web Applications through Concept Analysis.
1 Detecting Logic Vulnerabilities in E- Commerce Applications Presenter: Liu Yin Slides Adapted from Fangqi Sun Computer Science Department College of.
Composing a Framework to Automate Testing of Operational Web-Based Software Reham Alhejiali, Chris Cederstrom, Ranjitha Kashyap.
High Level: Generic Test Process (from chapter 6 of your text and earlier lesson) Test Planning & Preparation Test Execution Goals met? Analysis & Follow-up.
Software Testing Prasad G.
State coverage: an empirical analysis based on a user study Dries Vanoverberghe, Emma Eyckmans, and Frank Piessens.
Finding Bugs in Web Applications Using Dynamic Test Generation and Explicit-State Model Checking -Shreyas Ravindra.
Test Design Techniques
TEST CASE DESIGN Prepared by: Fatih Kızkun. OUTLINE Introduction –Importance of Test –Essential Test Case Development A Variety of Test Methods –Risk.
Test coverage Tor Stålhane. What is test coverage Let c denote the unit type that is considered – e.g. requirements or statements. We then have C c =
Software Reliability Categorising and specifying the reliability of software systems.
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
A Framework for Automated Web Application Security Evaluation
Copyright © Siemens AG All rights reserved. Essential Criteria on MBT to Ensure Quality of Software in Industry PVR Murthy Andreas Ulrich Siemens.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
CPIS 357 Software Quality & Testing
Validation Metrics. Metrics are Needed to Answer the Following Questions How much time is required to find bugs, fix them, and verify that they are fixed?
Introduction Telerik Software Academy Software Quality Assurance.
Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing.
1 How to Apply Static and Dynamic Analysis in Practice © Software Quality Week ‘97 How to Apply Static and Dynamic Analysis in Practice - Otto Vinter Manager.
What is Software Testing? And Why is it So Hard J. Whittaker paper (IEEE Software – Jan/Feb 2000) Summarized by F. Tsui.
IT Requirements Management Balancing Needs and Expectations.
WebVizOr: A Fault Detection Visualization Tool for Web Applications Goal: Illustrate and evaluate the uses of WebVizOr, a new tool to aid web application.
Ontology Evolution and Regression Analysis Insights into Ontology Regression Testing Maria Copeland Rafael Goncalvez Robert Stevens Bijan Parsia Uli Sattler.
Introduction to Software Testing. Types of Software Testing Unit Testing Strategies – Equivalence Class Testing – Boundary Value Testing – Output Testing.
1 Introduction to Software Engineering Lecture 1.
Today’s Agenda  HW #1  Finish Introduction  Input Space Partitioning Software Testing and Maintenance 1.
Comparing model-based and dynamic event-extraction based GUI testing techniques : An empirical study Gigon Bae, Gregg Rothermel, Doo-Hwan Bae The Journal.
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
21/12/20151 T h i s p r e s e n t a t i o n w i l l p r o b a b l y i n v o l v e a u d i e n c e d i s c u s s i o n, w h i c h w i l l c r e a t e a.
LOGO TESTING Team 8: 1.Nguyễn Hoàng Khánh 2.Dương Quốc Việt 3.Trang Thế Vinh.
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
Dynamic Testing.
CS527 Topics in Software Engineering (Software Testing and Analysis) Darko Marinov September 7, 2010.
T EST T OOLS U NIT VI This unit contains the overview of the test tools. Also prerequisites for applying these tools, tools selection and implementation.
 Software reliability is the probability that software will work properly in a specified environment and for a given amount of time. Using the following.
Software Testing and Quality Assurance Practical Considerations (1) 1.
16 Copyright © 2004, Oracle. All rights reserved. Testing the Migrated Oracle Database.
Cs498dm Software Testing Darko Marinov January 24, 2012.
1 Visual Computing Institute | Prof. Dr. Torsten W. Kuhlen Virtual Reality & Immersive Visualization Till Petersen-Krauß | GUI Testing | GUI.
Software Metrics and Reliability
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Regression Testing with its types
Software Engineering (CSI 321)
Generating Automated Tests from Behavior Models
Hardware & Software Reliability
Deriving Test Data for Web Applications from User Session Logs
Software Reliability Definition: The probability of failure-free operation of the software for a specified period of time in a specified environment.
Applied Software Implementation & Testing
Test coverage Tor Stålhane.
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Department of Computer Science Regression Testing.
Software Testing COM /12/2019 Testing/Spring 98.
Presentation transcript:

Prioritizing User-session-based Test Cases for Web Applications Testing Sreedevi Sampath, Renne C. Bryce, Gokulanand Viswanath, Vani Kandimalla, A.Gunes Koru University of Maryland University of Nevada Sreedevi Sampath, Renne C. Bryce, Gokulanand Viswanath, Vani Kandimalla, A.Gunes Koru University of Maryland University of Nevada

Demand in Secure & Reliable Web Applications A web application is a set of static or dynamic web pages that are accessible through a browser over a network  Critical part of business for many organizations  Must be available 24/7  Failures in this domain result in losses of millions of dollars A web application is a set of static or dynamic web pages that are accessible through a browser over a network  Critical part of business for many organizations  Must be available 24/7  Failures in this domain result in losses of millions of dollars

Complications for Automated Testing  Fix bugs and deploy a new version within a short time frame  Number of integration technologies - third party reusable modules - a well-defined, layered architecture - dynamically generated pages with dynamic context - extensions to an application framework  Changes in database information  Fix bugs and deploy a new version within a short time frame  Number of integration technologies - third party reusable modules - a well-defined, layered architecture - dynamically generated pages with dynamic context - extensions to an application framework  Changes in database information

Previous Work: Testing with User-Session-based Test  Logs of actual usage data are converted into test cases to run regression tests (Spenkle et al, 2005)  Efficient at detecting faults but unscalable with larger numbers of user sessions (Elbaum et al. 2005)  Reduced user-session-based test suites on “covering all base requests” criterion (Sampath 2007)  Logs of actual usage data are converted into test cases to run regression tests (Spenkle et al, 2005)  Efficient at detecting faults but unscalable with larger numbers of user sessions (Elbaum et al. 2005)  Reduced user-session-based test suites on “covering all base requests” criterion (Sampath 2007)

Previous Work: Prioritizing Test Cases Schedule the test cases according to some criterion to satisfy a performance goal Criteria: semantic differences between 2 programs (Binkley 1992) coverage of requirements (Offut 1995) fault exposure potential (Rothermel 2001) fault likelihood (Elbaum 2002) length of tests for GUI-based programs (Bryce & Memon 2007) All strategies prioritize test cases for C and Java programs. Schedule the test cases according to some criterion to satisfy a performance goal Criteria: semantic differences between 2 programs (Binkley 1992) coverage of requirements (Offut 1995) fault exposure potential (Rothermel 2001) fault likelihood (Elbaum 2002) length of tests for GUI-based programs (Bryce & Memon 2007) All strategies prioritize test cases for C and Java programs.

Prioritization for Web Application Testing This work  Expands upon previous prioritization work to develop strategy specifically for web application testing  Empirically evaluates strategies using user-session-based test suites  Gives guidance to testers based on the results of their empirical evaluation This work  Expands upon previous prioritization work to develop strategy specifically for web application testing  Empirically evaluates strategies using user-session-based test suites  Gives guidance to testers based on the results of their empirical evaluation

Motivation and Approach Outline Criterion:  Length Based  Base Request Long to Short (Req-LtoS)  Base Request Short to Long (Req-StoL)  Parameter Value Long to Short (PV-LtoS)  Parameter Value Short to Long (PV-StoL)  Frequency Based  Most Frequently Accessed Sequence (MFAS)  All Accessed Sequences (AAS)  Parameter Value Coverage  Unique Coverage of Parameter Values (1-way)  2-way Parameter-Value Interaction Coverage (2-way) Criterion:  Length Based  Base Request Long to Short (Req-LtoS)  Base Request Short to Long (Req-StoL)  Parameter Value Long to Short (PV-LtoS)  Parameter Value Short to Long (PV-StoL)  Frequency Based  Most Frequently Accessed Sequence (MFAS)  All Accessed Sequences (AAS)  Parameter Value Coverage  Unique Coverage of Parameter Values (1-way)  2-way Parameter-Value Interaction Coverage (2-way) Test suite prioritization uses the entire test suite for execution but the test cases are ordered based on criteria that attempts to detect faults as quickly as possible in test execution cycle

Approach: Test Case Prioritization Criteria: Test Length Order by the number of HTTP base requests in a test case  Descending order of length (Req-LtoS)  Ascending order of length (Req-StoL), where length of a test case is defined as the number of base requests the test case contains counting duplicates. Order by the number of HTTP base requests in a test case  Descending order of length (Req-LtoS)  Ascending order of length (Req-StoL), where length of a test case is defined as the number of base requests the test case contains counting duplicates.

Approach: Test Case Prioritization Criteria: Frequency-based Prioritization Test cases that cover most frequently accessed pages/sequence of pages are selected for execution before test cases that exercise the less frequently accessed pages/sequences of pages in the entire test suite Sequences are considered:  in terms of base requests  that involve interactions between JSP and JSP servlet pages  of size 2 Test cases that cover most frequently accessed pages/sequence of pages are selected for execution before test cases that exercise the less frequently accessed pages/sequences of pages in the entire test suite Sequences are considered:  in terms of base requests  that involve interactions between JSP and JSP servlet pages  of size 2

Two Ways to Prioritize Frequently Accessed Sequences  All Accessed Sequences (AAS) For each sequence in the application, beginning with the most frequently accessed sequence, test cases that have max. occurrences of these sequences are selected for execution before other test cases in the test suite  All Accessed Sequences (AAS) For each sequence in the application, beginning with the most frequently accessed sequence, test cases that have max. occurrences of these sequences are selected for execution before other test cases in the test suite  Most Frequently Accessed Sequence (MFAS) Orders test cases in decreasing order of the number of times that sequence appears in the test case

Systematic Prioritization by Parameter-Values Pages that contain parameters for which users may specify values Criterion:  Length Based  Base Request Long to Short (Req-LtoS)  Base Request Short to Long (Req-StoL)  Parameter Value Long to Short (PV-LtoS)  Parameter Value Short to Long (PV-StoL)  Frequency Based  Most Frequently Accessed Sequence (MFAS)  All Accessed Sequences (AAS)  Parameter Value Coverage  Unique Coverage of Parameter Values (1-way)  2-way Parameter-Value Interaction Coverage (2-way)

Systematic Prioritization by Parameter-Values Unique Parameter-Value Coverage The 1-way criterion selects a next test that maximizes the number of parameter-values that have not appeared in previously selected tests

Systematic Prioritization by Parameter-Values Parameter-Value Interaction Coverage The 2-way criterion selects a next test that maximizes the number of 2-way parameter-value interactions between pages that occur in a test The 2-way criterion selects a next test that maximizes the number of 2-way parameter-value interactions between pages that occur in a test

Systematic Prioritization by Parameter-Values Length by Parameter-Value Counts  Prioritize test by the number of parameter- values in a test case

Approach Outline Criterion:  Length Based  Base Request Long to Short (Req-LtoS)  Base Request Short to Long (Req-StoL)  Parameter Value Long to Short (PV-LtoS)  Parameter Value Short to Long (PV-StoL)  Frequency Based  Most Frequently Accessed Sequence (MFAS)  All Accessed Sequences (AAS)  Parameter Value Coverage  Unique Coverage of Parameter Values (1-way)  2-way Parameter-Value Interaction Coverage (2-way) Criterion:  Length Based  Base Request Long to Short (Req-LtoS)  Base Request Short to Long (Req-StoL)  Parameter Value Long to Short (PV-LtoS)  Parameter Value Short to Long (PV-StoL)  Frequency Based  Most Frequently Accessed Sequence (MFAS)  All Accessed Sequences (AAS)  Parameter Value Coverage  Unique Coverage of Parameter Values (1-way)  2-way Parameter-Value Interaction Coverage (2-way)

Experimental Methodology

Experimental Evaluation Evaluation is based on:  Fault detection rate  Average percent of faults detected  Execution time of the test suite Subject Applications (test suites):  Book - e-commerce bookstore  CPM - create grader accounts for TA  Masplas – web app for regional workshop Evaluation is based on:  Fault detection rate  Average percent of faults detected  Execution time of the test suite Subject Applications (test suites):  Book - e-commerce bookstore  CPM - create grader accounts for TA  Masplas – web app for regional workshop

Evaluation Metrics  Rate of fault detection  Average percentage of faults detected  Rate of fault detection  Average percentage of faults detected Study is based on:  Finding most faults in earliest tests (first 10% of tests executed)  Finding 100% of the faults earliest

Experimental Evaluation (contd…) Categories of fault seeded:  Data Store - faults that exercise code interacting with data  Logical - code logic errors in control flow  Form based  Appearance - change in perceiving user’s view of the page  Links - change of hyperlink locations Categories of fault seeded:  Data Store - faults that exercise code interacting with data  Logical - code logic errors in control flow  Form based  Appearance - change in perceiving user’s view of the page  Links - change of hyperlink locations

Result Analysis for CPM  AAS is most effective technique to find most faults in the earliest test  2-way parameter value interaction is most effective technique to find all the faults at the earliest

Result Analysis for Masplas  Req-LtoS - Test length based on number of base requests (descending) is most effective technique to find most faults in the earliest test  2-way parameter value interaction is most effective technique to find all the faults at the earliest

Result Analysis for Book  1-way parameter value interaction is most effective technique to find most faults in the earliest test  MFAS and 1-way parameter value interaction are most effective techniques to find all the faults at the earliest

Summary of results  Choice of the testing technique is based on the tester’s goal and characteristics of web application  The 2-way parameter value interaction and PV-LToS technique is to be used when the primary goal is to find 100% of faults at the earliest  Frequency based technique needs to be used to validate the functionality of frequently used web pages of an application  Choice of the correct prioritization would help in finding and fixing the faults in application quickly, thus saving cost impact  Choice of the testing technique is based on the tester’s goal and characteristics of web application  The 2-way parameter value interaction and PV-LToS technique is to be used when the primary goal is to find 100% of faults at the earliest  Frequency based technique needs to be used to validate the functionality of frequently used web pages of an application  Choice of the correct prioritization would help in finding and fixing the faults in application quickly, thus saving cost impact

Future Work  Consideration of costs associated with prioritization strategies  Evaluate hybrid approaches to prioritization (combining prioritization techniques)  Extension to frequency based metrics to include other metrics  Consideration of costs associated with prioritization strategies  Evaluate hybrid approaches to prioritization (combining prioritization techniques)  Extension to frequency based metrics to include other metrics

Conclusion Prioritization criteria improve the rate of fault detection of test suites when compared to random ordering of test cases