p17 08 ibm rational testing solutionsmedia.govtech.net/govtech_website/events/presentation... ·...

23
Marty Swafford IBM Rational Software IBM Certified Solution Designer - Rational Manual Tester, Rational Performance Tester, Rational Functional Tester for Java [email protected] IBM Software Group P17 System Testing Monday, September 24, 2007 Module 8 : IBM Rational Testing Solutions

Upload: others

Post on 03-Apr-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: P17 08 IBM Rational Testing Solutionsmedia.govtech.net/GOVTECH_WEBSITE/EVENTS/PRESENTATION... · 2016-10-06 · IBM Software Group | Rational software ® Marty Swafford IBM Rational

IBM Software Group | Rational software®

Marty SwaffordIBM Rational SoftwareIBM Certified Solution Designer - Rational Manual Tester, Rational Performance Tester, Rational Functional Tester for [email protected]

IBM Software Group

P17 System TestingMonday, September 24, 2007

Module 8 : IBM Rational Testing Solutions

Page 2: P17 08 IBM Rational Testing Solutionsmedia.govtech.net/GOVTECH_WEBSITE/EVENTS/PRESENTATION... · 2016-10-06 · IBM Software Group | Rational software ® Marty Swafford IBM Rational

IBM Software Group | Rational software®

Design: Architecture Discovery, Analysis and ControlArchitect discovers the architecture as well as control the changes made during implementationAutomatic diagramming of significant structures (e.g. inheritance trees, class internals, package structure)

Insight into the architecture through Diagram Browsing capability

Validation of structural quality through structural antipatternrules

Definition of custom architectural rules ensure design integrity

ArchitectArchitect

Anti-pattern detection by category/files/severityAntiAnti--pattern detection by pattern detection by category/files/severitycategory/files/severity

Anti-pattern visualizationAntiAnti--pattern pattern visualizationvisualization

Page 3: P17 08 IBM Rational Testing Solutionsmedia.govtech.net/GOVTECH_WEBSITE/EVENTS/PRESENTATION... · 2016-10-06 · IBM Software Group | Rational software ® Marty Swafford IBM Rational

IBM Software Group | Rational software®

Developer implements the code and receives guidance for J2SE and J2EE best practicesValidation of code through sets of coding rules (200+) in various categories:

J2EE Best PracticesJ2SE Best PracticesPerformance Private APICoding styleGlobalizationNaming conventionsTestability & Testing completenessDesign PrinciplesStructural Anti-patterns

Users can define their own rules

Eclipse’s Quick Fix available

Includes IBM Research IP

Rule violation underlined in the code editor

Rule violation Rule violation underlined in the underlined in the code editorcode editor

Rule violations by category/files/severityRule violations by Rule violations by category/files/severitycategory/files/severity

Why / Example / How to fixWhy / Example / Why / Example / How to fixHow to fix

DeveloperDeveloper

Construction: Code Review

Page 4: P17 08 IBM Rational Testing Solutionsmedia.govtech.net/GOVTECH_WEBSITE/EVENTS/PRESENTATION... · 2016-10-06 · IBM Software Group | Rational software ® Marty Swafford IBM Rational

IBM Software Group | Rational software®

Component Test: Verify component functionality

Test driver and stub datapool

Test driver Test driver and stub and stub datapooldatapool

Developer automatically generates fully functional unit and API tests for Java classes, EJBs and Web Services (incl. .Net)Provides testing guidance

What to test first based on metrics?What test patterns apply to code?

Automated test driver and stub generation

Includes both control flow and data

Based on the JUnitframework

Data-driven testing

No need to write code!

Integrated with debugging and line level code coverage

DeveloperDeveloper

Page 5: P17 08 IBM Rational Testing Solutionsmedia.govtech.net/GOVTECH_WEBSITE/EVENTS/PRESENTATION... · 2016-10-06 · IBM Software Group | Rational software ® Marty Swafford IBM Rational

IBM Software Group | Rational software®

5

Runtime AnalysisBuilt-in tools helps developer isolate and fix performance problemsAdvanced features including:

Execution StatsLog Navigator and ViewMemory StatsMethod InvocationObject ReferencesProfiling MonitorStatistical Graph and Graph SummariesStatistical DataUML Sequence DiagramUML Log InteractionsUML Trace InteractionsStatic and Dynamic Probe KitProbe Kit EditorJ2EE Request ProfilerPI-AgentRAC Security Extension

Profiling tools can seamlessly trace across multiple servers

