load testing flex applications using webload · • using tools to automate the testing process to...

32
Load Testing RIA using WebLOAD Amir Shoval, VP Product Management [email protected]

Upload: others

Post on 28-May-2020

18 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

Load Testing RIA using WebLOAD

Amir Shoval, VP Product [email protected]

Page 2: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

Agenda

• Introduction to performance testing• Introduction to WebLOAD• Load testing Rich Internet Applications

RadView Software - Load testing RIA using WebLOAD2

Page 3: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

RadView Software - Load testing RIA using WebLOAD3

Introduction to performance testing

Page 4: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

Software Performance

• The speed at which software functions (sub-second response time versus three-second response time)

• How often software is available (99% uptime versus scheduled weekly downtime)

• How these two factors change as usage levels increase (from dozens of current users to thousands)

RadView Software - Load testing RIA using WebLOAD4

Page 5: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

Software performance matters to the business

• Software performance is a limiting factor of business performance– A financial services company can’t provide a

life insurance quote to a customer any faster than its quote engine can compute the appropriate rate

– An automotive supplier can’t start building parts if the software that delivers orders from its OEM customers has been taken down by unanticipated usage levels

– A retailer can’t process orders any faster than it can process credit card validations

RadView Software - Load testing RIA using WebLOAD5

Page 6: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

Performance Testing

• Performance testing (performance verification) ensures that software performance meets the business needs.

• Most relevant for multi-user systems (such as web applications), focusing on testing the system’s back-end servers.

• Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load.

• These tools enable simulating multiple users accessing the program's services concurrently and measure their responsiveness.

• Often used synonymously with Load Testing.

RadView Software - Load testing RIA using WebLOAD6

Page 7: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

Approached for load testing web applications

• Virtual Client Model– Simulate real-user scenarios– The application is statefull– Verify the system is fast

enough in terms of responsetimes and user experience

• Transaction Per Second (TPS)Model– The system exposes a set of

services and/or needs to perform a setof transactions

– Services/transactions are stateless– Can be consumed by several client applications– Verify the services’ availability under load and their

tolerance to increased levels of load

RadView Software - Load testing RIA using WebLOAD7

Page 8: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

Challenges in load testing web applications

• Modern web applications are becoming more challenging to test– Web 2.0

• Rich Internet Applications (RIA)

• AJAX• Push / streaming• Mashups

– SOA• Web Services

– Desktop-deployed web applications (e.g. Adobe AIR)

• Testing method should match the service’s usage– Remote procedure call (RPC, remoting)– Messaging– Representational State Transfer (REST)

RadView Software - Load testing RIA using WebLOAD8

Page 9: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

RadView Software - Load testing RIA using WebLOAD9

Introduction to WebLOAD

Page 10: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

How Does WebLOAD Work?

• WebLOAD tests Web applications by generating Virtual Clients that simulate real-world traffic.

• Virtual Clients emulate the actions of human users by performing typical actions (user transactions) on your Web application.

• By increasing the number of Virtual Clients, you increase the load on the system.

• The behavior of the Virtual Clients is defined by JavaScript-based scripts called Agendas.

• During load execution WebLOAD captures, measures, validates and analyzes the user transactions, for both content and time.

10RadView Software - Load testing RIA using WebLOAD

Page 11: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

WebLOAD Architecture

RadView Software - Load testing RIA using WebLOAD11

Load Generator(s)

System Under Test

Authoring Environment

Execution Environment

Test Script Virtual Clients

Performance DataStatistics andPerformance Data

WebLOADConsole

WebLOADIDE

Analysis &Reporting

WebLOADAnalytics

Load SessionResults

WebLOAD HighlightsDistributed architectureProtocol level testingWeb standard JavaScriptObject oriented scriptingServer-side monitoring viaSNMP\ JMX\ PerfMon\ RSTATD

Page 12: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

Test-script authoring

• Integrated environment for script creation and debugging

• Proxy-based recorder– Record extended HTTP traffic on protocol level (AJAX,

WebServices, binary data).– Records both HTTP & HTTPS, with built-in automatic

recording settings for IE 7.0 and Firefox 2.0.

• JavaScript test scripts– Visual and manual editing– HTML & XML DOM Access– Step-by-step debugger with log, watch and variable

views

• COM & JAVA Integration and Extendibility– Integrate your existing component or extend the

WebLOAD capabilities12

RadView Software - Load testing RIA using WebLOAD

Page 13: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

Load session definition

• Define load session attributes– Duration, Maximal load (up to

thousands of Virtual Clients per LoadMachine)

– Complex scheduling models– Multiple user-scenarios– Load machines– Server-side statistics to collect– Content validation

• Goal-oriented definition– Define performance goals according

to SLA / requirements– Increase load until defined goals

are met– Report and/or stop the test

RadView Software - Load testing RIA using WebLOAD13

Page 14: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

Load session execution

• On-line and real-time monitoring of the load session

• Display collected statistics in both charts and tables– Create charts to display any combination of

measurement

• Increase/decrease the number of virtual clients• Pause/stop the session at any time• Error messages displayed in the

Log view

14RadView Software - Load testing RIA using WebLOAD

Page 15: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

Analysis & Reporting

• Current version –WebLOAD Reporter

– Predefined reports– Custom reports– Publish to standard formats

RadView Software - Load testing RIA using WebLOAD15

List of Canned, Regression and Custom Reports

Session Performance vs. Load Size Report

Measurements Description

• Next version –WebLOAD Analytics

— More predefined reports— Analyze using filters and

parameters— New stats: TPS, percentiles— Regression reports— Central session repository— Design your own reports

Page 16: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

About RadView

RadView Software - Load testing RIA using WebLOAD16

Customer base

Product Market knowhow

• Company founded 1993• Pioneer of web apps

