Enhetstester på.netplattformen

Relevanta dokument
Några grundläggande begrepp

BizTalk Build & Deploy. Med Jenkins och PowerShell

Agil testning i SCRUM

Uppgift v1: Teststrategi i sammanhang Terese Berger. Teststrategi. Projekt CiviCRM. Version 0.9. Sida 1(7)

Testplanering, test-first, testverktyg

SCRUM. Vattenfallsmodellen. Analys. Design. Kod. Test. Rational Unified Process Agile. Kallas också linjär sekventiell modell.

Version Testteam 4 Testledare: Patrik Bäck

Användning av testautomation inom Extendas utvecklingsorganisation

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

Implementering av Model- Based Testing i LoadRunner

Testning av applikationer

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

Konstruktion av datorspråk

Godkännande av kundapplikationer

Kvalitetssäkring i ett Scrumteam

Testdriven utveckling. Magnus Jonsson Siemens Medical Solutions

Slutrapport för JMDB.COM. Johan Wibjer

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

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

TDDI02. På denna föreläsning: Programmeringsprojekt, Föreläsning 3. Verifikation, validering och testning

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

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

TDDI02. På denna föreläsning: Programmeringsprojekt, Föreläsning 3. Filip Strömbäck. Verifikation, validering och testning

Filhanterare med AngularJS

(7) Neptune Version release information. Copyright Visma. Med ensamrätt.

Projekt intranät Office 365 av Per Ekstedt

Testdriven utveckling av Web Services. Ole Matzura

Programdesign. Dokumentera. Dokumentera

Presentation av projektstatus samt design av automatiska tester

Idrottsapen. 1. Inledning. 2. Mål och syfte. 3. Projektbeskrivning

Programdesign. minnesutrymme storlek på indata. DA2001 (Föreläsning 15) Datalogi 1 Hösten / 20

Presentation Edument AB. All Rights Reserved.

LUNDS TEKNISKA HÖGSKOLA EDAA01 Programmeringsteknik fördjupningskurs Institutionen för datavetenskap HT 2015

PMM (Process Maturity Metrics) Allmänt. Mätetal för framgångsfaktorer. 1. CM konfigurationsstyrning

Kvalitetssäkra ditt projekt med kontinuerlig integration

Datacentertjänster PaaS

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

Objektorienterad Programkonstruktion. Föreläsning jan 2017

Systemutvecklare.NET, C#/VB, C/C++, ASP.NET, T-SQL, JAVA Systemdesign

Erfarenheter av automatiserad testning

Alla rättigheter till materialet reserverade Easec

PrintObs.NET dokumentation

Collector en Android-app för att samla saker. Kim Grönqvist (kg222dk) Slutrapport

Copyright 2003, SAS Institute Inc. All rights reserved.

Programmering. Hur, var, när och varför. 22 November. Lars Ohlén Tieto

Testdriven utveckling. Teorin bakom testdriven utveckling. Bakgrund. Januari 2009, KTH. Alexander Tarnowski

Mer om språk och Ruby

Vad är molnet? Vad är NAV i molnet? Vem passar NAV i molnet för? Fördelar med NAV i molnet Kom igång snabbt...

Säkerhet ur ett testperspektiv

12 principer of agile practice (rörlig)

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

Goda råd från studenterna som gjorde kandidatprojektet 2018

Mer om språk och Ruby

Proj-Iteration 5B. Plan för återstående iterationer

Tekniskt system för Lean Startup

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

Systemförvaltningshandbok

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

AGILA METODER. (för oss som inte kodar) Nina Berlin

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

Objektorienterad programmering

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

PDA-applikationer med.net

Viktiga begrepp. Algoritm. Array. Binärkod. Blockprogrammering. Bugg / fel och felsökning. Dataspel. Dator

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

Testning av Sambi. Testplan. Version PA5. Fil namn: SAMBI_TP.docx Senast sparad: Copyright (c) 2014 IIS

Deluppgift 2 Kravhantering a) (2p) När man diskuterar krav brukar man ange två olika typer av krav. Beskriv dessa och ge exempel.

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

Examensarbete inom Datateknik B, 15hp. Utvecklingsmetoder, automatisering och testning. Fredrik Almgren, Tomas Valli

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

Översikt. Installation av EasyPHP 1. Ladda ner från Jag använder Release Installera EasyPHP.

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

Testautomation av sammansatta och mobila applikationer. Magnus Nilsson Lemontree

Validering av XML, Svensk geoprocess Guide för validering av XML, Svensk Geoprocess

Drag och Släpp & Spara till Server. Säkerhetsinställningar. Version 5.0

Översikt. Fö: Projekt: Interaktivt system. Projekt. Mål. Coachning. Praktiker att använda

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

Programsystemkonstruktion med C++: Övning 1. Karl Palmskog september 2010

Identitet och ekvivalens

Revisionsrapport. 1 Inledning. Revision av uppbördsprocessen Moms. Skatteverket Solna. Datum Dnr

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

CREATING VALUE BY SHARING KNOWLEDGE

Innehålls förteckning

Användarhandledning pcskog Bmwin 2011

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

Testning av program. Verklig modell för programutveckling