Page 6: P17 08 IBM Rational Testing Solutionsmedia.govtech.net/GOVTECH_WEBSITE/EVENTS/PRESENTATION... · 2016-10-06 · IBM Software Group | Rational software ® Marty Swafford IBM Rational

IBM Software Group | Rational software®

Debug: Understand behavior, performance & memoryDeveloper analyzes application for memory, performance, functional problemsApplication tracingUser defined probes for loggingThread analysisMulti-tier UML 2.0 sequence diagramsAutomated log analysis with symptom databases

Performance analysisCall graphThread analysis

Memory analysisLocal and remote memory leak analysis down to the line levelIncludes IBM Research IP

Code coverageLive UML2 sequence diagram generation Live UML2 sequence Live UML2 sequence diagram generation diagram generation Thread Analysis Thread Analysis Thread Analysis

DeveloperDeveloper

Page 7: P17 08 IBM Rational Testing Solutionsmedia.govtech.net/GOVTECH_WEBSITE/EVENTS/PRESENTATION... · 2016-10-06 · IBM Software Group | Rational software ® Marty Swafford IBM Rational

IBM Software Group | Rational software®

Examples of Run-Time Problem Determination

Includes:Memory profiling and leak detectionPerformance profilingThread analysis and deadlock detectionCode coverage analysisRuntime log and trace analysis

Run-time Problem Determination

CodeCoverage

PerformanceAnalysis

ExecutionTrace

Logging J2EE Trace User DefinedProbes

Probe based analysisThreadAnalysis

System Monitoring

Memoryanalysis

Page 8: P17 08 IBM Rational Testing Solutionsmedia.govtech.net/GOVTECH_WEBSITE/EVENTS/PRESENTATION... · 2016-10-06 · IBM Software Group | Rational software ® Marty Swafford IBM Rational

IBM Software Group | Rational software®

Memory Analysis

Page 9: P17 08 IBM Rational Testing Solutionsmedia.govtech.net/GOVTECH_WEBSITE/EVENTS/PRESENTATION... · 2016-10-06 · IBM Software Group | Rational software ® Marty Swafford IBM Rational

IBM Software Group | Rational software®

Threads view and UML2 thread interactions

Thread holding lock

Page 10: P17 08 IBM Rational Testing Solutionsmedia.govtech.net/GOVTECH_WEBSITE/EVENTS/PRESENTATION... · 2016-10-06 · IBM Software Group | Rational software ® Marty Swafford IBM Rational

IBM Software Group | Rational software®

Performance analysis instrumentation

Show aggregate statistics only -improves performance but doesn’t keep the history

Select here to capture the full execution history

Page 11: P17 08 IBM Rational Testing Solutionsmedia.govtech.net/GOVTECH_WEBSITE/EVENTS/PRESENTATION... · 2016-10-06 · IBM Software Group | Rational software ® Marty Swafford IBM Rational

IBM Software Group | Rational software®

Execution history: performance callgraphCallgraph shows summary of execution history

Details of the selected method are here…

Page 12: P17 08 IBM Rational Testing Solutionsmedia.govtech.net/GOVTECH_WEBSITE/EVENTS/PRESENTATION... · 2016-10-06 · IBM Software Group | Rational software ® Marty Swafford IBM Rational

IBM Software Group | Rational software®

Execution History – Sequence DiagramsSequence diagram shows packages, classes, methods

Methods and/or classes can be hidden from the diagram

Page 13: P17 08 IBM Rational Testing Solutionsmedia.govtech.net/GOVTECH_WEBSITE/EVENTS/PRESENTATION... · 2016-10-06 · IBM Software Group | Rational software ® Marty Swafford IBM Rational

IBM Software Group | Rational software®

Execution History: Execution FlowThe execution flow view shows the call sequence with Threads as vertical columns. You can zoom in for details.

Page 14: P17 08 IBM Rational Testing Solutionsmedia.govtech.net/GOVTECH_WEBSITE/EVENTS/PRESENTATION... · 2016-10-06 · IBM Software Group | Rational software ® Marty Swafford IBM Rational

IBM Software Group | Rational software®

Probe-Based Analysis

Probes – snippets of code inserted in your application

Extend runtime analysis to fit your needsAccess to input/return argumentsDefine static and thread local objectsUltimate debugger breakpoint

How?

Author a probeCreate a Profile Set that includes your newly created probeProfile using that Profiling Set

