Softwaretest. - også af "ikke testbar" software. DAPUG erfamøde 7. marts 2012 Thomas Vedel, Thomas Vedel Consult email: thomas@veco.



Relaterede dokumenter
Succesfuld implementering af automatiseret test

Bypassing the. Brian Marick

Struktureret Test og Værktøjer Appendiks til bogen Struktureret Test

Thomas Vedel, Vedel Consult DAPUG erfamøde 10. november Installation af SubVersion (svn)

Visual Studio Team System. Team Build en grundpille i søgen efter it-projektproduktivitet?

TEKNISKE FORHOLD VEDR. ADGANG TIL VP.ONLINE. Brugervejledning

Mobiltest typiske udfordringer og deres løsninger

Styring af testmiljøer almindelig god praksis

Følg denne guide, det tager kun 1 timer Så bliver du belønnet med flere leads og mere salg

Installation af DATABOKS online backup manager

Software Dokumentation

Internet Information Services (IIS)

Fang Prikkerne. Introduktion. Scratch

ReadSoft er den naturlige start på al elektronisk fakturahåndtering

SAS Forum 2012 Den virtuelle operatør

Unik Bolig 4 Opdateringskontrol 4.2.0

Load Test. Projektet afgår om få minutter fra SPOR 3

SOSI STS Dokumentationsoverblik

OpenTele datamonitoreringsplatform

Vejledning Post modul

Akkumuleret Installationsvejledning NS

// Mamut Business Software Installationsguide: Basis

Exceptions i Delphi. Try except

10 spørgsmål der vil hjælpe dig med dine testcases

Klimastyring B marts Klimastyring B213. Kommunikation. Her og Nu. Fremtiden. Google Groups Google Code Google Calendar L AT E X

ELCANIC A/S. ENERGY METER Type ENG110. Version Inkl. PC program: ENG110. Version Betjeningsvejledning

Udfordringer og problemstillinger. En liste over de udfordringer og problemstillinger, der er ved Java og JEE udvikling

Prezi. Aldrig mere gammeldaws slideshows!? Version: December 2012

Software test i Socialstyrelsen. af: Jan Kristensen. Nov 2013

Installationsguide til Oracle Database XE 10.2 og APEX 3.1.1

Web CMS kontra Collaboration

BRUGERVEJLEDNING TYPO3 CMS Nyhedsbrev modul

Light

// Visma Stellar. Ny forbedret version. Version

Programmering C RTG

Overvågning TestHusets servere og hjemmeside

HP Test Brugerkonference Godt i gang med performancetest

MICROSOFT ONLINE KURSER

XProtect-klienter Tilgå din overvågning

Sådan opretter du en backup

Guide - Sådan opretter du en backup

Sporbarhed og Rapportering i Quality Center. Kim Stenbo Nielsen NNIT Application Management Services

Quick Start brugervejledning for Nagios systemovervågning

Statistisk databaseret automatisk test. Jesper Mortensen / Erik Dargsdorff

Ghostbusters. Introduktion. Scratch. Du skal lave et fangelegsspil med spøgelser! Arbejdsliste. Test dit Projekt. Gem dit Projekt

10 informationer som gør din fejlrapport selvforklarende for både forretningen og programmørerne

Kom godt i gang med ImageDB programmet fra PetriSoft

VISMA DOCUMENTCENTER Kompetansedag ed e ag ne 2011

DM536. Rapport og debug

SOLRØD KOMMUNE ESDH. Afprøvning. Bilag 6

It-sikkerhedstekst ST9

It-sikkerhedstekst ST8

Udbud af RIPA-Syd. Underbilag 14.A - Definitioner og testtype katalog

Skaber nemt og hurtigt overblik over data fra automatiserede anlæg

Program Dokumentation PC Software Skrevet af. Gruppen. Version 1.0

edrift - Installationsvejledning edrift i version NET Open Source

Datatekniker med programmering som speciale

OpenTele datamonitoreringsplatform

Plan for præsentationen

Lonbox PCM2001 betjeningsenhed

Overbelastning af processor i Windows XP og i Ubuntu

