Testing, Monitoring, and Control of Internet Services Aditya P. Mathur Purdue University Friday, April 15, Washington State University, Pullman,

Slides:



Advertisements
Similar presentations
Performance Testing - Kanwalpreet Singh.
Advertisements

Tool support for Distributed Object Technology
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.
1 On the Limitations of Finite State Models as Sources of Tests for Access Control and Authentication Aditya Mathur Professor of Computer Science Purdue.
Using DSVM to Implement a Distributed File System Ramon Lawrence Dept. of Computer Science
Online Educational Game of Snakes and Ladders -Shalini Pradhan -Manali Joshi -Uttara Paingankar -Seema Joshi.
Unified theory of software evolution Reengineering – Business process reengineering and software reengineering BPR model – Business definition, process.
CORBA - Common Object Request Broker Architecture.
Foundations of Software Testing Chapter 1: Section 1.19 Coverage Principle and the Saturation Effect Aditya P. Mathur Purdue University Last update: August.
Component-Level Design
Distributed Systems Architectures
Improving Robustness in Distributed Systems Jeremy Russell Software Engineering Honours Project.
Aditya P. Mathur Professor, Department of Computer Science, Associate Dean, Graduate Education and International Programs Purdue University Wednesday July.
Grids and Grid Technologies for Wide-Area Distributed Computing Mark Baker, Rajkumar Buyya and Domenico Laforenza.
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.
Leveraging User Interactions for In-Depth Testing of Web Applications Sean McAllister, Engin Kirda, and Christopher Kruegel RAID ’08 1 Seoyeon Kang November.
1 Software Testing and Quality Assurance Lecture 5 - Software Testing Techniques.
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
Software Testing and Reliability Software Test Process
CPIS 357 Software Quality & Testing
Monitoring Latency Sensitive Enterprise Applications on the Cloud Shankar Narayanan Ashiwan Sivakumar.
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
Mobile Agent Technology for the Management of Distributed Systems - a Case Study Claudia Raibulet& Claudio Demartini Politecnico di Torino, Dipartimento.
1 MEDICAL ERROR REPORTING AND ANALYSIS Vijaya Gotla UmaDevi Bandaru Lavanya Gundamaraju.
What is a life cycle model? Framework under which a software product is going to be developed. – Defines the phases that the product under development.
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.
Wireless Access and Terminal Mobility in CORBA Dimple Kaul, Arundhati Kogekar, Stoyan Paunov.
Discrete Event Modeling and Simulation of Distributed Architectures using the DSSV Methodology E. de Gentili, F. Bernardi, J.F. Santucci University Pascal.
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
1 Software Reliability Assurance for Real-time Systems Joel Henry, Ph.D. University of Montana NASA Software Assurance Symposium September 4, 2002.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Adapted from the original presentation made by the authors Reputation-based Framework for High Integrity Sensor Networks.
SCALABLE EVOLUTION OF HIGHLY AVAILABLE SYSTEMS BY ABHISHEK ASOKAN 8/6/2004.
Architectural pattern: Interceptor Source: POSA II pp 109 – 140POSA II Environment: developing frameworks that can be extended transparently Recurring.
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
Framework for MDO Studies Amitay Isaacs Center for Aerospace System Design and Engineering IIT Bombay.
37 Copyright © 2007, Oracle. All rights reserved. Module 37: Executing Workflow Processes Siebel 8.0 Essentials.
Fault Tolerance in CORBA and Wireless CORBA Chen Xinyu 18/9/2002.
DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, University.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
The Process Manager in the ATLAS DAQ System G. Avolio, M. Dobson, G. Lehmann Miotto, M. Wiesmann (CERN)
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.
1 BBN Technologies Quality Objects (QuO): Adaptive Management and Control Middleware for End-to-End QoS Craig Rodrigues, Joseph P. Loyall, Richard E. Schantz.
Testing Internet Services Sudipto Ghosh Sambhrama Mundkur Aditya P. Mathur: PI Ramkumar Natarajan Baskar Sridharan Department of Computer Sciences Purdue.
Integrity Through Mediated Interfaces PI Meeting August 19, 2002 Bob Balzer, Marcelo Tallis Legend: Turquoise Changes from.
Wireless Network Management SANDEEP. Network Management Network management is a service that employs a variety of tools, applications, and devices to.
Software Testing Sudipto Ghosh CS 406 Fall 99 November 23, 1999.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Foundations of Software Testing Chapter 7: Test Adequacy Measurement and Enhancement Using Mutation Last update: September 3, 2007 These slides are copyrighted.
Testing, Monitoring, and Controlling CORBA-based Applications Sudipto Ghosh Priya Govindarajan Aditya P. Mathur Baskar Sridharan Software Engineering Research.
Foundations of Software Testing Chapter 7: Test Adequacy Measurement and Enhancement Using Mutation Last update: September 3, 2007 These slides are copyrighted.
SOFTWARE TESTING AND QUALITY ASSURANCE. Software Testing.
A service Oriented Architecture & Web Service Technology.
Foundations of Software Testing Slides based on: Draft V1.0 August 17, 2005 Test Adequacy Measurement and Enhancement Using Mutation Last update: October.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Aditya P. Mathur Purdue University
Architecture Review 10/11/2004
Testing Internet Services
Amazon AWS Solution Architect Associate Exam Dumps For Full Exam Info Visit This Link:
Ch 15 –part 3 -design evaluation
Management of ConnectedSpaces using homeWabash
Testing and Management of Distributed Systems
Coverage Principle: A Mantra for Software Testing and Reliability
Realizing Vision 2020: A Proposal
Presentation transcript:

Testing, Monitoring, and Control of Internet Services Aditya P. Mathur Purdue University Friday, April 15, Washington State University, Pullman, WA. Last updated: April 12, 2000

Testing and Management of Internet Services 2 Summary [1] 4 Belief –There is a growing need for testing and management of Internet Services. 4 Observations –Use of the coverage principle and a knowledge of the saturation effect allows us to design a controlled and an effective process for testing Internet Services. –A component based distributed architecture is needed for the test and management tool.

Testing and Management of Internet Services 3 Summary [2] 4 Conclusions –A uniform test and management process is feasible despite the variety in services and the underlying infrastructure. –Interface Testing is a practical option when testing individual components or complete applications. However…. –More research is needed in Interface Mutation and Dynamic Testing.

Testing and Management of Internet Services 4 Issues 4 Testing –Methodology and techniques 4 Management –Uniform interface to a heterogeneous environment –Generic event and control specification and processing mechanisms –Variable overhead mechanisms

Testing and Management of Internet Services 5 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

Testing and Management of Internet Services 6 Testing: Objectives 4 Adequacy assessment and test enhancement 4 In-use test and debug (dynamic testing) 4 Load test 4 Evaluation of fault tolerance

Testing and Management of Internet Services 7 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.

Testing and Management of Internet Services 8 Coverage Domains and Elements Requirements Classes Functions Mutations Exceptions Data-flows Coverage Domains Coverage Elements

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

Testing and Management of Internet Services 10 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

Testing and Management of Internet Services 11 Proposed Test Methodology 4 Test individual components using traditional black-box and white-box techniques 4 For COTS, use interface testing 4 Prior to or during deployment, test applications using Interface Testing

Testing and Management of Internet Services 12 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

Testing and Management of Internet Services 13 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

Testing and Management of Internet Services 14 Experimental Evaluation 4 Select components –Number of components= 3 –Number of interfaces= 6 –Number of methods= 82 –Number of mutants= Seed errors one by one in the components 4 Errors related to: –Portability, data, algorithm, language-specific

Testing and Management of Internet Services 15 Error Revealing Capability Comp 1Comp 2Comp 3Total 100% 0 20% 80% 60% 40% Using Mutation Adequacy Using Statement/Decision coverage

Testing and Management of Internet Services 16 Code Coverage Comp 1Comp 2Comp 3Total 100% 0 20% 80% 60% 40% Block coverage with Mutation Adequate Tests Decision coverage with Mutation Adequate tests

Testing and Management of Internet Services 17 Tests Required Comp 1Comp 2Comp For Mutation Adequacy For statement/decision coverage 20 25

Testing and Management of Internet Services 18 Results [1] 4 Interface mutation leads to fewer tests that reveal almost as many errors as revealed by statement and decision coverage. 4 Interface mutation is a scalable alternative to using code coverage.

Testing and Management of Internet Services 19 Results [2] 4 Reveals –programming errors in components. –errors in the use of component interfaces 4 Reveals certain types of deadlocks Server callback Client Server Client Request

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

Testing and Management of Internet Services 21 Control 4 Why? –Resource allocation –Prevention of unauthorized use –Testing and debugging 4 What? –Component behavior and location.

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

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

Testing and Management of Internet Services 24 Internet Service Zones

Testing and Management of Internet Services 25 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

Testing and Management of Internet Services 26 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

Testing and Management of Internet Services 27 Architecture of Wabash 3.0

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

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

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

Testing and Management of Internet Services 31 The Wabash Project: Goals and History 4 Goal: –Develop a methodology and a tool to test and manage large brokered distributed systems. 4 Sponsors: –NSF, SERC, British Telecom, Tivoli, and Telcordia. 4 Staff: –PI, 3 doctoral, 1 MS, and 3 UG students.

Testing and Management of Internet Services 32 The Wabash Project: Goals and History 4 Progress: 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. Inter-university collaboration established. December 2000 Uniform interface for Jini/JMX/CORBA objects.

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