Tools for Testing Software Architectures. Learning Objectives. Context



Similar documents
Fundamentals of LoadRunner 9.0 (2 Days)

SOFTWARE PERFORMANCE TESTING SERVICE

Summer Internship 2013 Group No.4-Enhancement of JMeter Week 1-Report-1 27/5/2013 Naman Choudhary

How To Test A Web Server

Comparative Study of Load Testing Tools

Web Application s Performance Testing

Performance Testing. Slow data transfer rate may be inherent in hardware but can also result from software-related problems, such as:

WHAT WE NEED TO START THE PERFORMANCE TESTING?

Recommendations for Performance Benchmarking

Performance Testing Percy Pari Salas

Performance Testing. Why is important? An introduction. Why is important? Delivering Excellence in Software Engineering

HP LoadRunner: Essentials 11

Performance Testing and Optimization in Web-Service Based Applications

Performance Testing Tools: A Comparative Analysis

Information Technology Policy

Build Management. Context. Learning Objectives

How To Test On The Dsms Application

Regression & Load Testing BI EE 11g

Performance Analysis of Web based Applications on Single and Multi Core Servers

MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM?

Microsoft Web Application Stress Tool

LR120 LoadRunner 12.0 Essentials

Performance Analysis of Lucene Index on HBase Environment

Performance Analysis of webmethods Integrations using Apache JMeter Information Guide for JMeter Adoption

Perfect Your Mobile App with Load Testing and Test Automation

Performance Testing of Java Enterprise Systems

Automated testing and continuous integration

Better Software Though Expertise, Collaboration & Automation. BDD, DevOps and Testing

Performance Modeling for Web based J2EE and.net Applications

Performance Testing Process

Performance Testing Process A Whitepaper

E-vote 2011 Version: 1.0 Testing and Approval Date: 26/10/2009. E-vote SSA-U Appendix 5 Testing and Approval Project: E-vote 2011

Load Testing on Web Application using Automated Testing Tool: Load Complete

Jérôme Lepage - CFCamp Mondadori France

Informatica Master Data Management Multi Domain Hub API: Performance and Scalability Diagnostics Checklist

Implementing a Well- Performing and Reliable Portal

Throughput Capacity Planning and Application Saturation

Performance Test Process

Alcatel-Lucent IMS Application Server

PERFORMANCE TESTING. New Batches Info. We are ready to serve Latest Testing Trends, Are you ready to learn.?? START DATE : TIMINGS : DURATION :

Performance Testing of a Large Wealth Management Product

What is new for HP LoadRunner and Performance Center 11.52

Web Application Testing. Web Performance Testing

Levels of Software Testing. Functional Testing

Noelle A. Stimely Senior Performance Test Engineer. University of California, San Francisco

Introducing Performance Engineering by means of Tools and Practical Exercises

Best Practices for Web Application Load Testing

SAP BusinessObjects BI4 Sizing What You Need to Know

Tutorial: Load Testing with CLIF

Application Performance Testing Basics

Application. Performance Testing

Regression & Load Testing BI EE 11g

SOFTWARE TESTING TRAINING COURSES CONTENTS

Load Testing Tools. Animesh Das

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

A closer look at HP LoadRunner software

Principles of integrated software development environments. Learning Objectives. Context: Software Process (e.g. USDP or RUP)

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...

Q: What is the difference between the other load testing tools which enables the wan emulation, location based load testing and Gomez load testing?

TEST PLAN Issue Date: <dd/mm/yyyy> Revision Date: <dd/mm/yyyy>

NetIQ Access Manager 4.1

SOA Solutions & Middleware Testing: White Paper

An introduction to load testing for Web applications. Business white paper

ArcGIS for Server Performance and Scalability-Testing and Monitoring Tools. Amr Wahba

Performance TesTing expertise in case studies a Q & ing T es T

Case Study - I. Industry: Social Networking Website Technology : J2EE AJAX, Spring, MySQL, Weblogic, Windows Server 2008.

Cloud-Testing vs. Testing a Cloud

Cognos8 Deployment Best Practices for Performance/Scalability. Barnaby Cole Practice Lead, Technical Services

Project 2 Performance Testing

Open Source and Commercial Performance Testing Tools

How To Test For Elulla

Whitepaper Performance Testing and Monitoring of Mobile Applications

Testhouse Training Portfolio

Realizing Continuous Performance Management

Load DynamiX Storage Performance Validation: Fundamental to your Change Management Process

Business white paper. HP Process Automation. Version 7.0. Server performance

Informatica Data Director Performance

Effective and Best practices of load and performance testing Oracle Applications using BSD Oracle plug-in for Rational Performance Tester

OpenDaylight Performance Stress Tests Report

LOAD BALANCING TECHNIQUES FOR RELEASE 11i AND RELEASE 12 E-BUSINESS ENVIRONMENTS

Chapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc.

Understanding the Impact of Running WAN Emulation with Load Testing