Page 15: P17 08 IBM Rational Testing Solutionsmedia.govtech.net/GOVTECH_WEBSITE/EVENTS/PRESENTATION... · 2016-10-06 · IBM Software Group | Rational software ® Marty Swafford IBM Rational

IBM Software Group | Rational software®

Author a Probe

Create multiple snippetsin a probe, multipleprobes in a probe-set.

Specify parameters to your code snippet

Specify when the snippetshould be inserted:Lmethod entry, exit,exception catch, etc.

Write the Java code you want executed

Page 16: P17 08 IBM Rational Testing Solutionsmedia.govtech.net/GOVTECH_WEBSITE/EVENTS/PRESENTATION... · 2016-10-06 · IBM Software Group | Rational software ® Marty Swafford IBM Rational

IBM Software Group | Rational software®

Use a Probe

Create or edit aprofiling set

Specify one or moreprobes as part of yourprofiling set

Page 17: P17 08 IBM Rational Testing Solutionsmedia.govtech.net/GOVTECH_WEBSITE/EVENTS/PRESENTATION... · 2016-10-06 · IBM Software Group | Rational software ® Marty Swafford IBM Rational

IBM Software Group | Rational software®

Log and Trace AnalysisGeneric log adapter to converts existing log files into Common Base Events (CBE) formatBuilt in parsers: Imports existing log files and converts to CBE format on the fly using the Generic Log Adapter technology

Built in correlation engines: Visually displays the correlation between log records using a number of factors

Sequential Correlation

Associative Correlation

Page 18: P17 08 IBM Rational Testing Solutionsmedia.govtech.net/GOVTECH_WEBSITE/EVENTS/PRESENTATION... · 2016-10-06 · IBM Software Group | Rational software ® Marty Swafford IBM Rational

IBM Software Group | Rational software®

Log and Trace Analysis – Symptom Database

Used in the analysis of events and error messages that may occur in a log.

XML file of symptoms, string match patterns, associated solutions, and directives.

Page 19: P17 08 IBM Rational Testing Solutionsmedia.govtech.net/GOVTECH_WEBSITE/EVENTS/PRESENTATION... · 2016-10-06 · IBM Software Group | Rational software ® Marty Swafford IBM Rational

IBM Software Group | Rational software®

Code Coverage Analysis

Annotated source viewshows lines hit or missed.

Coverage navigator shows overview

Page 20: P17 08 IBM Rational Testing Solutionsmedia.govtech.net/GOVTECH_WEBSITE/EVENTS/PRESENTATION... · 2016-10-06 · IBM Software Group | Rational software ® Marty Swafford IBM Rational

IBM Software Group | Rational software®

Distributed Transaction Analysis

Import application response measurement (ARM) based data collected in production systems or in test labs while during performance testing

Analyze distributed transactions

View them as UML2 class interactions between multiple processes or hosts

Correlate to log views and system performance

Page 21: P17 08 IBM Rational Testing Solutionsmedia.govtech.net/GOVTECH_WEBSITE/EVENTS/PRESENTATION... · 2016-10-06 · IBM Software Group | Rational software ® Marty Swafford IBM Rational

IBM Software Group | Rational software®

Distributed Transaction Analysis – class interaction between web services

Page 22: P17 08 IBM Rational Testing Solutionsmedia.govtech.net/GOVTECH_WEBSITE/EVENTS/PRESENTATION... · 2016-10-06 · IBM Software Group | Rational software ® Marty Swafford IBM Rational

IBM Software Group | Rational software®

System Analysis and Correlation1. The CPU monitoring on the machine

where the transaction is running is linked (based on time) with the trace and log views

3. …the corresponding transaction can be visualized in the UML sequence diagram..

4. …and the log entries on the machine can be correlated and analyzed using the symptom database

2. At the point a user notices a performance problem or load…

Page 23: P17 08 IBM Rational Testing Solutionsmedia.govtech.net/GOVTECH_WEBSITE/EVENTS/PRESENTATION... · 2016-10-06 · IBM Software Group | Rational software ® Marty Swafford IBM Rational

IBM Software Group | Rational software®

Summary

Testing solutions must provide:Architecture discovery, analysis and controlCode reviewComponent Testmemory analysis : leak candidates identifiedthreads analysis: thread and lock interactionsperformance analysis: call graph, execution flow, uml2 traceProbe based analysis: write and deploy multiple probesLog and trace analysis: generic log adapter, symptom databaseCode coverage analysis: summary view and annotated sourceDistributed transaction analysis: production or test environmentsSystem analysis and correlation: across multiple hosts or processes