testing• Investment of 250 man

years in development of web testing tools

• 1600 customers worldwide• Founder - Ilan Kinreich, (co

- founder of Mercury Interactive)

• NASDAQ: IPO in 2000, raised $40M

Page 17: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

RadView Software - Load testing RIA using WebLOAD17

Load testing Rich Internet Applications (RIA)

Adobe Flex as a sample of RIA technology

Page 18: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

What is RIA?

18

RIA is not a technology by itself and there are several implementations for it:

RadView Software - Load testing RIA using WebLOAD

Page 19: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

Asynchronous JavaScript And XML - AJAX

• One of the key technologies behind Web 2.0• Web development technique for creating interactive

web applications• AJAX techniques

– DOM accessed by a client-side scripting language– XMLHttpRequest object used to exchange data asynchronously

with the web server.– XML, plain text, JSON, preformatted HTML – as data types

passed between the client and the server.

• AJAX is not a technology in itself, but a term that refers to the use of a group of technologies

19RadView Software - Load testing RIA using WebLOAD

Page 20: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

AJAX Sample

20© Yahoo! (http://developer.yahoo.com/yui/datatable/)

var myDataTable = new YAHOO.widget.DataTable("xml", myColumnSet, myDataSource,{initialRequest:"query=pizza&zip=94089&results=10"});var myDataTable = new YAHOO.widget.DataTable("xml", myColumnSet, myDataSource,{initialRequest:"query=pizza&zip=94089&results=10"});

…<Title>Pizza Depot</Title> <Address>919 E Duane Ave</Address> <City>Sunnyvale</City> <State>CA</State> <Phone>(408) 245-7760</Phone> <Rating>

<AverageRating>3.5</AverageRating>…

…<Title>Pizza Depot</Title> <Address>919 E Duane Ave</Address> <City>Sunnyvale</City> <State>CA</State> <Phone>(408) 245-7760</Phone> <Rating>

<AverageRating>3.5</AverageRating>…

RadView Software - Load testing RIA using WebLOAD

Page 21: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

Load Testing Tool – Implementation Options

• Technology – Protocol (“network”) level

record and replay– Based on “sniffer like” proxy

recording

• Main PROs: √ Clear separation between

server side and client side√ Not affected by application

level changes and GUI

• Main CONs:Client side operation Binary payload

• Technology – Protocol (“network”) level

record and replay– Based on “sniffer like” proxy

recording

• Main PROs: √ Clear separation between

server side and client side√ Not affected by application

level changes and GUI

• Main CONs:Client side operation Binary payload

• Technology – Events and API record and

replay– Based on “events hooks” for

recording and emulation for playback

• Main PROs: √ GUI and client side testing

• Main CONs:Application dependent Cross-browser incompatibilityLess scalabaleHandle operations which are not “client side triggered”

• Technology – Events and API record and

replay– Based on “events hooks” for

recording and emulation for playback

• Main PROs: √ GUI and client side testing

• Main CONs:Application dependent Cross-browser incompatibilityLess scalabaleHandle operations which are not “client side triggered”

21RadView Software - Load testing RIA using WebLOAD

Page 22: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

RIA as Synchronous/Asynchronous Ajax application

22

• Load testing on the protocol level provides built-in support for RIA-Ajax testing.

• WebLOAD does not differ between standard HTTP methods and XMLHTTP requests.

• Agenda execution is synchronous.

RadView Software - Load testing RIA using WebLOAD

Page 23: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

Adobe Flex

What is Adobe Flex ?• Adobe’s solution for RIA.• Adobe Flex is a development environment that enables

developers to build applications that are rich in terms of how data flows between tiers.

• AMF (Action Message Format) • Transport Channel

– AMF Channel / Secure AMF Channel– HTTP Channel (AMFX) / Secure HTTP Channel– Streaming AMF Channel– RTMP Channel

23RadView Software - Load testing RIA using WebLOAD

WebLOAD supports the HTTP and AMF channels

Page 24: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

Adobe Flex

• Flash Remoting MX Gateway • LiveCycle Data Services enhances the client-side Flex

framework by providing high-performance connectivity with existing server-side data and business logic.

• LiveCycle Data Services integrates with existing common middleware

• Types of services provided in LiveCycle Data Services– RPC– Publish/Subscribe messaging– Data Management

24RadView Software - Load testing RIA using WebLOAD

Page 25: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

WebLOAD Adobe Flex Add-on

RadView Software - Load testing RIA using WebLOAD25

Supports Flex 2 and up; Adobe AIRSupports Flex 2 and up; Adobe AIRRecord AMF 0/3 protocol over HTTP/HTTPSRecord AMF 0/3 protocol over HTTP/HTTPSDebug and parameterize the agendaDebug and parameterize the agendaVerify the responseVerify the responseMonitor Flex statisticsMonitor Flex statisticsPublish performance reportsPublish performance reports

Page 26: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

Recording a Flex application

RadView Software - Load testing RIA using WebLOAD26

Page 27: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

The Recorded Agenda

RadView Software - Load testing RIA using WebLOAD27

Page 28: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

Playing the Agenda

RadView Software - Load testing RIA using WebLOAD28

Page 29: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

AMF Response Verification

RadView Software - Load testing RIA using WebLOAD29

Page 30: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

Collecting Adobe LCDS server-side statistics

RadView Software - Load testing RIA using WebLOAD30

Page 31: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

Executing the Load Test

RadView Software - Load testing RIA using WebLOAD31

Page 32: Load Testing Flex Applications using WebLOAD · • Using tools to automate the testing process to verify the system’s speed, availability and tolerance for load. • These tools

Call to Action

•Download WebLOAD evaluation versionwww.radview.com

RadView Software - Load testing RIA using WebLOAD32

•Provide us [email protected] VP product