Implementering av Model- Based Testing i LoadRunner

Relevanta dokument
SAST Q1. Som att börja arbeta på ett nytt jobb. Testautomatisera med Modell-baserad testning

Dag König Developer Tools Specialist Microsoft Corporation

Ny skalbar och öppen OLAP-teknologi, SAS OLAP server

Enhetstester på.netplattformen

Senior utvecklare/arkitekt Rama Pour Rajaei Utbildningar Certifieringar Kontaktinformation

Belastningstester med Visual Studio Gränssnittet

Testramverk och Model based testing med java i praktiken

Swedbank Mobile Loadtesting. LoadRunner Mobile App protocol

SAS USER FORUM SWEDEN 2017 USER FORUM. SAS Viya och öppenhet en gemomgång av LUA-, Java-, Python- och REST-gränssnitten mot SAS Viya

DI Studio nyheter

Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista

DD2385 Programutvecklingsteknik Några bilder till föreläsning 1 24/ Kursöversikt Javarepetition/Javaintroduktion

Tung bakgrundsaktivitet t.ex. Aktiva objekt t.ex. Animering, simulering. DD2385 Programutvecklingsteknik Några bilder till föreläsning 9 6/5 2013

Datastrukturer och Algoritmer D0041D

Testdriven utveckling. Magnus Jonsson Siemens Medical Solutions

Ajax TruClient. Erfarenheter, tips och trix från Swedbank IT. Christian Gerdes Performance Engineer, LIGHTS IN LINE AB

Trädstrukturer och grafer

ADITRO LÖSNINGAR FÖR EN ENKLARE JOBBVARDAG SUMMIT 2014 PER JOHANSSON & JOEL KÖHL ADITRO L FRÅN WINDOWS TILL WEB

Internationalisering/lokalisering på webben

Objektorienterad Programkonstruktion. Föreläsning 3 7 nov 2016

Att bekanta dig med NetBeans programmeringsmiljö och skriva några enkla program med programmeringsspråket Java.

Services + REST och OAuth

Föreläsning 10. ADT:er och datastrukturer

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

Övervakning med GnilronEye

Programmering B med Visual C

Webbservrar, severskript & webbproduktion

2I1070 Lektion 2 Servlets och databaskopplingar Internetprogrammering 2I1049 Treskiktsarkitektur Klient-server med servlets

F6 Objektorienterad design. ID1004 Objektorienterad programmering Fredrik Kilander

Föreläsning 8. Arv. Arv (forts) Arv och abstrakta klasser

Dugga Datastrukturer (DAT036)

Grundläggande programmering DVG A08 & ISG A04. Allmän information. Å vem är jag då. Karlstads Universitet, Johan Öfverberg 1

OMTENTAMEN I PROGRAMSPRÅK -- DVG C kl. 08:15-13: 15

Några grundläggande begrepp

Javas Exceptions. DD2385 Programutvecklingsteknik Fler bilder till föreläsning 7 23/ Kort om Javas Exceptions Trådar i Java

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock

Generic type declarations. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Elisabet Stöök Konsult SAS Institute AB Copyright 2003, SAS Institute Inc. All rights reserved.

ID1020 Introduktion av Maven. Dr. Jim Dowling

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

Testplanering, test-first, testverktyg

Examination i. PROGRAMMERINGSTEKNIK F1/TM1 TIN212 (Dugga) Dag: Onsdag Datum: Tid: (OBS 3 tim) Rum: V

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3

Svenska Linuxföreningen. Fri programvara Mycket mer än gratis 1(36) Copyright 2005, 2006 Marcus Rejås

Bas - Utvecklingsstöd

Abstrakta Klasser 2. Kodning är bara en liten del i programvaruutvecklingen 6% 1% 6% Abstrakta Klasser - deklaration. Programutveckling sker i faser

Software Technology. Josef Svenningsson

Language Integrated Query, LINQ, och databaser

Inledande programmering med C# (1DV402) Introduktion till C#

Föreläsning 7. Träd och binära sökträd

JAVASCRIPT-POWERED LOADRUNNER CHRISTIAN GERDES PERFORMANCE ENGINEER LIGHTS IN LINE AB

emopluppen Användning av "Ant" Niklas Backlund Version: 1.4 ( 2002/04/26 07:27:52 UTC)

