44
® IBM Software Group © 2004 IBM Corporation Ensuring Application Reliability and Scalability Through Effective Test Automation By Denice Wong Technical Consultant – IBM Rational Hong Kong

Ensuring Application Reliability and Scalability Through Effective Test Automation

  • Upload
    kurt

  • View
    26

  • Download
    0

Embed Size (px)

DESCRIPTION

Ensuring Application Reliability and Scalability Through Effective Test Automation. By Denice Wong Technical Consultant – IBM Rational Hong Kong. Insufficient/Changing requirements. Waterfall process. Poor Unit testing. Limited time for testing. Poor Performance testing. Inaccurate - PowerPoint PPT Presentation

Citation preview

Page 1: Ensuring Application Reliability and Scalability Through Effective Test Automation

®

IBM Software Group

© 2004 IBM Corporation

Ensuring Application Reliability and Scalability Through Effective Test Automation

By Denice Wong

Technical Consultant – IBM Rational Hong Kong

Page 2: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

2

Challenges Associated With Testing

Insufficient/Changing requirements

Cau

ses

Inaccuratetests

Waterfallprocess

PoorUnit testing

Limited timefor testing

Poor Performance testing

Late detectionof errors

Functional testingblocked

Unable to perform full regression testing

Inaccurate performance prediction on

production environment

Effe

cts

Page 3: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

3

a

An Example: Challenges of Siebel Implementations

Cost of testing new Siebel installation

$0

$100,000

$200,000

$300,000

$400,000

$500,000

New Installation

Simple Complexity Installation

Medium Complexity Installation

High Complexity Installation

Cost of testing new Siebel installation

$0

$100,000

$200,000

$300,000

$400,000

$500,000

New Installation

Simple Complexity Installation

Medium Complexity Installation

High Complexity Installation

Surveyed 130+ projects

Results: Typical customer spends ~25% of

project costs on testing

Testing costs vary widely depending on project type and complexity

“Customers are spending close to $½ Million on testing complex projects”1

1 Source: Siebel Test Automation Datasheet

Page 4: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

4

Do you ever have enough time to test everything???

Trade coverage for risk Reduce scope of testing

Reduce testing cycles

Reduce configuration testing

Add people to the project

Introduce / enhance automation

Page 5: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

5

Automation Adds Options!

Improve human productivity

Broader test coverage

Reduce redundancy

Automate repetitive tasks

Enable process improvements

Increase regression testing

Expose risk areas

Tie testing to requirements

Page 6: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

6

What Does Test Automation Mean?

Do my testing for

me!

Page 7: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

7

What is Automated FunctionalTesting?

Using automation tools to record actions taken against an application.

Test scripts are derived from these recordings which are then used for subsequent test execution.

Record

Enhance

Execute

Record

Enhance

Execute

Page 8: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

8

What Is Automated Performance Testing?

The process of exercising an application by emulating actual users with a load generation tool for the purpose of finding system bottlenecks

Controller

System Under Test

Page 9: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

9

What is Automated Test Management?

Using automation tools to accelerate the process of test planning, test creation, test execution and test results analysis

PlanPlan

Create

ExecuteExecute

AnalyzeAnalyze

Page 10: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

10

Page 11: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

11

Challenges of Functional TestingChallenges of Functional Testing

Controlling cost of test automation Inexperienced testers face steep

learning curve for tools

Test maintenance outpaces testing

Controlling cost of test automation Inexperienced testers face steep

learning curve for tools

Test maintenance outpaces testing

“Our testers are not experienced in building

automated tests.”

“Application UI changes are always

breaking our test scripts.”

Page 12: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

12

Challenges of Functional TestingChallenges of Functional Testing

Control cost of test automation Inexperienced testers face steep

learning curve for tools

Test maintenance grows with project

Testing Tools Lack Flexibility Power users hands are tied by tool

limitations

Control cost of test automation Inexperienced testers face steep

learning curve for tools

Test maintenance grows with project

Testing Tools Lack Flexibility Power users hands are tied by tool

limitations

“I need one tool for both my expert and

novice testers.”

“Our script language limits our ability to overcome some

automation obstacles.”

Page 13: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

13

IBM Rational Functional Tester Automated regression testing for Web,

J2EE and .Net applications

Key Benefits Minimize test maintenance with scripts

resilient to application changes

Wizard enhanced automation to speed test creation for the new user

Powerful scripting language and IDE for the professional tester

Supports Team oriented parallel development

Functional Testing with IBM Rational Functional Tester Test automation for the novice and the professional

Page 14: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

14

Execute

Effective Test AutomationCreating an automated test is a three steps process

Script Recording Capture user interactions with the system under test

Script Enhancing Modify scripts for situation specific challenges

Script Execution Ensure reliable playback for local or remote execution

EnhanceRecord

Page 15: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

15

Data Driven Testing Separates test data from test

script

Enables a single script to run multiple tests by using multiple data sets

Wizard driven process No programming involved