Syfte : Lära sig objektorienterad programmering Syfte : Lära sig programmering i ett OO-språk vilket?

Design Collaboration Suite

TDDD80 Mobila och sociala applika1oner. Kursintroduk1on

En samling fårskallar

Din guide till. Teknisk Specifikation Säljstöd

Processbeskrivning Systemutveckling

DIGIDEL. Vi väckte lusten till teknik. blogg.regionhalland.se/digidel

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

SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS

PROJEKTRAPPORT EDA095 NÄTVERKSPROGRAMMERI

F2 XP Extrem Programmering översikt. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Görel Hedin Datavetenskap, LTH

Automatiserade testsystem

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

TDDD80 Mobila och sociala applikationer. Kursintroduktion

Transkript:

Enhetstester på.netplattformen Praktikfall ur verkligheten Copyright Prolore 2007. All Rights Reserved. Viktor Laszlo Vem är jag 11 år inom test Prolore: specialiserat på Testautomatisering, Prestandatest och Svarstidsmätningar Nuvarande uppdrag 1

Agenda Sätta in UnitTester i sitt sammanhang Vad är UnitTester? Hur skriver man UnitTester? Demonstration Vilka är fördelarna? Vilka är nackdelarna? Erfarenheter Test är en del av systemutveckling Test och systemutveckling jobbar gemensamt för att leverera programvara som fungerar som förväntat och är klar i tid med all efterfrågad funktionalitet på plats utan oönskade programfel. 2

Olika typer av fel Skillnaden mellan önskat resultatet och det man faktiskt fick Implementationsfel Isolerad kodningsfel i den implementerade applikationen Programmodellfel Felaktigt implementerad programmodell Specifikationsfel Kraven eller specifikationen har blivit felskrivna eller tvetydiga Designfel Logisk inkonsekvens i hur systemet är avsett att fungera Moderna utvecklingsplattformar Mycket av koden är färdigskriven Man kan jobba med byggklossar Säkra exekveringsmiljöer Pekar hantering Tråd hantering Kod exekvering Minnes hantering Minnesläckage och ogiltig minnesreferens var de två vanligaste felen i kommersiella applikationer. 3

Kodgranskningsverktyg Kontrollerar att kod följer standard och best practices. FxCop granskar att.net kod följer Microsoft.NET Framework Design Guidelines Kontrollerar att kod används som det var tänkt. Kontrollerar att rekommenderade försiktighetsåtgärder följs. Förhindrar användandet av icke godkänd kod. Körs automatiskt. Sekventiell process 4

Iterativ process (Agile) Test-Driven utveckling Programmerare utvecklar mjukvara genom att först skriva test, sedan kod som uppfyller kraven som avspeglas i testet. Kunderna kör acceptanstester för att försäkra teamet att efterfrågad funktionalitet är godkänd. 5

UnitTest Inget nytt Det nya är att det har formaliserats och fått en bred spridning. JUnit för Java NUnit för.net C# CppUnit för C++ Test::Unit för Ruby PyUnit för Python Vad är UnitTest? Ett UnitTest är en procedur som används för att validera att en viss delmängd av källkoden fungerar korrekt. Ett UnitTest är en (test) funktion som sätter upp nödvändig data för att anropa en funktion som skall testas och validerar funktionsanropets resultat. 6

Hur skriver man UnitTest? Skriv ett Test som utför kontroller (Asserions) på koden som testas. En Test Suite är en samling testfall som körs likadant av en Test Runner. Testerna kontrollerar sina egna resultat och rapporterar Pass eller Fail. Demonstration Praktikfall ur verkligheten 7

Praktikfall VisualStudio VisualStudio TFS WorkItems VersionControl BuildSlave BuildSlave BuildSlave Checkout Checkout Checkout Build Build Build UnitTest UnitTest UnitTest Build Server AcceptansTest BVT BVT BVT Copy Copy Copy Install Install Install SysTest SysTest SysTest Rolback Rolback Rolback Fil- Server Fördelar med UnitTest Bättre mjukvara Buggar hittas snabbare Undantagsfall och gränsvärden hanteras från början Design förbättring Drabbas snabbt av sina egna misstag. Är det svårt att testa är det svårt att använda Ger mod att ändra/förbättra Kvitto på att inga oönskade bieffekter uppstår Snabbare att fixa buggar 8

Fördelar med UnitTest Förhindrar okända förändringar Förändringsdetektering Dokumentation Testet visar hur koden är tänkt att användas Tester förskönar inte Snabbar upp utvecklingen Hur motsägelsefullt det än må låta Vilka är nackdelarna? Strukturen kan bli rörig om man inte tänker till i förväg. Kräver arbete och tid att underhålla testkoden. Testaren behöver vara programmerare. 9

Erfarenheter Tänk på strukturen Håll varje test så enkelt som möjligt Testa inte bara normalfall Skriv både positiva och negativa tester Använd infrastrukturen i ramverket Lägg ansvaret på programmerarna Behåll kontrollen Mät hur mycket av koden som faktiskt testas med hjälp av kodtäckningsverktyg Frågor? www.prolore.se viktor.laszlo@prolore.se 0708-195296 10