Fakulteten för ekonomi, kommunikation och IT. Corba. Datum: Mathias Andersson

The Last Adventure. Innehåll. Objektorientering. Språket Java. Java - Paket. Java - synlighet. Den sista lektionen. Repetition.

Användning av testautomation inom Extendas utvecklingsorganisation

DB, DATA, LOGIC, EXPOSURE (WEB)

Generics och polymorfism. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Föreläsning 2. Länkad lista och iterator

Algoritmer och datastrukturer, föreläsning 11

Tentamen i Objektorienterad modellering och design Helsingborg

FRÅN MAVEN TILL GRADLE

JavaScript in SharePoint and not just for Apps. Wictor Wilén

Testdriven utveckling av Web Services. Ole Matzura

Programutvecklingsprojekt Projektgrupp Elvin. Detailed Design Document

Fördjupande uppsats i datalogi

TDDD80 Mobila och sociala applika1oner. Kursintroduk1on

Objektorienterad Programkonstruktion. Föreläsning 3 9 nov 2015

Webbtjänster med API er

Tentamen Datastrukturer (DAT036)

DAT043 - föreläsning 8

Distribuerade System, HT03

Föreläsning 15: Repetition DVGA02

Objektorienterad programmering E. Algoritmer. Telefonboken, påminnelse (och litet tillägg), 1. Telefonboken, påminnelse (och litet tillägg), 2

Java: kort introduktion. Trådar. Något om mutex, Dekkers algoritm och monitorer. Javas ("inbyggda monitor") synchronized.

Konsultprofil Lennart Boklund

Fortsättningskurs i programmering F 5. GUI händelsehantering - undantagshantering Hugo Quisbert AWT. Paket för hantering av grafik

Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Skriv ditt idnummer på varje blad (så att vi inte slarvar bort dem).

Calligra. En allmän inledning. Raphael Langerhorst Jost Schenck Översättare: Stefan Asserhäll

Föreläsning 10. Grafer, Dijkstra och Prim

Föreläsning 10. Grafer, Dijkstra och Prim

Lycka till! TENTAMEN: Objektorienterade applikationer. Läs detta! 1 (6) Tentamen

Testautomatisering. Labbar, FitNesse, TDD, BDD

Datatyper. Programmering. Att definiera datatyper i Java. Laddade partiklar. (x,y) (Rx,Ry) hh.se/db2004

Dugga i Grundläggande programmering STS, åk

Institutionen för datavetenskap

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

Introduktion till migrering till molnet. PART 4: Plattformar för molntjänster

Algoritmer. Två gränssnitt

Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl

Reijo Soréus. NyA. Presentation för Ladok-Inkubator Göteborg

Tentamen Datastrukturer (DAT036)

PROGRAMMERING-JAVA TENTAMINA

Svenska Linuxföreningen. Fri programvara Mycket mer än bara gratis 1(29)

Open Source - Eller som vi säger, Fri programvara

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Föreläsning 10. Grafer, Dijkstra och Prim

Tentamen Datastrukturer (DAT036)

TENTAMEN. Kurs: Applikationsutveckling i Java 5DV135. Ansvarig lärare: Johan Eliasson. HT12 Datum: Tid: kl

Transkript:

Implementering av Model- Based Testing i LoadRunner Kristian Karl Copyright Prolore 2006. All Rights Reserved.

Vem står framför Er? Kristian Karl Lasttester i 7 år, testautomatiserat i 12 år Arbetar på Prolore (Specialiserat på Testautomatisering, Prestanda, Svarstidsmonitorering samt Utbildningar inom dessa områden)

Agenda Model-Based Testing org.tigris.mbt Implementationen med LoadRunner Sammanfattning

Model-Based Testing Crash course i Model-based testing

Model-Based Testing Avancerad Standard

Model-Based Testing

Model-Based Testing

Model-Based Testing Testfallssekvens Stopped_std Start Running_std Scientific Running_sci Standard Running_std Standard Running_std Stop Stopped_std Start Running_std Scientific Running_sci Scientific Running_sci Stop Stopped_sci Start Running_sci

Model-Based Testing

Model-Based Testing

Verktyg Verktyg för att skapa och realisera MBT

yed (yworks)