The Complete Property Management System

APEX i Praksis Martin B. Nielsen. Navn. MBNDATA Emne

Vejledning til opsætning af mail

PID2000 Archive Service

Machine Learning til forudsigelser af central KPI

Denne guide er til at opsætte din Huawei P9 og få den opdateret softwaremæssigt, samt opsætte UCL mail. Huawei P9... 1

Lav etiketter online. Hvorfor? Før du går i gang. Hvordan

Vejledning i skabelse og test af metadata

Sådan laver du nemme grafiker til din webshop. Erik Holflod Jeppesen

OrCAD Capture TCL IDE med Eclipse

Installation og Drift. Aplanner for Windows Systemer Version 8.15

Softwareløsninger til dit netværk

PHP Quick Teknisk Ordbog

INDHOLDSFORTEGNELSE. INDLEDNING... 7 Kristian Langborg-Hansen. KAPITEL ET... 9 I gang med App Inventor. KAPITEL TO...

MSI pakke til distribution af AutoPilot komponenter.

DAXIF# - Delegate Automated Xrm Installation Framework. Delegate A/S

Optimer værdien af dine analystiske instrumenter. Lone Vejgaard, Q-Interline

SKAB SUCCES SOM LEVERANDØR AF DIALOG MANAGER

SmartFraming Et vindue til nationale sundhedssystemer. Version 3.0

Beskyt dig mod nedbrud i Windows 10

GENUDBUD AF NEMREFUSION. 28. november 2013

Studieordning del

Test i Danmark Undersøgelse på TestExpo 2014

Hjemmeside på SkoleKom

Automatisering af manuelle processer Dybdescreeningworkshop Slides til workshop 1 Oktober 2017

Vejledning. Indhold. Side 1


AFSKAF PASSWORDS. - lige så nemt som det lyder.

Opsætning af MobilePBX med Kalenderdatabase

Digital skriftlig aflevering med Lectio Censormodul Stedprøver installationsvejledning

Installation af kalibreringsprogrammet. (BDE versionen)

Installation og Drift. Aplanner for Windows Systemer Version

Acronis et stærkt værktøj til backup. Af Hanne B. Stegemüller 6. juni 2015

Programmering I Java/C#

Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX

Denne vejledning er optimeret til Windows XP, men kan også bruges til de andre Windows styresystemer.

Brugervejledning. Hjemmesider med Cmsimple.

Citrix Receiver komplet guide til installation, brug og fejlfinding Version

Transkript:

Softwaretest - også af "ikke testbar" software DAPUG erfamøde 7. marts 2012 Thomas Vedel, Thomas Vedel Consult email: thomas@veco.dk

Hvorfor softwaretest? Software er sjældent fejlfri Test sikrer at softwaren virker som forventet Men hvordan tester man? Manuel test / automatiseret test Testdrejebog (repeterbarhed) Funktionstest Modultest / Unit test Regressionstest Data drevet test Load test / Stress test

Testdrejebog (repeterbarhed) "Drejebog" Beskriver formålet med den enkelte test Beskriver testen trin for trin Beskriver hvilket resultat der forventes Test skal kunne repeteres for at tjekke at programmet "gør som forventet" efter ændringer i programkoden En god test afspejler en typisk brug af programmet, men skal gerne komme "ud i hjørnerne" for at fange fejlsituationer

Funktionstest Test af en given funktion I forhold til brugeren I forhold til resten af softwaren Funktionstest tester HVAD programmet gør, ikke HVORDAN Man tester "på overfladen" og ikke de interne tilstande i programmet "Brugerens test" af om programmet kan udføre de opgaver som brugeren forventer

Modultest / Unit test Test af de procedurer, funktioner og metoder som et programmodul stiller til rådighed Et "modul" kan være en enkelt funktion, en klasse eller et helt funktionslibrary Unit test tester detaljeret funktionaliteten i en lille, afgrænset del af programmet For at kunne lave effektive unit tests skal "testability" være tænkt ind i programdesignet, så de enkelte kodestumper er afkoblet fra hinanden uden for store indbyrdes afhængigheder. Problematisk: Globale variable, databaseadgang,...

