Visuell GUI Testning

Relevanta dokument
Regressionstestning teori och praktik

Testautomatisering. Intro

Erfarenheter av automatiserad testning

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

Agil testning i SCRUM

Belastningstester med Visual Studio Gränssnittet

RUP - Rational Unified Process

Tekniskt system för Lean Startup

Testautomation av sammansatta och mobila applikationer. Magnus Nilsson Lemontree

Automatiska GUI-test

Undervisningen i ämnet webbutveckling ska ge eleverna förutsättningar att utveckla följande:

SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS

SKOLFS. beslutade den XXX 2017.

Projektkaos. Chaos-rapporten. 34% av projekten avslutades i tid och enligt budget % misslyckades!

DevOps i Verkligheten

på ett stort spelföretag Andreas Ström

Några grundläggande begrepp

Testning. 1DV404, HT14 Jesper Andersson Kap 21 + Testing Primer

Metoder och verktyg för funktionssäkerhet

Dag König Developer Tools Specialist Microsoft Corporation

Undervisningen i ämnet programmering ska ge eleverna förutsättningar att utveckla följande:

Kursplan Webbutveckling 2, 100p Läsår

Kurser och seminarier från AddQ Consulting

Welcome. to the world of Jeeves. Copyright 2011 Jeeves Information Systems AB

Testdriven utveckling. Magnus Jonsson Siemens Medical Solutions

Teknisk testning för otekniska testare

Undervisningen i ämnet mobila applikationer ska ge eleverna förutsättningar att utveckla följande:

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

Utvärdering av gränssnitt särskilt befintliga. Hur utvecklar man användbara system? Användbarhet handlar om kvalitet

Testverktyg för webbapplikationer

Kursplan Gränssnittsdesign och Webbutveckling 1 Vårtermin 2014

men borde vi inte också testa kraven?

Automatiserade testsystem

TDDI02. Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Testplanering, test-first, testverktyg

RUP Rational Unified Process. 17 november 2004

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

Automatiserad testning av användargränssnitt i SharePoint

Användning av testautomation inom Extendas utvecklingsorganisation

Objektorienterad programmering med Java Swing: Händelser, lyssnare och applets

Testautomatisering på en Microsoft-plattform inom banksektorn

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

Testning av användargränssnitt

Övningstenta (Kursplan 2011) Ver 2015,

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Hi-Fi Prototyping + laborationsgenomgång & verktyg

Föreläsning 17 UTBLICK: FORTSÄTTNINGSKURSER I DATAVETENSKAP + ANDROID

SESAM. Försvarssektorns Användargrupp för Software Engineering. Inbjuder till seminariet. Automatiserad programvarutestning -

Testramverk och Model based testing med java i praktiken

Testningstjänst för meddelandedeklarering Kundanvisning. Version 0.4, tulli.fi. Anvisning för testningstjänsten för meddelandedeklarering

Testning. 1DV404, HT14 Jesper Andersson Kap 21 + Testing Primer

Webbserverprogrammering

WEBBTEKNIK. Ämnets syfte

WEBBTEKNIK. Ämnets syfte

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Vad utmärker ett bra användargränssnitt?

Sju riktlinjer vid utveckling av hemsidor för mobil och desktop

Windows Forms Winstrand Development

Universe Engine Rapport

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

Nulägesanalys & Kravspecifikation

PACOM UNISON SECURITY MANAGEMENT MADE EASY

Varningssystem byggt på öppna källkodskomponenter Magnus Runesson SMHI

Design och konstruktion av grafiska gränssnitt

Property-based Testing. Hans Svensson SAST Väst Q

Analysverktyg för Data Science Oberoende utvärdering

SKOLFS. beslutade den XXX 2017.

Kvalitetssäkra ditt projekt med kontinuerlig integration

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

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

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

SAS VIYA JOHAN ELFMAN ROLAND BALI

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

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

Therese Hansson & Magnus Jonsson. Motivationsfaktorer - Test inom Agila utvecklingsprojekt

Automatisering av tester som utförs genom ett grafiskt användargränssnitt (HS-IDA-EA )

Digitala trender i mediabranschen NYA DIGITALA TEKNOLOGIER SÄTTER FART PÅ FÖRETAGEN I MEDIABRANSCHEN

Undervisningen ska ge eleverna tillfälle att arbeta i projekt samt möjlighet att utveckla kunskaper om projektarbete och dess olika faser.

Test av livsuppehållande system på Maquet Critical Care

3 steg för att förbättra bokslutsprocessen

Kristoffer Eriksson Christer Oscarsson Andreas Dahlberg Martin Bengtsson

Federerad Roll Administration ÄR GROUPER EN MEDSPELARE? OVE OLANDER MITTUNIVERSITETET

Mer om kodkvalitet. Mer om kodkvalitet. Hur kan man jobba med kodkvalité? Hur kan man jobba med kodkvalité? Hur kan man jobba med kodkvalité?

Tillgänglighetskrav på teknik Dessa krav baseras på WCAG 2.0,

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

TDP005. Föreläsning 3 - UML. Filip Strömbäck

Karlstads kommun e-plattform

Auktorisation och grupphantering

Vad utmärker ett bra gränssnitt?

Presentation Edument AB. All Rights Reserved.

Hem Resurser. SpinFire Professional. Partnerlogin. Deutsch 简 体 中 文 English. Centro. ActifyInsight. 1 av :35

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

Systemskiss. LiTH AMASE Accurate Multipoint Acquisition from Stereovision Equipment. Jon Månsson Version 1.0

SKOLFS. På Skolverkets vägnar. GENERALDIREKTÖREN Enhetschef