GraphML GraphML är ett filformat för grafer Bygger på XML Stödjer riktade grafer (digrafer)

org.tigris.mbt Klassbibliotek skrivet i Java Läser/skriver GraphML filer Genererar testfallssekvenser Exekverar testfallssekvenser

org.tigris.mbt Öppen källkod jung, jdom, log4j JUnit, Perl, LoadRunner, Functional Tester GUI, Web services, API

Prestandatestet Prestandatest med MBT

Systemet under test Java Swing Klient Web Services/SOAP Apache BEA WebLogic Oracle

Målet Verifiera att arkitekturen höll prestandakraven. Snabbt testa många olika systemkonfigurationer.

Modellen

SOAPscope (Mindreef) Klient SOAPscope Presenterar Web Services som pseudokod eller rå xml Web Services Server

HttpClient (Apache Jakarta) Implementerar HTTP 1.0 samt 1.1 i Java Full implementering av samtliga HTTP metoder (GET, POST etc)

Implementationen - LoadRunner import lrapi.lr; I Java Vuser skript, kan man placera vilken standard Java kod som helst. (Gäller även för Corba-Java samt RMI-Java Vuser skript) public class Actions { public int init() { return 0; } public int action() { return 0; } } public int end() { return 0; }

Modellen

Implementationen - LoadRunner Instansiering av ModelBasedTesting Metoder genererade från tillstångdsgrafen import lrapi.lr; public class Actions { public int action() { ModelBasedTesting mbt = new ModelBasedTesting(graphml, this); mbt.runrandomwalk( 3600 ); mbt.rununtilallverticesandedgesvisited(); return 0; } public void InitieraKlient() { } public void Inloggad() { } }

Implementationen - LoadRunner

Implementationen - LoadRunner

LoadRunner - Vusers

LoadRunner svarstider

Resultat tail -f tail -f mbt.log grep Vertex: \Edge: 2006-11-13 19:05:16,929 [main] INFO Regression - Vertex: NyttÄrendeInläst 2006-11-13 19:05:16,939 [main] INFO Regression - Edge: hamtabild 2006-11-13 19:05:21,716 [main] INFO Regression - Vertex: BildHämtad 2006-11-13 19:05:21,726 [main] INFO Regression - Edge: sparaarende 2006-11-13 19:05:21,726 [main] INFO Regression - Vertex: sparaarendebilder 2006-11-13 19:05:28,055 [main] INFO Regression - Vertex: ÄrendeBilderSparat 2006-11-13 19:05:28,446 [main] INFO Regression - Edge: overlamnaforbeslutomfubrabild

Resultat Statistik mbt Test coverage edges: 33/263 => 12.547529% Test coverage vertices: 26/189 => 13.756614% Number of visited edges: 38 Number of visited vertices: 39 Execution time: 65 seconds

Resultat Snabbare ledtider, då vi ibland bara behövde ändra i modellen för ett nytt test Testade 50-tal konfigurationer under 2 veckor Designade om systemet. (WLI utelämnades, och vi sparade massa pengar!)

Summering För- och nackdelar och framgångsfaktorer

Fördelarna med LoadRunner Enkelt att starta och stoppa tester med LR Använde oss av LRs monitorer för snabb återkoppling under testet Vår egen loggning med log4j för djupare analys av vårt eget system

Fördelar MBT i prestandatest Designa test direkt från användningsfallen Graferna gör det enklare att förstå testerna Förenklat underhåll Enkelt att omkonfigurera test

Nackdelar MBT i prestandatest Kräver javakunskaper Ovant arbetssätt/filosofi Många verktyg (ingen integrerad miljö) yed => org.tigris.mbt => LoadRunner

Nycklar till succe Utbilda organisationen/projektet i MBT Demonstrera metodiken för utvecklarna Genomför ett pilotprojekt Utbilda testarna i java

Frågor Presentationen finns att ladda ner på www.prolore.se

Resurser Verktygen http://mbt.tigris.org http://graphml.graphdrawing.org http://www.yworks.com http://www.mercury.com/uk/products/performance-center/loadrunner/ http://www.mindreef.com http://www.cygwin.com Model-Based Testing http://www.geocities.com/model_based_testing/ http://www.goldpractices.com/practices/mbt/index.php Prestandatest http://www.perftestplus.com/presentations.htm