Testautomatisering. Intro

Relevanta dokument
Visuell GUI Testning

Testdriven utveckling. Magnus Jonsson Siemens Medical Solutions

Agil testning i SCRUM

V!cto. Att tjäna pengar genom bättre testning med

men borde vi inte också testa kraven?

STADSLEDNINGSKONTORET SOA SDK IT-AVDELNINGEN VERSION 2.1. Läs mig först. Stockholms stad SOA-plattform. Sida 1 (5)

men borde vi inte också testa kraven? Robert Bornelind

Continuous Integration med Jenkins. Linus Tolke Enea Experts

Configuration testing Why? Vad det är tänkt att koden ska göra. Performance testing Kommentarer Skriva om koden som kommentar

Teknisk testning för otekniska testare

Teststrategier och Testcertifiering. Per Strandberg, Maj 2013

Instruktioner för uppdatering från Ethiris 4.10 till 5.x

Regressionstestning teori och praktik

Presentation. Fredrik Runnsjö 1996 Utvecklare 2004 Testare ~2006 Scrum/Canban

QC i en organisation SAST

Sammanfattningar Essentials of Software Engineering

CREATING VALUE BY SHARING KNOWLEDGE

Testautomatisering. Labbar, FitNesse, TDD, BDD

Date Version Description Author. 1 Introduktion s Översikt av Vårdguiden 1.2 Syfte och Omfattning Inkluderat

Innehåll. Dokumentet gäller från och med version

Hur hanterar vi risk? Vad är TKO? Skillnad på agil och trad? Agil/Lean: Defer Commitment, Build knowledge, Fail fast

Sänk kostnaderna genom a/ ställa rä/ krav och testa effektivt

Dr. Gustav Taxén MDI-Gruppen, CSC / VIC-Sthlm gustavt@kth.se

TDP025. Entreprenöriell programmering. Marcus Bendtsen Institutionen för Datavetenskap (IDA)

Testplanering, test-first, testverktyg

Testbara krav. SAST Syd Ställ gärna frågor under presentationen eller efteråt Åhörarkopior distribueras efteråt

Pragmatisk programmering. Cyberrymden Marcus Rejås Pragmatisk programmering,16 december (29)

SAST Q Jörgen Damberg

Testautomatisering. BDD, RSpec

Hur du installerar Open Broadcaster Software (OBS) fo r HD-sa ndning

Kurser och seminarier från AddQ Consulting

Verktyg för agil systemutveckling. Vad är ett verktyg? Olika typer av verktyg för mjukvaruutveckling. Vad kan ett bra verktyg tillföra?

Versionshantering. Problem som uppstår i större (samt även mindre) projekt:

Testautomatisering. HTML, Dev Tools, Watir

Snabbstartguide för McAfee VirusScan Plus

Kursöversikt Certifierad Mjukvarutestare

Innehåll. Kravhantering. Kravhantering TDDD06 Introduktion till kravhantering. Vad är kravhantering?

Inför projektuppgiften. Markus Buschle,

Avancerade Webbteknologier 2. AD11g Göteborg 2012 Mobilanpassning

Kvalitetssäkra ditt projekt med kontinuerlig integration

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

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

Javautvecklare. Utbildningsfakta. 400 YH-poäng, 2 år

Dag König Developer Tools Specialist Microsoft Corporation

Common Criteria Certification of Open Source Software

Samarbetsstrukturer för att självorganisera inom givna ramar.

Kvalitetssäkring i ett Scrumteam

Swedbank CI Cross Functional Team

Molntjänster -- vad är molnet?

Kursvärdering Analys 2

Thomas Padron-Mccarthy Mobila applikationer med Android, 7.5 hp (Distans) (DT107G ) Antal svarande = 13. Svarsfrekvens i procent = 27.

Testning av applikationer

30 år av erfarenhet och branschexperts

Anläggnings- och systemteknik

1/21/13 Redigera formulär [ Kursvärdering för kursen 1DV450 - Webbramverk - VT12 ] Google Dokument

Objektorienterad programmering

12 principer of agile practice (rörlig)

Skolverkets föreskrifter om ämnesplan för ämnet mjukvarudesign inom vidareutbildning i form av ett fjärde tekniskt år;

ANVÄNDNING AV AUTOMATISKA TESTER ERFARENHETER FRÅN SAAB EDS I GÖTEBORG

