User-session based Testing of Web Applications. Two Papers l A Scalable Approach to User-session based Testing of Web Applications through Concept Analysis.

Slides:



Advertisements
Similar presentations
Minimum Clique Partition Problem with Constrained Weight for Interval Graphs Jianping Li Department of Mathematics Yunnan University Jointed by M.X. Chen.
Advertisements

A General Algorithm for Subtree Similarity-Search The Hebrew University of Jerusalem ICDE 2014, Chicago, USA Sara Cohen, Nerya Or 1.
Overcoming Limitations of Sampling for Agrregation Queries Surajit ChaudhuriMicrosoft Research Gautam DasMicrosoft Research Mayur DatarStanford University.
Query Optimization of Frequent Itemset Mining on Multiple Databases Mining on Multiple Databases David Fuhry Department of Computer Science Kent State.
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)
The State of the Art in Distributed Query Processing by Donald Kossmann Presented by Chris Gianfrancesco.
Abhinn Kothari, 2009CS10172 Parth Jaiswal 2009CS10205 Group: 3 Supervisor : Huzur Saran.
Test Case Filtering and Prioritization Based on Coverage of Combinations of Program Elements Wes Masri and Marwa El-Ghali American Univ. of Beirut ECE.
Prioritizing User-session-based Test Cases for Web Applications Testing Sreedevi Sampath, Renne C. Bryce, Gokulanand Viswanath, Vani Kandimalla, A.Gunes.
File Management Chapter 12. File Management File management system is considered part of the operating system Input to applications is by means of a file.
Hiperspace Lab University of Delaware Antony, Sara, Mike, Ben, Dave, Sreedevi, Emily, and Lori.
Subscription Subsumption Evaluation for Content-Based Publish/Subscribe Systems Hojjat Jafarpour, Bijit Hore, Sharad Mehrotra, and Nalini Venkatasubramanian.
SE curriculum in CC2001 made by IEEE and ACM: Overview and Ideas for Our Work Katerina Zdravkova Institute of Informatics
1 Software Testing and Quality Assurance Lecture 30 - Introduction to Software Testing.
Leveraging User Interactions for In-Depth Testing of Web Applications Sean McAllister, Engin Kirda, and Christopher Kruegel RAID ’08 1 Seoyeon Kang November.
Composing a Framework to Automate Testing of Operational Web-Based Software Reham Alhejiali, Chris Cederstrom, Ranjitha Kashyap.
Introduction to Software Testing
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 9 Functional Testing
Query Planning for Searching Inter- Dependent Deep-Web Databases Fan Wang 1, Gagan Agrawal 1, Ruoming Jin 2 1 Department of Computer.
Sys Prog & Scripting - HW Univ1 Systems Programming & Scripting Lecture 15: PHP Introduction.
Lucent Technologies – Proprietary Use pursuant to company instruction Learning Sequential Models for Detecting Anomalous Protocol Usage (work in progress)
Introduction to Software Testing Chapter 5.2 Program-based Grammars Paul Ammann & Jeff Offutt
AMOST Experimental Comparison of Code-Based and Model-Based Test Prioritization Bogdan Korel Computer Science Department Illinois Institute of Technology.
Database Systems Design, Implementation, and Management Coronel | Morris 11e ©2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Class Specification Implementation Graph By: Njume Njinimbam Chi-Chang Sun.
Panagiotis Antonopoulos Microsoft Corp Ioannis Konstantinou National Technical University of Athens Dimitrios Tsoumakos.
A Metadata Based Approach For Supporting Subsetting Queries Over Parallel HDF5 Datasets Vignesh Santhanagopalan Graduate Student Department Of CSE.
A Specification Language and Test Planner for Software Testing Aolat A. Adedeji 1 Mary Lou Soffa 1 1 DEPARTMENT OF COMPUTER SCIENCE, UNIVERSITY OF VIRGINIA.
Change Impact Analysis for AspectJ Programs Sai Zhang, Zhongxian Gu, Yu Lin and Jianjun Zhao Shanghai Jiao Tong University.
Database Management 9. course. Execution of queries.
PAUL ALEXANDRU CHIRITA STEFANIA COSTACHE SIEGFRIED HANDSCHUH WOLFGANG NEJDL 1* L3S RESEARCH CENTER 2* NATIONAL UNIVERSITY OF IRELAND PROCEEDINGS OF THE.
WebVizOr: A Fault Detection Visualization Tool for Web Applications Goal: Illustrate and evaluate the uses of WebVizOr, a new tool to aid web application.
Scalable Web Server on Heterogeneous Cluster CHEN Ge.
The Fast Optimal Voltage Partitioning Algorithm For Peak Power Density Minimization Jia Wang, Shiyan Hu Department of Electrical and Computer Engineering.
1 Nasser Alsaedi. The ultimate goal for any computer system design are reliable execution of task and on time delivery of service. To increase system.
Introduction to JavaServer Pages. 2 JSP and Servlet Limitations of servlet  It’s inaccessible to non-programmers JSP is a complement to servlet  focuses.
Ashley Montebello – CprE Katie Githens – SE Wayne Rowcliffe – SE Advisor/Client: Akhilesh Tyagi.
Java server pages. A JSP file basically contains HTML, but with embedded JSP tags with snippets of Java code inside them. A JSP file basically contains.
ROCK: A Robust Clustering Algorithm for Categorical Attributes Authors: Sudipto Guha, Rajeev Rastogi, Kyuseok Shim Data Engineering, Proceedings.,
Constraint Systems Laboratory 11/26/2015Zhang: MS Project Defense1 OPRAM: An Online System for Assigning Capstone Course Students to Sponsored Projects.
Computer Science 1 Mining Likely Properties of Access Control Policies via Association Rule Mining JeeHyun Hwang 1, Tao Xie 1, Vincent Hu 2 and Mine Altunay.
Extracting binary signals from microarray time-course data Debashis Sahoo 1, David L. Dill 2, Rob Tibshirani 3 and Sylvia K. Plevritis 4 1 Department of.
Comparing model-based and dynamic event-extraction based GUI testing techniques : An empirical study Gigon Bae, Gregg Rothermel, Doo-Hwan Bae The Journal.
1 Planted-model evaluation of algorithms for identifying differences between spreadsheets Anna Harutyunyan, Glencora Borradaile, Christopher Chambers,
Bloom Cookies: Web Search Personalization without User Tracking Authors: Nitesh Mor, Oriana Riva, Suman Nath, and John Kubiatowicz Presented by Ben Summers.
Database Management Systems, R. Ramakrishnan 1 Algorithms for clustering large datasets in arbitrary metric spaces.
Software Configuration Management SEII-Lecture 21
Rigorous Testing by Merging Structural and Behavioral UML Representations Presented by Chin-Yi Tsai.
Identifying “Best Bet” Web Search Results by Mining Past User Behavior Author: Eugene Agichtein, Zijian Zheng (Microsoft Research) Source: KDD2006 Reporter:
Chapter 9: Web Services and Databases Title: NiagaraCQ: A Scalable Continuous Query System for Internet Databases Authors: Jianjun Chen, David J. DeWitt,
On the Placement of Web Server Replicas Yu Cai. Paper On the Placement of Web Server Replicas Lili Qiu, Venkata N. Padmanabhan, Geoffrey M. Voelker Infocom.
Instance Discovery and Schema Matching With Applications to Biological Deep Web Data Integration Tantan Liu, Fan Wang, Gagan Agrawal {liut, wangfa,
Towards Defining and Exploiting Similarities in Web Application Use Cases through User Session Analysis Sreedevi Sampath, University of Delaware Amie Souter,
Building Preservation Environments with Data Grid Technology Reagan W. Moore Presenter: Praveen Namburi.
Tool Support for Testing Classify different types of test tools according to their purpose Explain the benefits of using test tools.
Cofax Scalability Document Version Scaling Cofax in General The scalability of Cofax is directly related to the system software, hardware and network.
Software Testing and Quality Assurance Practical Considerations (1) 1.
1 Visual Computing Institute | Prof. Dr. Torsten W. Kuhlen Virtual Reality & Immersive Visualization Till Petersen-Krauß | GUI Testing | GUI.
Regression Testing with its types
Deriving Test Data for Web Applications from User Session Logs
Database Performance Tuning and Query Optimization
White-Box Testing.
White-Box Testing.
Overview of Oracle Site Hub
Chapter 11 Database Performance Tuning and Query Optimization
Regression Testing.
Resource Allocation for Distributed Streaming Applications
By Hyunsook Do, Sebastian Elbaum, Gregg Rothermel
Presentation transcript:

User-session based Testing of Web Applications

Two Papers l A Scalable Approach to User-session based Testing of Web Applications through Concept Analysis –Uses concept analysis to reduce test suite size l An Empirical Comparison of Test Suite Reduction Techniques for User-session-based Testing of Web Applications –Compares concept analysis to other test suite reduction techniques

Talk Outline l Introduction l Background –User-session Testing –Concept Analysis l Applying Concept Analysis –Incremental Reduced Test Suite Update –Empirical Evaluation (Incremental vs. Batch) l Empirical Comparison of Concept Analysis to other Test Suite Reduction Techniques l Conclusions

Characteristics of Web-based Applications l Short time to market l Integration of numerous technologies l Dynamic generation of content l May contain millions of LOC l Extensive use –Need for high reliability, continuous availability l Significant interaction with users l Changing user profiles l Frequent small maintenance changes

User-session Testing l User session –A collection of user requests in the form of URL and name-value pairs l User sessions are transformed into test cases –Each logged request in a user session is changed into an HTTP request that can be sent to a web server l Previous studies of user-session testing –Previous results showed fault detection capabilities and cost effectiveness –Will not uncover faults associated with rarely entered data –Effectiveness improves as the number of sessions increases (downside: cost increases as well)

Contributions l View user sessions as use cases l Apply concept analysis for test suite reduction l Perform incremental test suite update l Automate testing framework l Evaluate cost effectiveness –Test suite size –Program coverage –Fault detection

Concept Analysis l Technique for clustering objects that have common discrete attributes l Input: –Set of objects O –Set of attributes A –Binary relation R Relates objects to attributes Implemented as a Boolean-valued table –A row for each object in O –A column for each attribute in A Table entry [o, a] is true if object o has attribute a, otherwise false

Concept Analysis (2) l Identifies concepts given (O, A, R) l Concept is a tuple (O i, A j ) –Concepts form a partial order l Output: –Concept lattice represented by a DAG Node represents concept Edge denotes the partial ordering –Top element T = most general concept Contains attributes that are shared by all objects in O –Bottom element  = most special concept Contains objects that have all attributes in A

Concept Analysis for Web Testing l Binary relation table –User session s = object –URL u = attribute –A pair (s, u) is in the relation table if s requests u

Concept Lattice Explained l Top node T –Most general concept –Contains URLs that are requested by all user sessions l Bottom node  –Most special concept –Contains user sessions that requests all URLs l Examples: –Identification of common URLs requested by 2 user sessions us3 and us4 –Identification of user sessions that jointly request 2 URLs PL and GS

Concept Analysis for Test Suite Reduction l Exploit lattice’s hierarchical use-case clustering l Heuristic –Identify smallest set of user sessions that will cover all URLs executed by original suite

Incremental Test Suite Update

Incremental Test Suite Update (2) l Incremental algorithm by Godin et al. –Create new nodes/edges –Modify existing nodes/edges l Next-to-bottom nodes may rise up in the lattice l Existing internal nodes never sink to the bottom l Test cases are not maintained for internal nodes l Set of next-to-bottom nodes (user sessions) form the test suite

Web Testing Framework

Empirical Evaluation l Test suite reduction –Test suite size –Replay time –Oracle time l Cost-effectiveness of incremental vs. batch concept analysis l Program coverage l Fault detection capabilities

Experimental Setup l Bookstore Application –9748 LOC –385 methods –11 classes l JSP front-end, MySQL backend l 123 user sessions l 40 seeded faults

Test Suite Reduction l Metrics –Test suite size –Replay time –Oracle time

Incremental vs. Batch Analysis l Metric –Space costs –Relative sizes of files required by incremental and batch techniques l Methodology –Batch: 123 user sessions processed –Incremental: 100 processed first, then 23 incrementally

Program Coverage l Metrics –Statement coverage –Method coverage l Methodology –Instrumented Java classes using Clover –Restored database state before replay –Wget for replaying user sessions

Fault Detection Capability l Metric –Number of faults detected l Methodology –Manually seeded 40 faults into separate copies of the application –Replayed user sessions through Correct version to generate expected output Faulty version to generate actual output –Diff expected and actual outputs

Empirical Comparison of Test Suite Reduction Techniques

l Compared 3 variations of Concept with 3 requirements-based reduction techniques –Random –Greedy –Harrold, Gupta, and Soffa’s reduction (HGS) l Each requirements-based reduction technique satisfies program or URL coverage –Statement, method, conditional, URL

Random and Greedy Reduction l Random –Selection process continues until reduced test suite satisfies some coverage criterion l Greedy –Each subsequent test case selected provides maximum coverage of some criterion –Example: Select us6 – maximum URL coverage Then, select us2 – most marginal improvement for all-URL coverage criterion

HGS Reduction l Selects a representative set from the original by approximating the optimal reduced set l Requirement cardinality = # of test cases covering that requirement l Select most frequently occurring test case with lowest requirement cardinality l Example: –Consider requirement with cardinality 1 – GM Select us2 –Consider requirement with cardinality 2 – PL and GB –Select test case that occurs most frequently in the union us6 occurs twice, us3 and us4 once Select us6

Empirical Evaluation l Test suite size l Program coverage l Fault detection effectiveness l Time cost l Space cost

Experimental Setup l Bookstore application l Course Project Manager (CPM) –Create grader/group accounts –Assign grades, create schedules for demo time –Send notification s about account creation, grade postings

Test Suite Size l Suite Size Hypothesis –Larger suites than: HGS and Greedy –Smaller suites than: Random –More diverse in terms of use case representation l Results –Bookstore application: HGS-S, HGS-C, GRD-S, GRD-C created larger suites –CPM Larger suites than HGS and Greedy Smaller than Random

Test Suite Size (2)

Program Coverage l Coverage Hypothesis –Similar coverage to: Original suite –Less coverage than: Suites that satisfy program-based requirements –Higher URL coverage than: Greedy and HGS with URL criterion l Results –Program coverage comparable to (within 2% of) PRG_REQ techniques –Slightly less program coverage than original suite and Random –More program coverage than URL_REQ techniques, Greedy and HGS

Program Coverage (2)

Fault Detection Effectiveness l Fault Detection Hypothesis –Greater fault detection effectiveness than: Requirements-based techniques with URL criterion –Similar fault detection effectiveness to: Original suite Requirements-based techniques with program-based criteria l Results –Best fault detection but low number of faults detected per test case - Random PRG_REQ –Similar fault detection to the best PRG_REQ techniques –Detected more faults than HGS-U

Fault Detection Effectiveness (2)

Time and Space Costs l Costs Hypothesis –Less space and time than: HGS, Greedy, Random –Space for Concept Lattice vs. space for requirement mappings l Results –Costs considerably less than PRG_REQ techniques –Collecting coverage information for each session is the clear bottleneck of requirements-based approaches

Conclusions l Problems with Greedy and Random reduction –Non-determinism –Generated suites with wide range in size, coverage, fault detection effectiveness l Test suite reduction based on concept-analysis clustering of user sessions –Achieves large reduction in test suite size –Saves oracle and replay time –Preserves program coverage –Preserves fault detection effectiveness Chooses test cases based on use case representation l Incremental test suite reduction/update –Scalable approach to user-session-based testing of web applications –Necessary for web applications that undergoes constant maintenance, evolution, and usage changes

References l Sreedevi Sampath, Valentin Mihaylov, Amie Souter, Lori Pollock "A Scalable Approach to User-session based Testing of Web Applications through Concept Analysis," Automated Software Engineering Conference (ASE), September l Sara Sprenkle, Sreedevi Sampath, Emily Gibson, Amie Souter, Lori Pollock, "An Empirical Comparison of Test Suite Reduction Techniques for User-session-based Testing of Web Applications," International Conference on Software Maintenance (ICSM), September 2005.