Regressionstest Gentage tidligere udført test og sammenligne resultatet med det forventede Sikrer at skidtet stadig virker efter programændringer Regressionstest kan begynde med det samme man har fungerende kode Test-suiten vokser og vokser hen over tid, efterhånden som programmet vokser Er i praksis umulig at gennemføre uden automatisering af testopgaven

Datadrevet test Test gennemføres mange gange med forskellige sæt af input data Sikrer at programmet fungerer som forventet med forskellige data i stedet for kun med ét sæt data Får både "afprøvet grænser" og "typiske scenarier" hvis data udvælges med omhu Er i praksis tidskrævende at gennemføre uden automatiseret test

Load test / stress test Test af at tingene også fungerer med mange brugere / i spidsbelastninger Svartid på 2 sek. med én bruger Hvad er så svartiden med 20 samtidige brugere? 2 sek.? Eller 40 sek.? Eller...? Kan systemet overhovedet håndtere 100 samtidige brugere? Hvor "hurtige" må brugerne være inden systemet overbelastes? (transaktioner pr. sek. eller lign.)

Hvordan effektiviseres testen? Hvis først testen gennemføres til sidst er fejlene svære at rette -> dyr udvikling skal softwaren gerne ud på markedet hurtigst muligt -> tidspres -> interessekonflikter bliver testen "lemfeldig" fordi den ikke er tænkt ind i processen Løsningen? Tænk testen ind i udviklingsforløbet og se den som et middel til at mindske fejlene Lav automatiseret test igen og igen og igen og... På gamle projekter: Indfør test gradvist På nye projekter: Test det der giver mening

Værktøjer til automatiseret test Freeware: AutoIt (http://www.autoitscript.com) Generelt scriptsprog til automatisering af Windows GUI og generel scripting Indtastninger Musebevægelser Manipulering af vinduer og (windows)kontroller (Avanceret) notepadlignende editor Scripts kan kompileres Har sine begrænsninger - men det er GRATIS! - og det er et fremragende scriptsprog

Værktøjer til automatiseret test (2) Billigt: FinalBuilder (http://www.finalbuilder.com) MEGET mere avanceret end AutoIt (og meget mere effektivt og lettere at bruge) Kender "alt" hvad der findes af værktøjer og udviklingsmiljøer (Delphi, Subversion, SQL Server...) Visuelt miljø, både til redigering af scripts og afvikling af dem (man kan SE hvad man laver) Scripts kan afvikles på stand alone server som kan tilgås via webinterface Medfølger Delphi i en begrænset version

Værktøjer til automatiseret test (3) (nej, logning er ikke test, men alligevel...) CodeSite (http://www.raize.com/devtools/codesite) Asynkron logning / debugging Medfølger Delphi XE og XE2 i light version Købeversion virker både med Delphi og.net Logning indbygges i programmet Fuld kontrol med hvad der logges Ekstremt nemt at bruge Belaster det kørende program meget lidt Mere pålidelig end den indbyggede debugger (og KAN være meget mere effektiv i fejlfindingen)

Værktøjer til automatiseret test (4) SmartBear TestComplete (http://smartbear. com/products/qa-tools/automated-testing-tools) Dyrt - og godt! - købegrej Understøtter alle former for automatiseret test: Funktionstest Modultest / Unit test Regressionstest Data drevet test Load test / Stress test Giver adgang til interne variable / objekter i eksisterende programmer man ikke tør pille i...

Sammenfatning (- eller hvordan man overlever i praksis...) Brug versionsstyring!!! Indfør unit test i nye programmer Og så vidt muligt når du laver ændringer i gamle... Brug logning til at finde mystiske fejl CodeSite både under udvikling og drift EurekaLog til at rapportere "unhandled exceptions" Automatiser build og test Brug FinalBuilder til automatisering Brug FinalBuilder eller noget mere avanceret (f. eks. TestComplete) til test Og benyt dig så af, at det er automatiseret (kør igen og igen og igen og igen og...)