DevOps i Verkligheten

Enligt IEEE Std har en bra kravspecifikation en mängd fordringar att uppfylla. Kravspecifikationen skall vara;

Instruktioner. Innehåll: 1. Vad är Kimsoft Control (SIDA 2) 3. Hem (SIDA 2)

Programmera ett övergångsställe

Testplan Cykelgarage

GMC Software Technology CCM Made Easy

Linköpings universitet 1 TDP029. Systemutveckling. Systemutveckling. Vanliga faser. Fler faser. Systemutvecklingsmetod

App-klient för smartphones Power BI Arbetsflöde CRM Online Webb-klienten Dokumenthantering Molnet...

Thomas Padron-Mccarthy Datateknik B, Mobila applikationer med Android, 7.5 hp (Distans) (DT ) Antal svarande = 14

Kursplan Webbutveckling 2, 100p Läsår

Välkommen tillbaka till den sista träffen!

Enkätresultat för SIK15 Omvärldsanalys och informationssökning 7,5 hp. 31SOI1 H15-1 Kursansvariga: Rolf Hasslöw, Ingrid Johansson

Slutrapport Get it going contracts

Tekniskt system för Lean Startup

Automatiserade testsystem

OneDrive/SharePoint. Innehåll

TDDD80 Mobila och sociala applikationer. Kursintroduktion

Intro. Christian Gerdes Performance Test Evangelist LIGHTS IN LINE AB

Testning som beslutsstöd

Crossmedia design. Crossmedia design (27311VT14) Results of survey. Startade: den 21 juni Avslutad: den 22 augusti 2014

Användarmanual Onepix MDX Installer 1.1 SVENSK

Enhetstester på.netplattformen

Introduktion till kursen och MATLAB

Platina och kvalité. Rasmus Staberg, Teknisk direktör,

1 Installationsinstruktioner

Uppgraderingsinstruktion för Tekis-FB 7.0.3

Smarter Analytics med rätt infrastruktur

Yanting Larsen. Mjukvaruutvecklare. Cybercom Group

Kursprogram Hösten 2013

Webbserverprogrammering

SDC Web-Access. Installationsanvisning v 2.0.2

Kursinformation. Metodik för programvaruutveckling. Utvecklingsprocessen för programvara. Innehåll. Processmodell. Exempel

ALM Live: Testfokus bättre mjukvarukvalitét med Visual Studio 2008 Team System

Informationssystem och databasteknik, 2I-1100

Din manual NOKIA TME-3

1 Respondent. 2 Researcher A. 3 Researcher B

Vår resa till bra Acceptanstestning. Ingela Hagman Thomas Cook Northern Europe

Innehåll. Planacys flexibilitet och skalbarhet ger er en långsiktig investering 3

TestForum Robert Magnusson, Nordic Medtest, Karlstad Lars Palm, Temagon AB / Future Position X, Gävle

Innehållsförteckning Sida 3 Om IT-Högskolan Sida 4-5.NET-utvecklare Sida 6-7 Applikationsutvecklare till iphone och Android Sida 8-9 Mjukvarutestare

Allmänna frågor om kursen: 1. Vilket är ditt allmänna omdöme om kursen? Antal svar: 25 Medelvärde: 4.3

Transkript:

Testautomatisering

FM: Presentation Genomgång av Kursplan / Kursupplägg Varför testautomatisering? Video + diskussion Idag

David Gullmarsvik david.g@jetas.se Software Developer Tidigare Lärare KYH, TI Datateknik Systemtekniker Tele/Nätverkstekniker Presentation

Jetas Quality Systems Systematiskt fastighetsunderhåll Tid.: Testscript + Externa Testare Nu: Automatiserade + Manuella, interna test Presentation

Agile? Selenium? Acceptanstest? Version Control (git / hg) Frågor

Genomgång Kursplan

Genomgång Kursplanering

Vad är problemen med Mjukvara/Mjukvaruutveckling?

Vad är problemen med Mjukvara/Mjukvaruutveckling? 1. Resultatet är för dåligt 2. Det kostar för mycket

Kuriosa: När uppstod det här problemet?

Kuriosa: När uppstod det här problemet? 1960-talet - The software Crisis http://en.wikipedia.org/wiki/software_crisis

The Software Crisis - Hur löser vi det?