Network Management and Monitoring Software

EXECUTIVE SUMMARY CONTENTS. 1. Summary 2. Objectives 3. Methodology and Approach 4. Results 5. Next Steps 6. Glossary 7. Appendix. 1.

Mobile Application Performance Testing

How Router Technology Shapes Inter-Cloud Computing Service Architecture for The Future Internet

Fabrics that Fit Matching the Network to Today s Data Center Traffic Conditions

CLOUD COMPUTING SOLUTION - BENEFITS AND TESTING CHALLENGES

10 Best Practices for Application Performance Testing

Implementation Workflow

Liferay Portal Performance. Benchmark Study of Liferay Portal Enterprise Edition

High Performance Cluster Support for NLB on Window

Coding Serbia. Systematic Load Testing of Web Applications.

Enterprise Energy Management with JouleX and Cisco EnergyWise

Transcription:

Tools for Testing Software Architectures Wolfgang Emmerich Professor of Distributed Computing University College London http://sse.cs.ucl.ac.uk Learning Objectives To discuss tools to validate software architectures Review ways in which implementations of software architecture can be tested against different nonfunctional requirements Gain some practical experience with some such tools (Apache s Jmeter) 2 Context Requirements Inception Elaboration Construction Transition Amount of work Analysis Design Implementation Test Preliminary Iterations I1 I2 In In+1 In+2 Im Im+1 3 1

Elaboration Stage test design products by analysis, simulation, walkthroughs and inspection generate user acceptance test cases from use cases generate test cases that validate non-functional requirements implement test architecture that automates tests execute non-functional tests to validate lifecycle architecture 4 Aim of validating software architectures Ascertain that all relevant non-functional requirements are being met by the life cycle architecture Can be done analytically Modelling the software architecture using an appropriate formalism (e.g. process algebra or queuing network) Subjecting the models to analysis (e.g. reachability analysis or solution of queuing networks) Problem with analytical approaches: models often do not correspond to the developed architecture Alternative: testing the executable code that implements the architecture. 5 Overview of architecture test strategy Ease of deployment - Measure time to deploy Openness - Integration test interfaces Legacy Integration - Integration test interfaces Usability - Conduct usability experiment Security - Get expert hackers to break in Availability Latency Throughput - Conduct performance tests Scalability 6 2

Performance tests - latency under no load Work out how the system performs in the best case scenario Identify use cases and user stories that are sensitive to latency Translate them into performance test cases that exercise the non-loaded system and measure the latency. Use performance testing tools, e.g. Mercury LoadRunner or Apache Jmeter (open source) to perform the tests 7 Using JMeter to test online car dealership 8 Capture and Replay Defining test cases at protocol level cumbersome When possible use capture and replay capabilities offered by testing tools, e.g. in Mercury WinRunner Apache Jmeter Capture interactions with the system at protocol level by inserting proxies between the browser and the system under test Use the captured interaction as baseline for test cases 9 3

Architecture for Capture and Replay Browser Proxy provided by test tool System under Test 10 JMeter capture and replay demo 11 Testing latency under no load Sample system under test sufficiently often to have a statistically significant sample set of test execution Observe minimal, average and maximum latency Observe how latency behaves over an extended period of time. Latency can be adversely affected by: Garbage collection in Java containers Memory leaks (and yes they also exist in Java and C#!) Increases in data sets / file sizes Latency observed represents the best case scenario for the latency real users will experience 12 4

JMeter demo 13 Testing latency under load Determine how the maximum number of concurrent users Determine typical user behaviour (e.g. by measuring the time users are idle between requests in a capture/replay session) Define a number of test cases that gradually increase numbers of users up to the max. required Measure the latency of the system under test in these different test cases 14 Latency under load with JMeter 15 5

Testing throughput You can use the same test cases used for determining latency under load also for throughput. Expect the throughput to have a maximum when latency begins to increase as load increases. Ideally you want to ascertain that the throughput is constant no matter what the load. In practice throughput deteriorates under high loads (due to e.g. memory paging). 16 Testing availability Leave a load test running for an extended period of time (e.g. day or even a week) to see whether the system performance degrades during that period Then leave a load test running for a shorter period and selectively switch off hosts in your distributed system Observe how the system reacts Expect to see latency and throughput degradation due to redistribution of load 17 Testing scalability Add hardware resources to your distributed system Verify that you do not need to change the software of your distributed system (apart from deployment configurations) Repeat the throughput tests Ascertain that the throughput is now higher Throughput increase should be proportional to the hardware resources you have added. 18 6

Key Points Architecture tests complement architecture analysis Performance testing requires an executable baseline architecture Built in RUP/USDP during Elaboration Performance tests can assess whether architectures meet requirements on Latency Throughput Availability Scalability References Jmeter. http://jakarta.apache.org/jmeter Eclipse Test and Performance Tool Platform. http://www.eclipse.org/tptp/ 20 7