Testing Internet Services Sudipto Ghosh Sambhrama Mundkur Aditya P. Mathur: PI Ramkumar Natarajan Baskar Sridharan Department of Computer Sciences Purdue.

Slides:



Advertisements
Similar presentations
Performance Testing - Kanwalpreet Singh.
Advertisements

Towards Self-Testing in Autonomic Computing Systems Tariq M. King, Djuradj Babich, Jonatan Alava, and Peter J. Clarke Software Testing Research Group Florida.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
Remote Procedure Call (RPC)
1 On the Limitations of Finite State Models as Sources of Tests for Access Control and Authentication Aditya Mathur Professor of Computer Science Purdue.
Foundations of Software Testing Chapter 1: Section 1.19 Coverage Principle and the Saturation Effect Aditya P. Mathur Purdue University Last update: August.
Distributed Systems Architectures
1 Software Testing and Quality Assurance Lecture 30 - Introduction to Software Testing.
1 Aditya P. Mathur Professor, Department of Computer Science, Associate Dean, Graduate Education and International Programs Purdue University Department.
Aditya P. Mathur Professor, Department of Computer Science, Associate Dean, Graduate Education and International Programs Purdue University Wednesday July.
Software Testing and Reliability Testing Real-Time Systems Aditya P. Mathur Purdue University May 19-23, Corporation Minneapolis/St Paul,
Coverage Principle: A Mantra for Software Testing and Reliability Aditya P. Mathur Purdue University August 28, Cadence Labs, Chelmsford Last update:August.
Distributed Systems Management What is management? Strategic factors (planning, control) Tactical factors (how to do support the strategy practically).
Leveraging User Interactions for In-Depth Testing of Web Applications Sean McAllister, Engin Kirda, and Christopher Kruegel RAID ’08 1 Seoyeon Kang November.
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
SIMULATING ERRORS IN WEB SERVICES International Journal of Simulation: Systems, Sciences and Technology 2004 Nik Looker, Malcolm Munro and Jie Xu.
High Level: Generic Test Process (from chapter 6 of your text and earlier lesson) Test Planning & Preparation Test Execution Goals met? Analysis & Follow-up.
Distributed Systems: Client/Server Computing
Computer System Lifecycle Chapter 1. Introduction Computer System users, administrators, and designers are all interested in performance evaluation. Whether.
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
CLEANROOM SOFTWARE ENGINEERING.
SensIT PI Meeting, January 15-17, Self-Organizing Sensor Networks: Efficient Distributed Mechanisms Alvin S. Lim Computer Science and Software Engineering.
CPIS 357 Software Quality & Testing
1 소프트웨어공학 강좌 Chap 9. Distributed Systems Architectures - Architectural design for software that executes on more than one processor -
Monitoring Latency Sensitive Enterprise Applications on the Cloud Shankar Narayanan Ashiwan Sivakumar.
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing.
Active Monitoring in GRID environments using Mobile Agent technology Orazio Tomarchio Andrea Calvagna Dipartimento di Ingegneria Informatica e delle Telecomunicazioni.
© SERG Dependable Software Systems (Mutation) Dependable Software Systems Topics in Mutation Testing and Program Perturbation Material drawn from [Offutt.
BFTCloud: A Byzantine Fault Tolerance Framework for Voluntary-Resource Cloud Computing Yilei Zhang, Zibin Zheng, and Michael R. Lyu
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
Software Testing Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
1 Introduction to Software Engineering Lecture 1.
OS2- Sem ; R. Jalili Introduction Chapter 1.
Testing, Monitoring, and Control of Internet Services Aditya P. Mathur Purdue University Friday, April 15, Washington State University, Pullman,
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
Framework for MDO Studies Amitay Isaacs Center for Aerospace System Design and Engineering IIT Bombay.
Unit 2 Architectural Styles and Case Studies | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 1.
37 Copyright © 2007, Oracle. All rights reserved. Module 37: Executing Workflow Processes Siebel 8.0 Essentials.
DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, University.
Fault Tolerance Benchmarking. 2 Owerview What is Benchmarking? What is Dependability? What is Dependability Benchmarking? What is the relation between.
Allen D. Malony Department of Computer and Information Science TAU Performance Research Laboratory University of Oregon Discussion:
Mutation Testing G. Rothermel. Fault-Based Testing White-box and black-box testing techniques use coverage of code or requirements as a “proxy” for designing.
WS-DREAM: A Distributed Reliability Assessment Mechanism for Web Services Zibin Zheng, Michael R. Lyu Department of Computer Science & Engineering The.
1 BBN Technologies Quality Objects (QuO): Adaptive Management and Control Middleware for End-to-End QoS Craig Rodrigues, Joseph P. Loyall, Richard E. Schantz.
Integration testing Integrate two or more module.i.e. communicate between the modules. Follow a white box testing (Testing the code)
Distributed System Architectures Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
Dynamic Testing.
Software Testing Sudipto Ghosh CS 406 Fall 99 November 23, 1999.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Testing, Monitoring, and Controlling CORBA-based Applications Sudipto Ghosh Priya Govindarajan Aditya P. Mathur Baskar Sridharan Software Engineering Research.
SENG521 (Fall SENG 521 Software Reliability & Testing Fault Tolerant Software Systems: Techniques (Part 4a) Department of Electrical.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
A service Oriented Architecture & Web Service Technology.
Aditya P. Mathur Purdue University
Testing Tutorial 7.
Alternatives to Mobile Agents
Testing Internet Services
AirPlace Indoor Positioning Platform for Android Smartphones
Operating Systems : Overview
Ch 15 –part 3 -design evaluation
Operating Systems Bina Ramamurthy CSE421 11/27/2018 B.Ramamurthy.
Management of ConnectedSpaces using homeWabash
Static Testing Static testing refers to testing that takes place without Execution - examining and reviewing it. Dynamic Testing Dynamic testing is what.
Testing and Management of Distributed Systems
Jayaram KR Graduate Student - Computer Science Purdue University
Coverage Principle: A Mantra for Software Testing and Reliability
Realizing Vision 2020: A Proposal
Chapter 6: Architectural Design
Presentation transcript:

Testing Internet Services Sudipto Ghosh Sambhrama Mundkur Aditya P. Mathur: PI Ramkumar Natarajan Baskar Sridharan Department of Computer Sciences Purdue Design2Deploy Monday July 3, 2000 Last updated: June 28, 2000

Test and Management of Internet Services2 Areas of Concern [1] Test Methodology Adequacy assessment and test enhancement Load testing/Performance measurement Testing for fault tolerance In-use testing and debugging (dynamic testing)

Test and Management of Internet Services3 Areas of Concern [2] Management Uniform interface to a heterogeneous environment Generic event and control specification and processing mechanisms Variable overhead mechanisms

Test and Management of Internet Services4 Client/Server Stub/Skeleton Request/data Client/Server Stub/Skeleton Request/data Component ORB Communication. Structure of an Internet Service Component ORB: Object Request Broker

Test and Management of Internet Services5 Service Domain Client An Internet Service A component

Test and Management of Internet Services6 Areas of Concern Test Methodology Adequacy assessment and test enhancement Testing for fault tolerance Load testing/Performance measurement In-use testing and debugging (dynamic testing)

Test and Management of Internet Services7 Elements of a Proposed Test Methodology Test individual components using traditional black- box and white-box techniques. For COTS, use interface testing. Prior to deployment, test applications using Interface Testing. Test for compliance with requirements for FT. Load test an application prior to or during use. While in-use, test and debug an application using dynamic testing.

Test and Management of Internet Services8 Areas of Concern Test Methodology Adequacy assessment and test enhancement Testing for fault tolerance Load testing/Performance measurement In-use testing and debugging (dynamic testing)

Test and Management of Internet Services9 The Coverage Principle Measuring test adequacy and improving a test set against a sequence of well defined, increasingly strong, coverage domains leads to improved reliability of the system under test.

Test and Management of Internet Services10 Coverage Domains and Elements Requirements Classes Functions Mutations Exceptions Data-flows Coverage Domains Coverage Elements

Test and Management of Internet Services11 Sample Hierarchy Requirements coverage Function/method coverage Statement coverage Decision coverage Data-flow coverage Mutation coverage Strength Low High Cost Low High

Test and Management of Internet Services12 Saturation Effect: Reliability View FUNCTIONAL, DECISION, DATAFLOW AND MUTATION TESTING PROVIDE TEST ADEQUACY CRITERIA. Reliability Testing Effort True reliability (R) Estimated reliability (R’) Saturation region Mutation Dataflow Decision Functional RmRm R df RdRd RfRf R’ f R’ d R’ df R’ m tfstfs tfetfe tdstds tdetde t df s t df e tmstms tfetfe

Test and Management of Internet Services13 Component Interface Methods: m 1, m 2, …,m k Exceptions: e 1, e 2, …,e k 100% Method Coverage # methods executed # methods defined 100% Exception Coverage # exceptions raised # exceptions defined 100% iMutation Score # distinguished mutants total # imutants - #equivalent imutants Interface Testing

Test and Management of Internet Services14 What is Interface Mutation ? Test Suite T contains Request-A. Client Server Interface Request-A Response-A Mutated Interface Client Server Request-A Response-B

Test and Management of Internet Services15 Interface Mutation: Experimental Evaluation Select components Number of components= 3 Number of interfaces= 6 Number of methods= 82 Number of mutants= 220 Seed errors one by one in the components Errors related to: Portability, data, algorithm, language-specific

Test and Management of Internet Services16 Characteristics of applications APP 1 Component-3Component-2Component-1 LOC # Interfaces # Methods # Exceptions # Mutants APP 2 LOC # Interfaces # Methods # Exceptions # Mutants Object Group Server Account Database Manager Activity Logger Client Component-1Component-3 Component-2 APP 1 Customer Group Service Manager Account Server Activity Logger Account Database Manager Administrator APP 2

Test and Management of Internet Services17 Control-flow coverage obtained 100% 0 20% 80% 60% 40% Component-1Component-2Component-3 APP 1 100% 0 20% 80% 60% 40% ActivityLoggerAccountDBManagerGroupServiceManager APP 2 Block Coverage with T ME Block Coverage with T IM Decision Cov- erage with T ME Decision Cov- erage with T IM Coverage

Test and Management of Internet Services18 100% 0 20% 80% 60% 40% 100% 0 20% 80% 60% 40% Number of errors revealed Component-1Component-2Component-3 APP 1 ActivityLoggerAccountDBManagerGroupServiceManager APP 2 Errors Using T ME Using T IM Using T CF

Test and Management of Internet Services19 Number of tests required Component-1Component-2Component-3 APP 1 ActivityLoggerAccountDBManagerGroupServiceManager APP 2 Tests | T ME | | T IM | | T CF |

Test and Management of Internet Services20 Observations [1] Interface mutation leads to fewer tests that reveal almost as many errors as revealed by statement and decision coverage. Interface mutation is a scalable alternative to using code coverage.

Test and Management of Internet Services21 Observations [2] Reveals programming errors in components. errors in the use of component interfaces Reveals certain types of deadlocks Server callback Client Server Client Request

Test and Management of Internet Services22 Areas of Concern Test Methodology Adequacy assessment and test enhancement Testing for fault tolerance Load testing/Performance measurement In-use testing and debugging (dynamic testing)

Test and Management of Internet Services23 Testing for fault tolerance Problem: Often error recovery code is not executed by test inputs How do we know if the fault recovery code adequately meets the requirements? Solution: Simulate the occurrence of faults by injecting them Fault injection testing at the interface Increases coverage of fault recovery code Reveals inadequacies in fault recovery code

Test and Management of Internet Services24 Interface fault injection m Client StubSkeleton Server ORB Fault Injected Simulate effects of problems in server, network and ORB

Test and Management of Internet Services25 Faults suitable for injection Time delays caused due to Network delays Server crashes or malfunctions Overloaded server Overflowing request buffer in ORB Unexpected exceptions received by client Server crashes Unexpected value User-defined exceptions raised by the server Implementation object invalid

Test and Management of Internet Services26 Areas of Concern Test Methodology Adequacy assessment and test enhancement Testing for fault tolerance Load testing/Performance measurements In-use testing and debugging (dynamic testing)

Test and Management of Internet Services27 Load Testing network C1 C2 Server On: Avg. Latency Effect of: Avg. Load Clients

Test and Management of Internet Services28 Server Statistics

Test and Management of Internet Services29 Client Statistics

Test and Management of Internet Services30 Low intrusion Selective on-line monitoring Selective on-line filtering To be applied in the Measurement of the latency and CPU consumption (and others) of individual methods for use in capacity planning Demonstration of performance improvement techniques Performance Instrumentation Goals

Test and Management of Internet Services31 Areas of Concern Test Methodology Adequacy assessment and test enhancement Testing for fault tolerance Load testing/Performance measurement In-use testing and debugging (dynamic testing)

Test and Management of Internet Services32 Dynamic Testing Question: How to test an Internet Service while it is in use? Answer: Use the dynamic testing procedure. What is the dynamic testing procedure?

Test and Management of Internet Services33 Dynamic Testing Faulty Server group Faulty server Test Client Ra 2 Client 1 Isolated server 3

Test and Management of Internet Services34 Limitations of Dynamic Testing Test client might generate undesirable actions: Persistent data modification. Irreversible actions. Application limited to: Closed and well understood domains. Simulated or isolated service environments.

Test and Management of Internet Services35 Areas of Concern [2] Management Uniform interface to a heterogeneous environment Generic event and control specification and processing mechanisms Variable overhead mechanisms

Test and Management of Internet Services36 Organization of the Service Domain Why organize ? Efficient and scalable management Personalized management Assignment of individual responsibilities

Test and Management of Internet Services37 Dimensions of Organization Geography Component Client

Test and Management of Internet Services38 Sample Organization

Test and Management of Internet Services39 Areas of Concern [2] Management Uniform interface to a heterogeneous environment Generic event and control specification and processing mechanisms Variable overhead mechanisms

Test and Management of Internet Services40 Monitoring Why? Resource planning Control Testing and debugging What? State of individual or a group of components at different levels of abstraction.

Test and Management of Internet Services41 Control Why? Resource allocation Prevention of unauthorized use Testing and debugging What? Component behavior and location.

Test and Management of Internet Services42 Monitoring: Strategy UserEvent(s) specifies State MonitorApplication State monitors Event detectorUser specified events detects Event notification Waiting user notifies

Test and Management of Internet Services43 Control: Strategy UserControl action(s), trigger event(s) specifies Event notifierController signals ControllerControl action(s) executes

Test and Management of Internet Services44 Areas of Concern [2] Management Uniform interface to a heterogeneous environment Generic event and control specification and processing mechanisms Variable overhead mechanisms

Test and Management of Internet Services45 Observer-listener architecture O1O1 O2O2 C1C1 O3O3 O4O4 C2C2 L1L1 M1M1 O5O5 O6O6 C3C3 O7O7 O8O8 C4C4 L2L2 M2M2 Zonal Manager GUI

Test and Management of Internet Services46 LLI MCAR db Zonal Manager LLLL CS LOG Host 1 C Architecture of Wabash 2.0 [1] Wabash GUI Request Client sends a request to a managed object LL determines whether request can be passed or not If the request is allowed, LL forwards it to the CORBA Server after time-stamping it Response LL stores information about the request, records it in a log, sends the response back to client LL gets the response from the CORBA Server If the request is not allowed, LL throws exception and does not forward request to the CORBA Server GUI requests data from the Zonal Manager Zonal Manager requests data from corresponding LL LL returns data to Zonal Manager Zonal Manager returns data collected from LL to GUI

Test and Management of Internet Services47 LLI MCAR db Zonal Manager LL CS LOG Host 1 C Wabash GUI Request Architecture of Wabash 2.0 [2] Manager sends command (‘ANY’, DENY, OBJECT_A) Command is forwarded to corresponding LL for OBJECT_A Client sends request to OBJECT_A LL determines that request has to be denied LL does not forward request to CS Throws exception back to client

Test and Management of Internet Services48 Architecture of Wabash 3.0

Test and Management of Internet Services49 Ongoing Research [1] Non-intrusive procedures for dynamic testing. Generalized event-control model and its implementation. Implementation of the unified architecture to assist with the management of JMX, JINI, and CORBA objects. Light-version of Wabash for SmartHome management.

Test and Management of Internet Services50 Ongoing Research [2] Automatic generation of test inputs. Test capture and replay.

Test and Management of Internet Services51 The Wabash Project: History Progress: August 1998: Wabash project launched. August 1999 TDS 1.1 available to SERC affiliates. August 2000 Wabash 2.0 available to SERC affiliates. Experiments to assess goodness of proposed interface testing criteria completed. December 2000 Uniform interface for Jini/JMX/CORBA objects.