Kvalitetssikring af Software
|
|
|
- Dagmar Johnsen
- 10 år siden
- Visninger:
Transkript
1 LAKESIDE A/S Åbogade Århus N cvr-nr: [email protected] Kvalitetssikring af Software Verificering af Performance Version Dato Ansvarlig Kommentarer KSR Første udkast JRI 1. review af JRI ADS Konsolideret med ADS notat JRI Opdateret afsnit 3.1 og ADS Endelig version ADS 0.9 opløftet til 1.0
2 Indholdsfortegnelse 1. Introduktion Baggrund Afgrænsninger Metode og rapportens opbygning Målgruppe og læsevejledning En introduktion til softwarekvalitet Verifikation af kvalitet Verifikation af Software Performance Verifikation af Svartidsperformance Verifikation af Ydelsesperformance Ramp- up test Skalerbarhedstest Load tests Verifikation af stabilitetsperformance Stresstest Spiketest Stabilitetstest Konklusion Bilag Performancetest forudsætninger Performancetest svartidsfordeling Performancetestplan Performancetest afvikling Andre parametre Referencer og kilder Kvalitetssikring af software Verificering af performance 2
3 1. Introduktion 1.1 Baggrund Det er alment kendt at it-systemer, især nyudviklede it-systemer, skal kvalitetssikres inden det tages i anvendelse. De krav, der er stillet til systemet, skal verificeres inden systemet skal overgå fra et udviklings-/etableringsprojekt til drift. Historisk set har kvalitetssikring af it-systemer haft fokus på test af systemets funktionalitet, dvs. systemer er testet igennem uden fejl eller mangler. Denne ensidige fokus på funktionelle krav har ledt til, at mange systemer er blevet sat i drift, og efterfølgende trukket tilbage eller sat i stå, på grund af performanceproblemer i forbindelse med igangsætning, udrulning eller efter at have været i brug et stykke tid, hvor datamængderne er vokset. Disse dårlige erfaringer har igennem de seneste år øget fokus på en ny side indenfor kvalitetssikring af it-systemer: Performancetests. Nærværende dokument har tre formål: - at indføre læseren i performancetest-området, herunder definere forskellige aspekter af performance og performancetest - at foreslå forskellige testtyper, der, hvis de bliver udført omhyggeligt, vil kvalitetssikre et it-system optimalt i forhold til performance - at foreslå nogle tekniske værktøjer til udførelse af performancetests 1.2 Afgrænsninger Denne rapport gennemgår principperne for kvalitetssikring af IT systemer via performancetests. Disse principper skal ses som et supplement til et allerede eksisterende system til kvalitetssikring af funktionalitet. 1.3 Metode og rapportens opbygning Rapporten består i al væsentlighed af to kapitler: Efter nærværende introduktion vil rapporten i kapitlet Verifikation af Software Performance gennemgå de forskellige typer at tests, der bør foretages som led i kvalitetssikring af it-systemer. Målet med dette kapitel er at sikre, at læseren har en overordnet forståelse af performancetestkonceptet. De forskellige typer tests vil herefter i kapitel 3.2 og frem blive gennemgået, mht. formål og forventet resultat. Kvalitetssikring af software Verificering af performance 3
4 1.4 Målgruppe og læsevejledning Den primære målgruppe for rapporten er medarbejdere i it-arkitekturenheder, systemudviklere, driftsmedarbejdere, samt medarbejdere med ansvar for kvalitetssikring. For at få fuldt udbytte af rapporten bør man tidligere have haft berøring med kvalitetssikring af IT systemer. Igennem rapporten vil anbefalinger blive fremhævet i bokse (se eksempel nedenfor). Anbefalingerne uddrager essensen af det pågældende afsnit af rapporten. <Anbefalingstekst> Rapporten gør ikke ellers brug af særlige notationsformer eller modelleringsmetoder. Kvalitetssikring af software Verificering af performance 4
5 2. En introduktion til softwarekvalitet Kvalitetssikring af softwareapplikationer kan overordnet opdeles i sikring af applikationens interne og eksterne kvalitet. Intern kvalitet Den interne kvalitet handler om den interne sundhed i systemet, kvalitet af kode og af dataskemaer, overholdelse af systemets arkitektur, og dermed hvor let applikationen er at vedligeholde og forbedre. Intern kvalitet kan sjældent observeres af en slutbruger, men er ofte ret åbenlys for de der udvikler, vedligeholder og drifter applikationen. Manglende intern kvalitet fører dog ofte på sigt til manglende ekstern kvalitet. Man anvender ofte begrebet teknisk gæld, som illustrerer at manglende intern kvalitet påfører udviklere en rentebyrde (forøgede omkostninger til vedligehold) indtil gælden er afviklet. Er gælden stor og rentebyrden høj, kan det resultere i, at applikationen lammes idet omkostninger ved videreudvikling bliver uforholdsmæssig stor. Ekstern kvalitet Den eksterne kvalitet handler om, hvorvidt systemets funktionelle og ikke-funktionelle krav er opfyldt. De funktionelle krav går på systemets opførsel fra en brugers synspunkt og specificeres typisk i f.eks. Use Cases eller User Stories. De ikke-funktionelle krav udtrykkes typisk i en bred vifte af forskelligartede krav, f.eks. brugervenlighed, tilgængelighed (for f.eks. handicappede) samt krav til svar- og oppetider. En væsentlig del af de ikke-funktionelle krav er kravene til et systems performance 1. Definition af Performance: Et udtryk for hvor godt en applikation udnytter den it-infrastruktur den afvikles i givet nogle belastningsmønstre. Performance måles i: - Svartid målt i tid per serviceleverance - Ydelse målt i antal serviceleverancer per tidsenhed - Tilgængelighed målt i tid per medgået tid En applikation med god performance er således: - en applikation der leverer det fornødne ydelse i forhold til det forventede i den givne it infrastruktur - en applikation der leverer svarene hurtigt nok i forhold til de forventninger, der er til applikationen i den pågældende it infrastruktur - en applikation der er til rådighed, når der er brug for den. Heri ligger også at applikationen skal være robust over tid - en applikation der ikke kræver unødigt meget it-infrastruktur til at kunne levere ovennævnte ydelse og svartid. 1 se også Wikipedias definition af performance [WPERF] Kvalitetssikring af software Verificering af performance 5
6 2.1 Verifikation af kvalitet Den eksterne kvalitet verificeres hovedsageligt ved tests og (i mindre omfang) ved inspektion. Den interne kvalitet verificeres typisk ved en blanding af inspektion af f.eks. kildekode og dokumentation kombineret automatiserede værktøjer til at kontrollere kodekvalitet og overholdelse af arkitektur. Verifikation og test af såvel intern som ekstern kvalitet bør foretages i forbindelse med alle væsentlige ændringer i systemet (igangsætning af nye versioner). Det er derfor fordelagtigt med en høj grad af automatisering af denne. Erfaringen viser, at manuel test ved mange gentagelser bliver prohibitivt dyrt, og derfor i praksis ikke vil blive foretaget så tit som ønskeligt. Foretages verifikationen kun lejlighedsvist, vil problemer kunne nå at eskalere inden de opdages, og vil derfor ofte være dyrere at rette op på. En høj grad af automatisering er derfor ikke blot ønskelig, men i praksis nødvendig for effektivt at sikre kvaliteten. Kvalitetssikring af software Verificering af performance 6
7 3. Verifikation af Software Performance Nærværende notat omhandler retningslinjer i forhold til verifikation af software performance. Som nævnt ovenfor handler performance om svartid, ydelse og tilgængelighed. I det følgende behandles hver del for sig, og der foreslås forskellige typer af tests, der kan verificere disse aspekter af performance. 3.1 Verifikation af Svartidsperformance Svartidsperformance måles typisk som responstid per forespørgsel, dvs. den tid det tager det samlede system at producere et svar på en modtaget forespørgsel. I de fleste kørende systemer vil der være et tilfældighedsaspekt involveret i afsendelse, transport og modtagelsen af forespørgsler. Effekten af dette ses typisk ved at forespørgsler kommer i større eller mindre samtidige klumper. Nogle gange vil disse klumper være større end antallet af parallelle kanaler hvormed applikationen kan behandle forespørgsler, hvilket medfører kødannelse ved indgangen til applikationen. For at komplicere sagen yderligere, vil applikationer i mange tilfælde have behov for at anvende delte ressourcer, dvs. ressourcer som også andre applikationer bruger. Igen kan der være rift om de tilgængelige ressourcer, hvilket introducerer tilfældighed i form af forskellig svartid fra den delte ressource (se Figur 1). Ventepunkt/Prioritering" (introducerer"3lfældighed)" Applikation 1 Kanal 1 Kanal 2 Kanal 3 Brugere"introducerer"3lfældighed" Kanal 4 Parallel udførelse Delt ressource..." Applikation X Kanal 1 Kanal 2 Kanal 3 F.eks. Database Kanal 1 Kanal 2 Kanal 3 Kanal 4 Parallel udførelse Figur 1 - I et komplekst system vil der være en række punkter der introducerer tilfældighed Kvalitetssikring af software Verificering af performance 7
8 Alle disse tilfældighedspunkter vil fra en anvender blive set som udsving fra den ideelle svartid. Udsvingene vil dog følge et vist mønster man siger at de følger en sandsynlighedsfordeling. Det er derfor relevant ikke kun at kigge på gennemsnitlige svartider, men også på hvor meget og hvordan svartiderne varierer. Det kan derfor være relevant at se på flere mål af svartider: Hyppigt anvendte mål af svartider: - Gennemsnitlig svartid - Median. Halvdelen af svartiderne er mindre end denne % fraktil. 95 % af svartiderne er mindre end denne % fraktil. 99 % af svartiderne er mindre end denne. Performancekravet vil typisk være formuleret som krav til svartider ved forventet normal belastning evt. suppleret med nogle krav til svartider ved forventet forhøjet belastning i nogle bestemte tidsrum. Da en applikation oftest indeholder en række forskellige funktioner (operationer) der i varierende omfang belaster systemets ressourcer, skal svartiden altid testes under en passende fordeling af operationer og med en belastning, der bedst muligt passer til den man kender fra (eller forventer i) det kørende system. Kvalitetssikring af svartider handler derfor om at sikre, at applikationen i en sammenlignelig it-infrastruktur og med en simuleret produktionslignende belastningsprofil giver nogle tilfredsstillende svartidsmålinger. Udførelse af svartidstest: - Definer kravene til svartider. - Definer ved hvilken sammensætning af kald disse krav skal være opfyldt. - Simuler en passende belastning med den definererede fordeling. - Mål på svartiderne under denne belastning hhv. belastningsfordeling. - Vurder hvor følsomt resultatet er overfor yderligere belastning. - Lav målinger som faciliterer performancetuning i tilfælde af utilfredsstillende performance. 3.2 Verifikation af Ydelsesperformance Ydelsesperformance består af en række målinger, der tilsammen danner et billede af, hvor meget et system kan yde, og hvordan systemet agerer i takt med, at belastningen øges. For at kortlægge et systems ydelsesperformance, udføres typisk en testportefølje bestående af følgende test: - Ramp-up test. Tester parallellitet i applikationen og måler den optimale og den maksimale ydelse. - Skalerbarhedstest. En skalerbarhedstest foretages på systemet for at vise hvorledes systemet reagerer ved en forøgelse af tilgængelige ressourcer. Kvalitetssikring af software Verificering af performance 8
9 - Loadtest. Belastningen på systemet øges ved at variere forskellige parametre, f.eks. ændring af operations-sammensætning, forøgelse af datamængder i forespørgsler, forøgelse af datamængder i svar Ramp-up test Ramp-up test. En ramp-up-test foretages på systemet for at identificere systemets optimale og maksimale ydelse. En ramp-up-test udføres ved trinvist at øge belastningen på systemet og samtidig overvåge svartider og svartidsudsving, indtil man observerer en stagnation eller fald i ydelse. Ud fra antallet af behandlede beskeder pr. tidsenhed, kan man efterfølgende plotte en graf, og identificere hhv. optimum 2 og maksimal 3 ydelse. Udførelse af Ramp-up test: - Definer kravene til (througput). - Definer ved hvilken sammensætning af kald disse krav skal være opfyldt. - Foretag en test med stigende belastning med den definerede sammensætning - Mål på ydelse ved hver belastning - Mål på svartider, svartidsvarians, ressourceforbrug ved hver belastning - Ud fra ydelsessignaturen kan Max. throughput og Optimal throughput beregnes. Figur 2 - Ydelsesprofil der følger af en "Ramp-up" test (Chronos graf) 2 Optimum er punktet på grafen, lige før linjens hældning falder. Efter dette punkt vil svartiden pr. besked stige, og overordnet set vil systemet herefter køre med nedsat performance. 3 Maksimal ydelse er punktet på grafen, lige før antallet af behandlede beskeder pr. tidsenhed begynder at falde. Kvalitetssikring af software Verificering af performance 9
10 Figur 3 - Udvikling af svartider og varianser i forbindelse med "ramp-up" (Chronos graf) Skalerbarhedstest En skalerbarhedstest foretages på systemet for at vise hvorledes systemet reagerer ved en forøgelse af tilgængelige ressourcer igennem en enten vertikal eller horisontal ressourceudvidelse. Vertikal skalering handler om at tilføre flere ressourcer til den eksisterende infrastruktur (mere RAM, mere båndbredde, kraftigere maskiner), mens horisontal skalering handler om at tilføre flere ressourcer i helheder (f.eks. flere uafhængige servere). Ver$kal(skalering( System efter Server System før Server Server Server Horisontal(skalering( System før System efter Server Server Server Server Server Server Figur 4 - Illustration af forskellen mellem vertikal og horisontal skalering. Kvalitetssikring af software Verificering af performance 10
11 Det perfekte system skalerer enheds-lineært, dvs. dobbelt så høj ydelse ved dobbelt så mange ressourcer. Oftest begrænses skaleringsmulighederne dog af eksterne fælles ressourcer, f.eks. databaser, og krav til disse om at kunne håndtere komplekse datatilstande i systemet. Skalerbarhed er et kompleks område, og et system er ikke nødvendigvis designet forkert, blot fordi det ikke skalerer lineært. Lineær eller nær-lineær skalering er dog stadig målet. En skalerbarhedstest udføres ved at belaste systemet med passende baggrundsbelastning, og herefter måle svartiden og antal behandlede beskeder pr. tidsenhed. Herefter udvides ressourcerne og testen afvikles igen og resultaterne sammenlignes. Udførelse af Skalerbarhedstest: - Foretag en Ramp-up test med minimale ressourcer - Find den optimale ydelse og registrer svartidsinformationer ved denne ydelse (gennemsnit, fordeling, varians, etc.) - Forøg de tilgængelige ressourcer - Foretag på ny en ramp-up test og registrer målingerne igen målinger ved optimal ydelse - Foretag denne skalering et tilstrækkeligt antal gange til at man kan danne sig et billede af tendensen, når målingerne sammenlignes på en graf (linearitet, logaritmisk tendens eller lignende) - Ud fra tendenser kan de nødvendige ressourcer estimeres i forhold til de ydelseskrav, der er til systemet 300" 250" Ydelse&(svar/sek)& Svar/d&(γ)& Svar/dsafvigelse&(σ2)& 200" 150" 100" 50" 0" 0" 2" 4" 6" 8" 10" 12" 14" 16" Antal"resourcer" Figur 5 - Eksempel på resultater fra skaleringstest. Kvalitetssikring af software Verificering af performance 11
12 3.2.3 Load tests En loadtest foretages på systemet for at kortlægge, hvordan systemet reagerer, hvis brugsmønsteret ændrer sig. Loadtestens formål er altså at identificere situationer, hvor en et ændret brugsmønster kan skade systemet svartidsperformance. Testen udføres normalt kun på de mest sandsynlige ændringer i brugsmønstret. Hvis brugsmønstret ikke forventes at ændre sig, kan denne test evt. udelades. Selve testen udføres på samme måde, som ovennævnte ramp-up test, men med andre parametre. Efterfølgende sammenlignes optimum og maksimum med rampup-testen for den aktuelle baggrundsfordeling. Udførelse af Load test: - Afdæk de mest sandsynlige kommende udviklinger i kaldssammensætning. - Foretag en Ramp-up test, hvor hver af disse sammensætninger simuleres. - Sammenlign ydelses- og ressourcemålinger med målingerne foretaget med den forventede produktionssammensætning af 3.3 Verifikation af stabilitetsperformance Stabilitetsperformance består af en række tests, der tilsammen danner et billede af, om et system er stabilt, og hvordan systemet agerer ved ekstrem høj belastning. For at kortlægge et systems stabilitetsperformance, udføres typisk en testportefølje bestående af følgende test: - Stresstest. Tester systemets evne til at håndtere en ekstrem overbelastning i kortere eller længere tid. - Spiketest. Tester systemets evne til at håndtere pludselige skift i belastning. - Udholdenhedstest. Systemets holdes kørende i en længere periode, mens en række driftsparametre overvåges, hvorved det verificeres, at systemet ikke degraderer over tid Stresstest Stresstest. En stresstest foretages for at sikre, at systemet ikke bliver ustabilt under ekstremt højt load. Formålet med testen er dels at vise driftsmæssig stabilitet, men også sikkerhed, idet systemet skal være resistent overfor f.eks. et DOS 4 angreb. En stresstest udføres ved at overbelaste systemet i en sådan grad, at systemet ikke længere kan honorere svartiderne og samtidig begynder at afvise forespørgsler. Efter en periode med ekstrem belastning, sættes belastningen ned til normal igen, og system skal herefter returnere til normale svartider. 4 DOS = Denial Of Service angreb er et forsøg på at gøre et system utilgængeligt for brugerne ved at overbelaste systemet [DOSwiki] Kvalitetssikring af software Verificering af performance 12
13 Belastningen under en stresstest skal sættes så højt, at man tydeligt kan observere ressource udsultning. Typisk udsættes systemet initielt for en belastning svarende til 2 gange peak 5. Udførelse af stresstest: - Definer kravene til ekstrem belastning. - Definer den forventede varigheden af perioden efter belastningen trappes ned og til systemet kører normalt. - Foretag en test med ekstrem belastning. - Overvåg at systemer ikke fejler, men afviser beskeder pænt. - Mål på svartider, svartidsvarians, ressourceforbrug under den ekstreme belastning. Figur 6 - Eksempel på resultat fra stresstest. Som det ses af eksemplet udviser det tænkte system den ønskede kvalitet. Systemet bliver presset af den øgede belastning, og begynder at afvise beskeder. Systemets performance degraderer fordi, belastninger bliver for stor, så totalt set, behandler systemet færre beskeder pr. sekund. Efter der skrues ned for belastninger, stabiliserer systemet sig efter en kort periode, og kører derefter igen normalt Spiketest Spiketest. En spiketest foretages for at sikre, at systemet kan håndtere pludselige skift i belastningsniveau. 5 Peak defineres som den maksimale forventede belastning et system udsættes for. For de fleste IT systemer er der oftest tale om en såkaldt peak period, dvs. et bestemt tidsrum, hvor system er ekstra belastet. Typisk er denne periode af begrænset varighed. Kvalitetssikring af software Verificering af performance 13
14 En spiketest udføres ved at belaste systemet normalt i en kort periode, herefter pludseligt skrue belastningen op til peak i kort periode, for herefter at skrue ned igen. Under disse skift i belastning, skal systemets svartider være upåvirket, dvs. systemet skal fortsat overholde sine svartidskrav. Udførelse af spiketest: - Definer kravene til spiketesten, dvs. størrelse, varighed og antal af spikes. - Foretag en spiketest - Mål på svartider, svartidsvarians, ressourceforbrug under testen. Figur 7 - Eksempel på resultatet fra en spiketest. Som det ses af eksemplet udviser det tænkte system den ønskede kvalitet. Systemet svinger svartidsmæssigt en smule, hvilket er normalt, men svartiderne er generelt upåvirkede af belastningsgraden, så længe systemets maksimale kapacitet ikke overstiges Stabilitetstest Stabilitetstest. En stabilitetstest foretages for at sikre, at systemet ikke degraderer hen over tid. Testen udføres ved at belaste systemet over i længere periode, mens man overvåger systemets ressourceforbrug. Under testen er det normalt, at systemet har en initialt stigende ressourceforbrug, men ressourceforbruget bør efter en kort indkøringsperiode stabiliseres. Kvalitetssikring af software Verificering af performance 14
15 Udførelse af stabilitetstest: - Foretag en stabilitetstest - Mål svartider, svartidsvarians, ressourceforbrug under testen. Figur 8 - Eksempel på resultat fra stabilitetstest. Som det ses af eksempel, så ud det tænkte system de ønskede kvaliteter. System har et stigende ressourceforbrug i perioden efter opstart, men alle ressource stabiliseres efter en kort indkøringsperiode, og svinger derefter indenfor et relativt lille bånd. Kvalitetssikring af software Verificering af performance 15
16 4. Konklusion Et moderne IT system bør altid gennemgå et kvalitetssikringsforløb inden det frigives til det de endelige slutbrugere. Erfaringerne viser dog, at en ensidig fokus på funktionalitet ikke i tilstrækkelig grad sikrer, at systemet er velfungerende og anvendeligt for slutbrugeren. Mange projekter har oplevet forsinkelse under udrulning, nogle gange flere år, grundet manglende kvalitetssikring af performance, inden overdragelsen af projektet til drift. Det er derfor Lakesides klare anbefaling, at ethvert moderne IT system også kvalitetssikres på performance siden, og at performancetests indarbejdes, så det bliver en naturlig del af udviklings- og kvalitetssikringsprocessen. De udgifter der er associeret med denne ekstra kvalitetssikring er hurtig sparet, ved at flere hundrede medarbejde kan udføre deres arbejde uden forsinkelser, og at udrulningsplaner overholdes. Det er Lakesides erfaring, at der selv i de bedst designede systemer, vil kunne opstå situationer, hvor systemet enten udsultes eller ikke performer korrekt. Med faste procedurer for kvalitetssikring af performance, vil langt de fleste af disse situationer blive fundet under udviklingsforløbet, og kan derved ofte løses billigere og hurtige, end hvis de først identificeres når systemet er sat i drift. Kvalitetssikring af software Verificering af performance 16
17 5. Bilag 5.1 Performancetest forudsætninger Inden en performancetest kan afvikles er der en række forudsætninger, der skal være på plads: - En klar specifikation af hvilke snitflader skal testes. - En klar specifikation af hvordan snitflader testes, herunder input/output parametre og forventede datamængder. - En klar specifikation af forventede svartider for hver testet snitflade, set fra slutbrugeren. - En klar specifikation af hvordan svartid defineres, dvs. hvor tiden måles fra, og hvordan eksterne komponenter indregnes. - En klar specifikation af baggrundbelastning baseret på eksisterende systemer eller forventet brugsmønster. - Såfremt systemet er afhængig af en underliggende database, skal der udarbejdes en klar specifikation af forventet størrelse på databasen under kørslen, og fordelingen af data i databasen. Disse data danner tilsammen en svartidsmatrice, der dels angiver antallet af nødvendige tests, men også hvordan hver tests udføres og godkendes. Type Number of recipients Frequency (transfers / hour) > Message size >10 KB 10 KB Response time Avg.: 1 sec, 95%: 2 sec, 99%: 4 sec., 100%: 5 sec. Avg.: 1 sec, 95%: 2 sec, 99%: 4 sec., 100%: 5 sec >10 KB 10 KB Avg.: 1 sec, 95%: 2 sec, 99%: 4 sec., 100%: 5 sec. Avg.: 1 sec, 95%: 2 sec, 99%: 4 sec., 100%: 5 sec. One 25 ~ 25 MB Avg.: 20 sec, 95%: 30 sec, 99%: 45 sec., 100%: 60 sec. > >10 KB 10 KB Avg.: 2 sec, 95%: 3 sec, 99%: 5 sec., 100%: 6 sec. Avg.: 2 sec, 95%: 3 sec, 99%: 5 sec., 100%: 6 sec. Push Multiple >10 KB 10 KB Avg.: 1 sec, 95%: 2 sec, 99%: 4 sec., 100%: 5 sec. Avg.: 1 sec, 95%: 2 sec, 99%: 4 sec., 100%: 5 sec. Service Pull One 25 > ~ 25 MB Avg.: 20 sec, 95%: 30 sec, 99%: 45 sec., 100%: 60 sec. >10 KB Avg.: 2 sec, 95%: 3 sec, 99%: 5 sec., 100%: 6 sec. 10 KB Avg.: 2 sec, 95%: 3 sec, 99%: 5 sec., 100%: 6 sec >10 KB Avg.: 1 sec, 95%: 2 sec, 99%: 4 sec., 100%: 5 sec. 10 KB Avg.: 1 sec, 95%: 2 sec, 99%: 4 sec., 100%: 5 sec. 25 ~ 25 MB Avg.: 20 sec, 95%: 30 sec, 99%: 45 sec., 100%: 60 sec. Figur 9 - Eksempel på svartidsmatrice for en enkelt snitflade. 5.2 Performancetest svartidsfordeling Et system er sjældent en selvstændig isoleret komponent, men indgår oftest i et komplekst IT system, hvor andre komponenter og systemer kan påvirke performance. En forudsætning for performancetesten er derfor også en klar specifikation af, dels hvordan en svartid måles, og dels hvordan svartiden fordeles. Kvalitetssikring af software Verificering af performance 17
18 Når en slutbruger udfører en handling i en klient, observerer denne en svartid fra systemet. Denne svartid er summen af en række opgaver, som brugeren har affødt ved at udføre den enkelte handling i klienten. Der skelnes derfor oftest mellem et overordnet svartidskrav registreret hos slutbrugeren og så svartidskrav til det enkelte komponenter. Summen af alle indgående opgaver, skal dog altid være under slutbruger svartidskravet. Figur 10 - Eksempel på affødte opgaver. Som det fremgår af Figur 10, så består et yderste forsimplet eksempel af ni affødte opgaver: 1. Netværkstid mellem klient og server. 2. Behandlingstid i serveren 3. Netværkstid mellem server og ekstern komponent. 4. Behandlingstid i ekstern komponent. 5. Netværkstid mellem ekstern komponent og server. 6. Netværkstid mellem server og egen database. 7. Behandlingstid i egen database. 8. Netværkstid mellem egen database og server. 9. Netværkstid mellem server og klient. Et rent serversystem opdeles typisk, så netværkstid og eksterne systemer ikke indgår i serverens svartidsansvar. Det betyder, at en performancetest af et serversystem vil typisk foretages direkte på systemets snitflader, se Figur 11. Kvalitetssikring af software Verificering af performance 18
19 Figur 11 - Eksempel på afgrænsning af svartidsansvar. 5.3 Performancetestplan Ideelt er testmiljøet en identisk kopi af produktionsmiljøet, idet dette vil resultere i de bedst mulige forhold for performancetesten. Typisk er dette dog ikke økonomisk eller teknisk muligt, og performancetestmiljøet afviger derfor oftest i større eller mindre grad fra produktionsmiljøet. Det er derfor en forudsætning for performancetesten, at disse afvigelser klarlægges, og at konsekvensen af afvigelserne dokumenteres. Udover dokumentation af miljøet, skal der udarbejdes en testplan for performancetesten, så testmiljøet kan reserveres, og evt. påvirkninger af eksterne komponenter kan koordineres. En testplan bør som minimum afsætte 2 gennemløb af hver test, så målinger kan verificeres og evt. uforudsete udefrakommende påvirkninger ikke forsinker testplanen. I forbindelse med testplanen skal der også etableres krav til omkringliggende komponenter, såfremt systemet har afhængigheder til sådanne. Dette kan f.eks. være andre systemer eller en underliggende database. Såfremt en eller flere af disse eksterne komponenter ikke er tilgængelig under testen, så skal det dokumenteres, i hvilket omfang det påvirker test, og hvordan der kompenseres for manglen. 5.4 Performancetest afvikling Til afvikling af performance testen benyttes typisk to værktøjer: - Værktøj til afvikling af baggrundsbelastning. - Værktøj til måling af svartider. Til afvikling af baggrundsbelastning benyttes oftest et distribueret klientsystem, der kan afvikles for flere forskellige maskiner samtidig. Derved kan man generere en realistisk baggrundsbelastning, uden at klientmaskinerne bliver en flaskehals. Der findes på markedet i dag både en række kommercielle og ikke kommercielle produkter til afvikling af distribueret baggrundsbelastning. Blandt de ikke kommercieller er Apache JMeter og Grinder de mest udbredte. Kvalitetssikring af software Verificering af performance 19
20 Til måling af svartider findes der flere muligheder, lige fra lavpraktiske brug af et stopur til avancerede programmer, der registrerer hvornår et skærmbillede er færdigt med at indlæse. I et system, hvor klienterne ikke er en del af leverancen, f.eks. webservices, kan man typisk benytte baggrundsbelastningsværktøjerne til også at verificere svartider, idet disse systemer oftest også logger eksekveringstider for de forespørgsler der foretages. 5.5 Andre parametre I forbindelse med en performancetest, er der en række andre parametre der er interessante, ud over selve svartiden: - CPU belastning. - Hukommelsesforbrug. - Åbne filer. - Åbne netværksforbindelser. Disse parametre indgår alle i en samlet vurdering af et systems performance. Kvalitetssikring af software Verificering af performance 20
21 6. Referencer og kilder Reference-id Indhold / Overskrift Henvisning [WPERF] [DOSwiki] What is Computer Performance? Denial-of-service attack puter_performance al-of-service_attack Kvalitetssikring af software Verificering af performance 21
Performancetest af patientkritisk system DSTB Per Skjoldager ahoc - Jesper Mortensen ahoc
Performancetest af patientkritisk system DSTB 2017 Per Skjoldager ahoc - [email protected] Jesper Mortensen ahoc [email protected] Hvem er vi Per Skjoldager Testmanager / ahoc Senior Test Manager med
OpenTele Server Performance Test Rapport
OpenTele Server Performance Test Rapport 17. marts 2015 Side 1 af 22 1Indholdsfortegnelse Indholdsfortegnelse Indledning Test forudsætning Beskrivelse af testscenarier Test af OpenTele kliniker web interface
Underbilag 14 C: Afprøvningsforskrifter til prøver og tests
Underbilag 14 C: Afprøvningsforskrifter til prøver tests Udbud om levering, installation, implementering, support, drift vedligehold af Borgeradministrativt System (BAS) Indhold underbilag 14 C Afprøvningsforskrifter
Styring af testmiljøer almindelig god praksis
White paper Styring af testmiljøer almindelig god praksis Søren Beyer Nielsen Ph.D., M.Sc. Pragmatic Consult A/S v. 1.2 Pragmatic Consult A/S Stadagervej 42 2730 Herlev Danmark Tel: 44 92 23 77 Fax: 44
Udbud af RIPA-Syd. Underbilag 14.A - Definitioner og testtype katalog
Udbud af RIPA-Syd til Underbilag 14.A - Definitioner og testtype katalog Underbilag 14.A Definitioner og testtypekatalog Side 1 af 10 Indholdsfortegnelse: 1. DEFINITIONER...4 2. TESTTYPE KATALOG...5 2.1
Koncept for systemforvaltning af den fælles open source kode, herunder procedure for opfølgning på software-versioner af OpenTele
LEVERANCE 2.1 Koncept for systemforvaltning af den fælles open source kode, herunder procedure for opfølgning på software-versioner af OpenTele Konceptet beskriver, hvordan koden forvaltes, og hvordan
BILAG 5.D DOKUMENTATION
BILAG 5.D DOKUMENTATION INDHOLDSFORTEGNELSE 1. Indledning...4 2. Kundens krav til Leverancedokumentation...4 Side 2 of 10 Instruktion til besvarelse af bilaget: Teksten i denne instruktion er ikke en del
Aktuel driftsstatus for IndFak
Aktuel driftsstatus for IndFak Side 1 af 5 Der er på nuværende tidspunkt 72 institutioner, som anvender IndFak. Der er fortsat forskellige driftsmæssige problemer samt uhensigtsmæssigheder i systemet.
LEVERANCE 1.3. Model for kvalitetssikring
LEVERANCE 1.3 Model for kvalitetssikring Udarbejdelse af kvalitetssikringsmodel, krav til open source kode og dokumentation og godkendelsesprocedurer m.v. Samt fokus på understøttelse af CE-mærkning. 1
National Sundheds-it Infrastruktur og sikkerhed
NSI Projektmodel Kravspecifikation CPR-services Infrastrukturprogrammet fase 2 CPR projektet Dato: 18.08.2011 Version: 1.1 Udarbejdet af: NSI NATIONAL SUNDHEDS-IT NATIONAL BOARD OF E-HEALTH www.nsi.dk
Procedure for systemtest
LANDBRUGS- OG FISKERISTYRELSEN Procedure for systemtest Retningslinjer for hvordan test udføres i LFST Kontrakt om Testressourcer Underbilag 1c 23. oktober 2017 Version 1.0 En beskrivelse af hvordan test
SF1460_A Modtag besked Integrationsbeskrivelse - version 2.3.0
SF1460_A Modtag besked - version 2.3.0 Kommunernes Data & Infrastruktur - KDI Versionshistorik Relevans Dato Initialer Version Kommentarer 2015-07-01 ehe 0.1 Første version 2015-07-01 ehe 2.1.0 Indarbejdet
Bring lys over driften af belysningen
Bring lys over driften af belysningen CityTouch LightPoint Asset Management system for belysning CityTouch LightPoint / Asset Management 3 Velkommen til den nye intelligens inden for belysning. Professionel
It-sikkerhedstekst ST8
It-sikkerhedstekst ST8 Logning til brug ved efterforskning af autoriserede brugeres anvendelser af data Denne tekst må kopieres i sin helhed med kildeangivelse. Dokumentnavn: ST8 Version 1 Maj 2015 Logning
Kravspecifikation for SOSI-GW komponenten
Kravspecifikation for SOSI-GW komponenten Af: TSO/Lakeside Version: 1.20 1/13 Indhold Indhold...2 Baggrund...3 Overordnet teknisk beskrivelse...3 Om kravspecifikationen...5 Kravenes form...5 A Funktionelle
Produktbeskrivelse for
Produktbeskrivelse for Behandlingsrelationsservicen NSP Behandlingsrelationsservice REFHOST LPR Lokal Database Jævnlig opdatering Ydelser Sikrede NOTUS Sygesikringssystemet Side 1 af 9 Version Dato Ansvarlig
Succesfuld implementering af automatiseret test
Succesfuld implementering af automatiseret test Forudsætningerne og faldgruberne John Fodeh [email protected] 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject
DE BEAR TECHNOLOGY. o Processer, metoder & værktøjer. e-mail: [email protected] WWW.DBTECHNOLOGY.DK
Mission Critical o Projekt Information management o Processer, metoder & værktøjer. Side 1 of 11 Projekt information Projekt information management inkluderer alle de processer, som er nødvendige for at
Bilag 11 - Prøver. Undervisningsministeriets udbud - Fremme af evalueringskulturen. 28. juni Uddannelsesudvalget L Bilag 3 Offentligt
Uddannelsesudvalget L 101 - Bilag 3 Offentligt Bilag 11 - Prøver Undervisningsministeriets udbud - Fremme af evalueringskulturen i folkeskolen 28. juni 2005 Connecting Business & Technology Devoteam Fischer
Skolevægring. Resultater fra en spørgeskemaundersøgelse blandt skoleledere på danske folkeskoler og specialskoler
Skolevægring Resultater fra en spørgeskemaundersøgelse blandt skoleledere på danske folkeskoler og specialskoler Udarbejdet af Analyse & Tal for Institut for Menneskerettigheder juli 017 Indledning Udsendelse
Procedurer for styring af softwarearkitektur og koordinering af udvikling
LEVERANCE 2.3 Procedurer for styring af softwarearkitektur og koordinering af udvikling Procedurerne vil omfatte: Planlægning af udfasning af gamle versioner af OpenTele Planlægning af modning af kode
Tietgenskolen - Nørrehus. Data warehouse. Database for udviklere. Thor Harloff Lynggaard DM08125
Tietgenskolen - Nørrehus Data warehouse Database for udviklere Thor Harloff Lynggaard DM08125 Juni 2010 Indhold Beskrivelse... 3 Data warehouse... 3 Generelt... 3 Sammenligning... 3 Gode sider ved DW...
VEJLEDNING TIL BRUG FOR AFVIKLING AF FP9 OG FP10 DANSK SKRIFTLIG FREMSTILLING MED ADGANG TIL INTERNETTET
VEJLEDNING TIL BRUG FOR AFVIKLING AF FP9 OG FP10 DANSK SKRIFTLIG FREMSTILLING MED ADGANG TIL INTERNETTET Vejledning til skolernes prøveansvarlige og administrative personale INDHOLD Indledning... 3 Adgang
Sikkerhedsanbefaling. Forholdsregler ved ophør af serviceopdateringer til Windows XP Embedded
Sikkerhedsanbefaling Forholdsregler ved ophør af serviceopdateringer til Windows XP Embedded Juli 2014 Indledning Microsoft har annonceret, at selskabet den 31. december 2016 frigiver den sidste serviceopdatering
Audit beskrivelser for PL
3-4-1 V01 3-4-1 V02 3-4-1 V03 3-4-1 V04 3-4-1 V05 Er der etableret et system til regelmæssig kontrol af processerne? Punktet er opfyldt, hvis der er en synlig regelmæssig måling for processen med acceptgrænser.
Udfordringer og problemstillinger. En liste over de udfordringer og problemstillinger, der er ved Java og JEE udvikling
Java og JEE 1 2 Udfordringer og problemstillinger En liste over de udfordringer og problemstillinger, der er ved Java og JEE udvikling 3 Generelt om Java og JEE 4 Generelt, I Man undervurderer hvor mange
Introduktion til NemHandel
NemHandel i skyen - holdt business casen? Heinrich Clausen HotHouse Cph og Helle Schade-Sørensen IT og Telestyrelsen Introduktion til NemHandel Løftestangen: Bekendtgørelsen fra 2005 om elektronisk regning
Erfaringer med CPR-replikering
Erfaringer med CPR-replikering Dette dokument beskriver en række overvejelser vi har gjort os i forbindelse med at vi har udviklet en Proof of Concept (PoC) af en CPR-replikeringstjeneste for KOMBIT. CPRs
VEJLEDNING TIL BRUG FOR AFVIKLING AF FP9 OG FP10 DANSK SKRIFTLIG FREMSTILLING MED ADGANG TIL INTERNETTET
VEJLEDNING TIL BRUG FOR AFVIKLING AF FP9 OG FP10 DANSK SKRIFTLIG FREMSTILLING MED ADGANG TIL INTERNETTET Vejledning til skolernes prøveansvarlige og administrative personale INDHOLD Indledning... 3 Adgang
Gennemsnit og normalfordeling illustreret med terningkast, simulering og SLUMP()
Gennemsnit og normalfordeling illustreret med terningkast, simulering og SLUMP() John Andersen, Læreruddannelsen i Aarhus, VIA Et kast med 10 terninger gav følgende udfald Fig. 1 Result of rolling 10 dices
Bilag 9, Kvalitetssikring
Bilag 9, Kvalitetssikring Version Ændringer Dato 2.1 Ændret i: 06-02-2014 - Punkt 1 - Punkt 2 - Krav 9.1 - Krav 9.2 - Krav 9.3 - Krav 9.5 - Krav 9.6 - Krav 9.7 - Krav 9.8 - Tilføjet krav 9.14 - Tilføjet
Bilag 4: Dokumentation
Bilag 4: Dokumentation Udbud af løn- og personalesystem Side 1 Indhold bilag 4 Bilag 4 Dokumentation... 3 4.1 Indledning... 3 4.2 Overordnede dokumentationskrav... 3 4.3 Dokumentation af leverance... 3
KURSER INDENFOR SOA, WEB SERVICES OG SEMANTIC WEB
KURSER INDENFOR SOA, WEB SERVICES OG SEMANTIC WEB Det er Web Services, der rejser sig fra støvet efter Dot Com boblens brag. INTRODUKTION Dette dokument beskriver forslag til fire moduler, hvis formål
Web-baseret metadata redigeringsmodul
Kravspecifikation Geodata Danmark Geodatacentret I/S Energivej 3 4180 Sorø Tlf. 5786 0400 Fax. 5786 0414 GIS Danmark A/S Birkemosevej 7 6000 Kolding Tlf. 7399 1100 Fax. 7399 11199 Web www.geodata.dk Web-baseret
Teksten i denne instruktion er ikke en del af Kontrakten og vil blive fjernet ved kontraktindgåelse.
BILAG 10 PRØVER Indholdsfortegnelse 1. Prøver... 4 2. Fælles regler for afprøvning... 4 2.1 Afklaringsproces og udarbejdelse af test cases... 4 2.2 Beskrivelse af afklaringsproces og udarbejdelse af test
Bilag 1: Ekstrakt af forretningsarkitekturanalyse af digital understøttelse af tværgående komplekse patientforløb
Bilag 1: Ekstrakt af forretningsarkitekturanalyse af digital understøttelse af tværgående komplekse patientforløb (Bilag til dagsordenspunkt 2, Orientering om Arkitekturanalyse på sundhedsområdet af komplekse
1. Release- og Versioneringsstrategi for Serviceplatformen og services
7. januar 2014. Serviceplatformen 1. Release- og Versioneringsstrategi for Serviceplatformen og services Nærværende notat beskriver Serviceplatformens Release- og Versioneringsstrategier. Formålet med
Reducér risikoen for falske mails
Reducér risikoen for falske mails Center for Cybersikkerhed 1 November 2017 Indledning Center for Cybersikkerhed oplever i stigende grad, at danske myndigheder og virksomheder udsættes for cyberangreb.
1. Baggrund og problemstilling
1. Baggrund og problemstilling 1.1 Baggrund Opgavestiller og fremtidig bruger af systemet er klinikken Tandlæge Annelise Bom 1. Opgaven udspringer af et ønske om at forbedre aftalestyringen. Nøgleordene
Bias Reducing Operating System - BROS -
Bias Reducing Operating System - BROS - Accepttestspecifikation Projektgruppe 3: Rasmus Lund Jensen (11111) Nicolai Glud(11102) Jacob Roesen(10095) Mick Holmark(11065) Johnny Kristensen(10734) 1 Versionshistorik
Mit overblik - Orkestreringskomponenten. FDA September 2019
Mit overblik - Orkestreringskomponenten FDA September 2019 Agenda 1. Introduktion til initiativet og arkitekturen 2. PoC (Proof of concept) 3. Vejen mod realisering 4. Spørgsmål 2 3 FODS 1.3 Status på
Punkter som ikke synes relevante for det givne projekt besvares med: ikke relevant
Modtagelseserklæring Modtagelseserklæring for AAU ITS Infrastruktur version 4. Anvendelse Modtagelseserklæringen skal anvendes i forbindelse med projekter drevet af PMO, AIU eller IFS. Projektlederen er
Software Dokumentation
Software Dokumentation Jan Boddum Larsen Teknologi B og A på HTX Dokumentation af software i Teknologi I samfundet sker der en bevægelse mod mere digitale løsninger i teknologi. Det betyder at software
STS Designdokument. STS Designdokument
STS Designdokument i STS Designdokument STS Designdokument ii REVISION HISTORY NUMBER DATE DESCRIPTION NAME 0.3 2013-01 N STS Designdokument iii Indhold 1 Introduktion 1 2 Arkitekturoverblik 1 2.1 Eksterne
Application Management Service
Application Management Service I dette Whitepaper vil vi beskrive nogle af vores erfaringer med Application Management. De fleste virksomheder har på et tidspunkt lavet, eller fået lavet, en mindre applikation,
Projekt: VAX NemHandel 4.0
Ejer: mysupply ApS Projekt: VAX NemHandel 4.0 Emne: Dette dokument beskriver de tekniske specifikationer for VAX NemHandel 4.0 samt krav til miljøet, herunder hardware og software, hvori VAX NemHandel
Vejledning i at anvende besvarelsesformular. Juli 2016
Vejledning i at anvende besvarelsesformular Juli 2016 Hvem skal anvende vejledningen? Vejledningen er relevant for dig, hvis du skal anvende besvarelsesformular på postkasser eller materialer. Du skal
Forslag til ny struktur - overblik
BESKRIVELSESVÆRKTØJ Forslag til ny struktur - overblik Den korte version Udarbejdet af Molio 2018-03-01 Høringsversion Molio 2018 1 Indledning og formål Molio ønsker at omlægge beskrivelsesværktøjets struktur.
Softwaretest. - også af "ikke testbar" software. DAPUG erfamøde 7. marts 2012 Thomas Vedel, Thomas Vedel Consult email: thomas@veco.
Softwaretest - også af "ikke testbar" software DAPUG erfamøde 7. marts 2012 Thomas Vedel, Thomas Vedel Consult email: [email protected] Hvorfor softwaretest? Software er sjældent fejlfri Test sikrer at softwaren
Digital Sundhed Program for infrastruktur og sikkerhed
SDSD Projektmodel Kravspecifikation 007d.01 Stamdata Register Infrastrukturprogrammet fase 2 FMKi projektet Dato: 13.12.2010 Version: 1.0 Udarbejdet af: Digital Sundhed Sammenhængende Sundhed i Danmark
SAS Standardarbejde i Administration og Service
DI-version 2014-12-17 SAS Standardarbejde i Administration og Service Alle rettigheder tilhører DI 2-5-4 - SAS - Ledelsens Vejledning - 2014-12-17 side 1 af 8 Instruktion til kaizenleder Rettigheder DI
Mangelfuldt dokumenterede it-systemer. Hvordan løses udfordringen?
Mangelfuldt dokumenterede it-systemer Hvordan løses udfordringen? Indholdsfortegnelse 1. Resume... 3 2. Introduktion... 3 3. Fordelene ved at løse udfordringen... 3 4. Løsningen... 4 4.1 Hvordan?... 4
Risikostyring i Danske Bank
Risikostyring i Danske Bank Præsentation til LD Invest - Markets Christopher Skak Nielsen Chef for Risiko Kapital 23. Marts, 2008 Risiko- og kapitalstyring i Danske Bank - med afsæt i risikorapporten 2008
EG Data Inform. Byggebasen. WCF og webservices. Jens Karsø
EG Data Inform Byggebasen WCF og webservices Jens Karsø 10 Indholdsfortegnelse Byggebasen Services indledning... 2 Målsætning... 2 Valg af teknologier... 3 Kommunikationsmodel for byggebasen... 3 Services.byggebasen.dk...
as a Service Dynamisk infrastruktur
Dynamisk infrastruktur Vi bygger dynamisk infrastruktur...... og holder den kørende Om jeres it-infrastruktur fungerer optimalt, er i bund og grund et spørgsmål om kapacitet. Og så er det et spørgsmål
Case: Ekspertbud. 1) Øget konkurrence som følge af flere aktører på markedet, 2) Koordineringsproblemer af egne ressourcer.
Case: Ekspertbud Ekspertbud A/S er et succesfuldt firma inden for budforsendelser. Firmaet har 600 ansatte, hvoraf 500 er chauffører. Firmaet blev etableret i 1989, og er vokset stærkt siden. Firmaet oplever
Kommunernes Ydelsessystem: Vejledning i kommunal høring af kravmateriale, maj 2013
Kommunernes Ydelsessystem: Vejledning i kommunal høring af kravmateriale, maj 2013 Drejebogen kommer med input, ideer og forslag til, hvordan kommunerne kan gribe en lokal høringsproces an med indsamling
Eksamensbeviser og karakterer til Eksamensdatabasen Sidst opdateret 01-02-2007/version 1.1/Steen Eske Christensen
Eksamensbeviser og karakterer til Eksamensdatabasen Sidst opdateret 01-02-2007/version 1.1/Steen Eske Christensen Indhold Ændringer Centrale begreber Generelt Arbejdsgange Vejledningen består af 3 dele,
Entreprenøren skal følge et kvalitetsstyringssystem, som lever op til de i dette bilag anførte krav.
1 Bilag 1 Kvalitetsstyring. 1. Indledning. Generelt Entreprenøren skal følge et kvalitetsstyringssystem, som lever op til de i dette bilag anførte krav. Entreprenøren skal indenfor rammerne af sit kvalitetsstyringssystem
Bilag 10. Afprøvning
Bilag 10 Afprøvning 2 Vejledning til tilbudsgiver Dette bilag beskriver, hvordan Leverancer og videreudviklingsydelser skal afprøves af Kunden i samarbejde med Leverandøren. Bilaget gælder kun for større
Bilag 15 Leverandørkoordinering
Bilag 15 Leverandørkoordinering Version 0.8 26-06-2015 Indhold 1 VEJLEDNING TIL TILBUDSGIVER... 2 2 INDLEDNING... 3 3 LEVERANDØRENS ANSVAR... 4 4 LEVERANDØRENS KOORDINERINGS- OG SAMARBEJDSFORPLIGTELSE...
Integration SF1590_A - ØiR - Afsend økonomipostering til ØiR (Finans) Integrationsbeskrivelse - version 2.1.0
Integration SF1590_A - ØiR - Afsend økonomipostering til ØiR (Finans) Integrationsbeskrivelse - version 2.1.0 Kommunernes Datafællesskab - KDF Versionshistorik Relevans Dato Initialer Version Kommentarer
Case til opgaven: Evaluering som belutningsmodel for forandring. Case til opgaven: Evaluering som beslutningsmodel for forandring.
Case til opgaven: Evaluering som beslutningsmodel for forandring. Palle Ragn 1/6 Introduktion til casen Casen beskriver et forløb for implementering af et system for en af Stibo s kunder. Efter casen har