JUnit. Ska kompletteras med kodexempel på JUnit. DD2385 Programutvecklingsteknik Några bilder till föreläsning 12 21/5 2012

Sammanfattningar Essentials of Software Engineering

Övningstenta, examinationsfrågor

Testplan Cykelgarage

Vad händer med L3: ΔL3-L4 för Krav följs upp av annan projektgrupp. Föreläsning 5: V&V II + Design II Efterläsning Kodning

Transkript:

Visuell GUI Testning

Vad är ett Graphical User Interface (GUI)? Icke-animerat GUI Animerat GUI

Nuläget System- och acceptanstestning är dyrt! Manuellt Långsamt Enformigt Svårt att replikera exakt Nödvändigt Regressionstestning Verifiera att systemet fungerar efter underhåll/nyutveckling Validering av systemet med kund-feedback

Vad är svårast att Automatisera? Krav Acceptanstest Arkitektur System test Applikations design Integrations test Kodning Enhetstest UI Service Enhet

System nivåer System nivåer Exempel test-teknik Hög nivå Låg nivå Grafiskt användargränsnitt GUI-komponenter Systemkomponenter Systemkod Visuell GUI testning Record and Replay Enhetstestning Kod-granskning

Tidigare tekniker GUI baserad testning Testning via GUI:t, inte av GUI:t Funnits verktyg i många år TestComplete, HP Quick Test Professional, IBM Rational Functional Tester, Visual Studio Test Professional, etc. Använts i industrin Med tveksamt resultat Två grupper av tekniker Första generationen: Koordinatbaserad testning Andra generationen: Widgetbaserad testning

Första generationens testning Den första generationens testautomatiseringsverktyg baserades på absoluta koordinater

För- och nackdelar Enkel teknik som är lätt att lära och förstå (Inlärningsbarhet) Fungerar inte bra för automatisering av fönsterbaserade applikationer

Andra generationens testning Den andra generationens testautomseringsverktyg baseras på identifikation av Widgets

För- och nackdelar Okänslig för ändring av fönsterstorlek Widget:en behöver ej vara synlig på skärmen Använder första generationens teknik för Widgets som inte stöds av verktyget Stora och dyra verktyg Komplex hantering av komponentdatabas Uppspelning görs inte på exakt samma sätt som när man gör det manuellt Stödjer bara ett begränsat antal typer av gränssnitt och miljöer Tvingas utvärdera verktygets testbarhet för applikationen man avser att testa Måste samarbeta med utvecklare för att bl.a. Bygga in identiteter i de grafiska objekten

Visuell GUI Testning (VGT) Teknik med verktygsstöd för automatiserad System- och Acceptanstestning Bildigenkänning Scenario-baserad testning Möjliggör emulering av en mänsklig användare Artificiell syn Simulering av mus och tangentbord Verktyg JAutomate, Sikuli, EggPlant, SeeTest, T-Plan Robot, Testing Anywhere

Pseudokod exempel MouseClick( ) Write( admin \t admin ) MouseClick( ) Wait( You are logged in )

Exempel

JAutomate Automatisk inspelning av testfall Enkelt att förstå utan programmeringserfarenhet Manuella och halvautomatiska teststeg Stöd för datadrivna testfall och testsviter Kan söka fram dolda bilder och texter Fungerar på alla plattformar

JAutomate video demo

Sikuli Open source (Utvecklat på MIT) Python som skriptspråk Tillåter importer av Python och även Java bibliotek Optical character recognition (OCR) stöd Exportering av körbara skript

Sikuli video demo

Forskningen om VGT http://www.cse.chalmers.se/~algeroth/

Forskningen om VGT http://www.cse.chalmers.se/~algeroth/

Jämförelsestudie Studien Akademiska Experiment CommercialTool och Sikuli på Saab Resultat Högre applicerbarhet med Sikuli (Fler GUI typer) Antal scriptbara testfall: 98% Snabbare testkörning (est. för 50 testfall): 5.3 ggr snabbare Estimerad utvecklingstid (50 testfall): 20 affärsdagar Verktygen lika bra (Ingen statistiskt signifikant skillnad)

Forskningen om VGT http://www.cse.chalmers.se/~algeroth/

VGT i industrin Studien Sikuli användes i ett verkligt utvecklingsprojekt Resultat Testarna var mycket nöjda 16 gånger snabbare än manuell testning Nu: 2 ggr i veckan. Förr: 1 gång på 6 månader 3 nya defekter funna 25% av utvecklingskostnaden att underhålla 90% av scripten Problem, utmaningar och begränsningar

Forskningen om VGT http://www.cse.chalmers.se/~algeroth/

JAutomate Studien Jämförelse mellan JAutomate, Sikuli och CommercialTool Enkätstudie i industrin Resultat Olika verktyg har olika funktioner Ex: JAutomate stödjer Record and Replay, etc. Alla verktyg har fördelar Ex: Flexibilitet, oberoende av bakomliggande teknik, etc. Finns ett bekräftat industriellt behov för JAutomate och VGT

Fördelar och utmaningar med VGT Oberoende av bakomliggande teknik Testar på samma sätt som en mänsklig testare Enkelt att förstå och ändra vad testfallet gör Införande-kostnader Begränsas av SUT:ens mognad och hastighet Verifierade underhållskostnader Kräver låg teknisk kompetens

Samarbete är nyckeln Vad behövs för att förbättra VGT? Fler fall Olika system och domäner Mer samarbete Industriell öppenhet Vi måste göra detta tillsammans! Industri ı

Frågor http://www.cse.chalmers.se/~algeroth/ http://jautomate.com/ Industri ı