The Software Crisis - Hur löser vi det? Med flera olika verktyg Planering, Processer/Utvecklingsmetodik, Arkitektur, Design, Struktur, mätbara nyckeltal, etc En väldigt viktig komponent: Test

Vad är problemet med Test av mjukvara?

Vad är problemet med Test av mjukvara? 1. Resultatet är för dåligt 2. Det kostar för mycket

Hur löser vi detta? Planering, Processer/metodik, Design, Struktur, mätbara nyckeltal, etc En väldigt viktig komponent: Automatiserade Test

Först och främst: Testautomatisering är mjukvaruutveckling I väldigt stor utsträckning

Samma regler som för mjukvaruutv: Vilket värde tillför detta? Går detta att underhålla? Automatiska tester kan innehålla buggar.

Är vi inte tillbaka på ruta 1? Nej, inte så länge vi hittar kritiska problem snabbare, effektivare och till lägre kostnad än tidigare

Varför testautomatisering?

Någon som hört talas om FitNesse?

Någon som hört talas om FitNesse? Ett verktyg för testautomatisering Skapat av bl.a. Robert C. Martin (Författaren till Clean Code)

Hur sköter FitNesse testautomatisering? Videoklipp från http://ndc2012.oktaset.com/t-4868 29:44

Vad är anmärkningsvärt här? Testramverk (vi kan anta att det skapas av några som vet någonting om test) helt utan manuella tester

Vad är anmärkningsvärt här? Väldigt snabbt - potentiellt ~1.5 min från beslut att släppa en ny version tills vi påbörjat släppet.

Vad är anmärkningsvärt här? "Stort" program - fler användare än det genomsnittliga projektet

Vad är anmärkningsvärt här?...jag vill dock inte att ni tar med er att testautomatisering ersätter all annan testning => För det mesta är det ett komplement till manuella tester.

Vinster med testautomatisering Spara tid När? Var lägger vi tiden istället? Levande specifikation Visa saker kan lämpa sig dåligt för manuellt test "Keeps us sane" - repetativt, tråkigt, enkelt (Vi glömmer ingenting)

Exempel då testautomatisering är lämpligt Vi har 100 testfall för en webbapplikation hur lång tid tar detta att testa?

Vissa saker kräver automatisering: Hur mycket behöver vi testa eg? 5 browsers * 5 versioner * 5 plattformar * 100 testfall

Vissa saker kräver automatisering: 5 browsers * 5 versioner * 5 plattformar * 100 testfall Manuellt: X * 5 minuter => 43 dagar Automatiskt: parallellisering "gratis" => 100 testfall parallellt, snabbare test/dokumentation => 10s/testfall X/100 * 10s => 20 min (10s/testfall är en extremt hög siffra)

Hur är detta relaterat till livscykeln för ett släpp? 1 släpp/år => kanske fine att en testcykel tar 2 månader

Agile mantra: "Release early, release often! Release var 14:e dag => vi vill ha tester klara på 1 vecka => 7 testare på heltid finns det budget för detta? Release varannan dag => 43 heltidstestare Är det realistiskt att göra ett släpp varannan dag?

Större applikation: => 100 000 testfall => 43 000 dagar för manuella test => 13 dagar för automatiserade test Är 100 000 testfall realistiskt?

Exempel från Jetas: Services är hjärtat i vårt system. Ett antal automatiska program som utför arbete i bakgrunden De har inget GUI Man kan se effekterna av services i GUI men det finns inga garantier för hur lång tid det dröjjer (sekunder upp till 10 minuter) Manuella tester har visat sig vara mycket krångligt, på gränsen till omöjligt Utan dessa services har vi inget system

Ytterligare ett exempel SQLite är en databasmotor http://www.sqlite.org/testing.html ~130k testfall körs efter varje individuell förändring (tiden att utföra dessa kan räknas i sekunder) Fullständigt test: de listar > 10M test i olika kategorier (? finns ingen fullständig listning, men de uppger > 10M test i olika kategorier, i verkligheten förmodligen ännu fler) (SQLite Open Source - många av deras test är tillgängliga för vem som helst)

Gratis är gott Vi får flera saker på köpet när vi börjar automatisera tester => Gratis Smoke Test => Gratis ~Regression Test => Gratis Performance Test => Utöver färre buggar finna även annat att tjäna: Testability => Maintainability Kodunderhåll är generellt största kostnaden för mjukvaruutveckling (Ex. genom att tvingar fram modularitet och mindre kodsnuttar) Testability => Flexibility Här spelar modulariteten in igen (Kan anv. ex. för 100% uptime)