Import data from external sources

Data Driven Testing Separates test data from test

script

Enables a single script to run multiple tests by using multiple data sets

Wizard driven process No programming involved

Import data from external sources

Recording ScriptsData Driven TestingRecording ScriptsData Driven Testing

Page 16: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

16

Dynamic Data/Content Matching Use pattern matching technique to verify dynamic data and create robust tests

E.g. Instead of validating “Order ID 230”, validate “Order ID ###” or Order ID 2##, etc.

This allows for a wide variety of acceptable responses as well as restrictions on acceptable responses when validating the application’s behavior

Order ID changes with each order placed

Order ID changes with each order placed

Test Fails when

comparing static

baseline to dynamic data

Test Fails when

comparing static

baseline to dynamic data

Test Passes when

comparing pattern

baseline to dynamic data

Test Passes when

comparing pattern

baseline to dynamic data

Recording ScriptsValidating Dynamic Data

Page 17: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

17

Functional Tester offers two development environments Eclipse based IBM Software

Development Platform

Visual Studio .net

Both environments offering powerful debugging features Code assist editors

Step debugging

Variable watches

More…

Functional Tester offers two development environments Eclipse based IBM Software

Development Platform

Visual Studio .net

Both environments offering powerful debugging features Code assist editors

Step debugging

Variable watches

More…

Enhancing ScriptsPowerful, Professional Debugger

Page 18: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

Reduce Test Script MaintenanceObject Map

The object map is a collection of descriptions of test objects

It is automatically populated during test script recording

It contains properties for each test object Recognition properties enable Rational XDE Tester to find the test object

during playback

Changes to an object need only be made once – in the map

Central Object Map

EditBox

CheckBox

Button

Frame

Test ScriptsTest ScriptsPanel

Page 19: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

19

Reduce Test Script MaintenanceReliable Playback with Script Assure

DeterminesMatch

Version 1.0 Version 2.0

TesterSees

ToolSees

No User No User Intervention Intervention

Required With Required With ScriptAssureScriptAssureTMTMScore = 75

Page 20: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

20

Broad Environment Support Web, Java. .net Create data driven tests without coding Static data and properties verification Dynamic data validation without coding What can’t or shouldn’t be automated?

Flexible and Extensible Scripts Flexible coding language Powerful, professional debugger Object map editing flexibility Version control of scripts

Script Execution Options Reliable playback with ScriptAssure Remote and local playback on various platforms

Broad Environment Support Web, Java. .net Create data driven tests without coding Static data and properties verification Dynamic data validation without coding What can’t or shouldn’t be automated?

Flexible and Extensible Scripts Flexible coding language Powerful, professional debugger Object map editing flexibility Version control of scripts

Script Execution Options Reliable playback with ScriptAssure Remote and local playback on various platforms

Summarizing Key Features in IBM Functional TesterSummarizing Key Features in IBM Functional Tester

Page 21: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

21

Page 22: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

22

Challenges of Performance TestingChallenges of Performance Testing

Complex Tools & Complex Task Tool complexity and lack of

experience intimidates many first time users

Complex Tools & Complex Task Tool complexity and lack of

experience intimidates many first time users

“We don’t have a lot of experience building

good load tests.”

“Most load test tools are much more

complicated than we require.”

Page 23: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

23

Challenges of Performance TestingChallenges of Performance Testing

Complex Tools & Complex Task Tool complexity and lack of

experience intimidates many first time users

Testing Tools Lack Flexibility Power users hands are tied by tool

limitations

Complex Tools & Complex Task Tool complexity and lack of

experience intimidates many first time users

Testing Tools Lack Flexibility Power users hands are tied by tool

limitations

“We don’t have a good understanding of what

exactly is occurring during a load test.”

“We have highly technical performance

testers that need to customize their tests.”

Page 24: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

24

Challenges of Performance TestingChallenges of Performance Testing

Complex Tools & Complex Task Tool complexity and lack of

experience intimidates many first time users

Testing Tools Lack Flexibility Power users hands are tied by tool

limitations

Hidden Costs Hardware intensive tools and inability

to share information with team mates increases cost of testing

Complex Tools & Complex Task Tool complexity and lack of

experience intimidates many first time users

Testing Tools Lack Flexibility Power users hands are tied by tool

limitations

Hidden Costs Hardware intensive tools and inability

to share information with team mates increases cost of testing

“Our developers have no way of performing

load tests.”

“We don’t have enough hardware to run our

tests.”

Page 25: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

25

IBM Rational Performance Tester Performance Testing for Web Based

Applications

Key Benefits Built for Day 1 Productivity

Mask complexity to get the job done

Advanced Data Access & Manipulation Automated data variation and

synchronization

Simulate real world workload model

Lower Cost of Performance Testing Low resource requirements

Desktop IDE integration

Performance Testing with IBM Rational Performance Tester Test automation for the novice and the professional

Page 26: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

26

Execute & AnalyzeSchedule WorkloadBuild Scripts