Utmaningar Värde Vilket affärsnytta eller värde för användare tillför våra tester? Återanvändning för att få något värde generellt, så måste testerna gå att återanvända Ex: Tidsbaserade värden? Miljöberoende värden? Isolation Testar vi rätt saker? har vi dolda beroenden? Prestanda Setup? Network connections? Database calls? HD writes? Underhåll Vad händer när mjukvaran ändras, kan vi köra samma test om 1 år?

Business Facing Functional Exploratory Testing S u p p o r t Examples Story Tests Prototypes Simulations Unit Test Component Component Test Test Scenarios Usability User Acceptance Testing A/B Testing Performance & Load Testing Security Testing Ility -Testing* C r i t i q u e Technology Facing *"ility"-testing: maintainability, interoperability, compatibility, reliability, installability, etc

Caveat: Jag vill inte att ni skall få intrycket av att testautomatisering är ngt som man bara slänger på Jag vill inte att ni skall få intrycket av att testautomatisering är lämpligt för allt/löser alla våra problem

Testautomatisering Kan vara tidskrävande Kan kräva att vi tänker om från grunden i vissa fall Kan vara kostsamt Är inte lämpligt för allting

Testautomatisering 85% av alla företag som försöker automatisera sina test misslyckas (statistik från Borland - suspekt) Misstaget: De "köper" testautomatiseringsprogramvara och räknar med att deras problem med tid och resurser är lösta

Testautomatisering De som lyckas? Framgångsfaktor: De jobbar medvetet och långsiktigt med testautomatisering, och tar med det i deras strategi från start

Testautomatisering De som lyckas? Vinster Kan fokusera resurserna på att höja värdet av annan QA Kan göra flera releases om dagen - vad innebär detta? Kan göra förändringar utan att vara allt för rädda.

Tidigare kritik mot den här kursen (2011) Kursen var väldigt intensiv/svår Jag har kikat på era programmeringslabbar. Min målsättning är att kursen skall vara utmanande men ej omöjlig Ni får gärna komma med feedback kring detta

Tidigare kritik mot den här kursen (2011) Installationsproblem Hoppas vi undviker lite av detta med Virtual Machine. Detta är alltid ett problem för kurser som behandlar mjukvaruverktyg det blir värre ju fler verktyg man använder Installation/Installationsproblem är en del av er vardag, bli bra på det så tidigt som möjligt.

Tidigare kritik mot den här kursen (2011) Denna kursen är för utvecklare Testautomatisering är i stor utsträckning mjukvaruutveckling Kursinnehållet är något förändrat dock (Tidigare: Mer fokus på CI, samt versionshantering).

Förväntningar Har ni några förväntningar/synpunkter/etc. på kursen? Om ni kommer på ngt under kursens gång kontakta mig via mail eller på lektionen. Ifall ni har kritik så är även det välkommet.

Video Jag planerar att visa en video i veckan. Innehållet har beröringspunkter med testautomatisering. Till för att ge er lite andra perspektiv än mitt.

Video Jag planerar att visa en video i veckan. Innehållet har beröringspunkter med testautomatisering. Till för att ge er lite andra perspektiv än mitt. Vi diskuterar videon gemensamt i klassen sedan.

Video Ytterligare ett syfte: Ni jobbar i en snabbt föränderlig branch ni kommer behöva snappa upp ny information Jag vill att ni upptäcker några av de konferenser, etc. som tillgängliggör videos online (dvs. kika på adressen för videon).

Video Future of Testing and Quality Goranka Bjedov - Facebook http://oredev.org/2012/sessions/future-of-testing-and-quality

Watir + Övning + Lab Nästa gång

Alt 1: Installera Virtualbox www.virtualbox.org/wiki/downloads Virtual Machine + Instruktioner kommer på kurshemsidan ikväll. Nästa gång

Alt 2: Installera Ruby + Watir Installationsanvisningar: (Dessa är något mer detaljerade än watir-hemsidans) watir.github.com/watirbook Varning för Windows Kommer Virtual Machine Kommer lista över vad jag installerat på min Virtual Machine Nästa gång

Fin