Script Creation Considerations Visual test editor, varying input data & correlating server responses

Scheduling Considerations Accurately representing a true user workload

Execute and Analyze Considerations Validating responses & finding the bottleneck

Creating a Performance TestCreating a performance test is a three step process

Page 27: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

27

No-Code Tests

Tests are represented in a tree view as a list of web pages and their elements, such as images.

No programming necessary to create a test

Underlying detail is accessible but hidden to simplify test creation and maintenance

Page 28: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

28

Creating a Performance TestBuilding Scripts

Automated creation of parameterized tests Literal values used during recording are replaced with variables

At playback time, variables are populated with data from a datapool

Data for playback can be imported from external data sources

No user coding involved

User Name: JSmith

User Name: CBryson

User Name: TJones

Session No. 100

Session No. 101

Session No. 102

Page 29: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

29

LoadSmart schedulingEasy to use

Model complexreal world scenarios

Point and clickscheduling

Page 30: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

30

Creating a Performance TestSchedule Workload

Powerful and flexible scheduling Visual schedule editor for no code scheduling

Coordinate timing and dependencies

Accurately model real users workloads

Dynamically increase the load during the run

Page 31: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

32

Find Slow Pages

Easily determine slow performing pages of your web site Reports are available live during the run and for post run analysis

Page 32: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

33

Find Resource Bottlenecks

Simultaneously monitor resource utilization during the test Capture and analyze a long list of performance monitoring statistics

Determine your resource bottlenecks

Page 33: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

34

Identify the Root Cause of Performance Problems IBM Performance Optimization Toolkit for Rational Performance Tester

System System underunder test test

Run Performance Test to Run Performance Test to Emulate Multiple UsersEmulate Multiple Users

AnalyzeAnalyzeApplication Application

Response TimeResponse Time

Isolate elusive Isolate elusive performance performance problems in problems in complex, multi-tier complex, multi-tier environmentsenvironments

Speed delivery Speed delivery of quality softwareof quality software

aa

bbIsolate Isolate

Performance Performance Bottlenecks and Bottlenecks and Submit Change Submit Change

RequestRequest

DeveloperDeveloperDeveloperDeveloper

TesterTesterTesterTester

cc

Pinpoint performance Pinpoint performance problems in the test lab...problems in the test lab...

Speed changes by Speed changes by providing detailed providing detailed data to developersdata to developers

UserUserLoadLoad

11 22

Page 34: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

36

Summarizing Key Features in Performance Tester

Built for Day 1 Productivity Create code free tests

Mask complexity to get the job done

Advanced Data Access & Manipulation Create code free schedules

Automated data variation and synchronization

Create real world workload model

Lower Cost of Performance Testing Low resource requirements

Desktop IDE integration

Page 35: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

37

Page 36: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

38

Why Should I Test?

Associating Test Inputs defines Why you are testing Establishes a link between the test and the motivator

Motivator can be RequisitePro Requirements, Rose Model, Excel Spreadsheet, or custom

Establishing link enables requirements coverage reporting

Test InputTest Input

Page 37: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

39

Suspect Test Cases

Suspect Test Cases show up with red slashes in the Test Inputs View

Suspect Test Cases show up in bold in the Test Plan View

AND

Within TestManager:

Page 38: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

Automatically Track Impact of Changing Requirements

Automatic Notification of Changed

Requirements that Affect Test Cases

Page 39: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

Comprehensive Change/Defects Management

Test Case

Script

Requirement

Page 40: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

Control Your ProcessTrack Test Thoroughness

Requirements (ReqPro)

Test Case (Test Manager)

Defect Tracking (ClearQuest)

Page 41: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

Control Your ProcessTrack Test Thoroughness

Page 42: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

44

Summarizing Key Features in TestManager

Speed your Test Cycles TestManager controls, tracks and

maintains all test assets

Simulate Real World Workload Create real world workload model to

make sure the test result is meaningful

Effortless Analysis Intuitive reporting provides results

analysis for accurate and up-to-date test reports

Page 43: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

45

CustomerExtensions

3rd PartyISV Tools

Rational Software Architect

Rational Application Developer

Rational Functional & Manual

Tester

Rational Performance

Tester

RequisitePro, ClearQuest, ClearCase, Test Manager

Tivoli Configuration

Manager

RequisitePro

Rational Software Modeler

TivoliMonitoring

Rational Web

Developer

Project Manager

ExecutiveRational Portfolio Manager

The IBM Rational Software Development PlatformA complete, open, modular, and proven solution for Software Quality Assurance

AnalystAnalyst ArchitectArchitect DeveloperDeveloper TesterTester Deployment Manager

Deployment Manager

Page 44: Ensuring Application Reliability and Scalability Through Effective Test Automation

IBM Software Group | Rational software

46

What’s Next?

Rapid Web Application Deployment Seminar (26th May, 2006)

Please fill in the feedback form and get IBM Rational evaluation CD kit !!