Struktureret system udvikling Minimodul 5: Testdesign og planlægning af test
|
|
|
- Sigrid Søgaard
- 10 år siden
- Visninger:
Transkript
1 Struktureret system udvikling Minimodul 5: Testdesign og planlægning af test Rasmus L. Olsen, 9 April, 2008
2 Kursusoversigt og tidsplan Mm1: Introduktion til kursus, UML og use cases (13/2, 2008) Mm2: Kravspecifikation og accepttest (27/2) Mm3: SPU og UML (12/3) Mm4: Design af system (26/3) Mm5: Design og test planlægning (9/4)
3 Generelt om test Er det ikke testet virker det ikke! Alle laver fejl (men der forskel på antallet) Fejl skal findes så tidligt som muligt Test debugging Test: påviser fejl - kan i visse tilfælde udføres af personer uden kendskab til programmet Debugging: lokaliserer fejl (og inkluderer ofte også fejlretning) - kræver detaljeret kendskab til programmet
4 Testbehov er forskellige Hvordan gik det ved afleveringen af det sidste system? 'Vi havde lovet at aflevere den 15. september. Det gjorde vi, så vi måtte rejse over og rette alle de fejl, der blev fundet bagefter!' 'Det betød ikke noget, om det varede en måned mere eller mindre. 'Kunden ville ikke betale, før systemet virkede, som han mente, der var aftalt.'. Er en fejl kritisk i det endelige system? Ja, du godeste, der er jo menneskeliv på spil! Ja, produktionsstop koster kr. pr. time. Ja, tænk på firmaets gode rygte og markedsandel. Nej, den retter vi bare.
5 Testbehov er forskellige #2 Vil en eventuel fejl være svær (dyr!!) at rette? 'Ja, vores system er i kredsløb om Jorden.' Ja, vi sælger apparater om året, og vi kan ikke rette, når først apparatet er på markedet. Nej, udstyret står jo i vores laboratorium. Skal der bygges/testes videre på programmet? 'Ja, vi forventer at sælge et stort antal af dette program i mange variationer.' Ja, og vi ønsker ikke, at Søren skal hænge på vedligeholdelse i al fremtid. Nej, det er kun et demo-program.
6 Hvorfor planlægge tests? Blot det at planlægge test reducerer antallet af fejl! Formål med testning: Forhindre og finde fejl Dokumentere funktionalitet og mangler Eftervise funktionalitets- og ydelseskrav Tests kan ske på forskellige planer Design - Test design Kodning - Test kode Program inspektion - Test inspektion Test debugging - Testudførelse Program debugging Program Test
7 Test parakdokser Pesticide paradokset: Enhver metode til at forhindre eller finde fejl efterlader fejl, som metoden er ineffektiv overfor Kompleksitets paradokset: Software kompleksiteten øges konstant til grænsen af vores formåen (tilsvarende mere komplekse fejl)
8 Test principper Princip: veldefineret input forventet output Reproducérbare test = veldokumenteret test miljø Interaktiv/manuel test: Billig og enkel udvikling Tidskrævende Automatiske test: Udviklingskrævende Tidsbesparende ved gentagende testudførsel, især velegnede til generering af data med hensyn til senere statistisk undersøgelse Tidsbesparende ved mange parameter ændringer/stort parameter rum
9 SPU-tests Modultest Modulintegration Procesintegration Accepttest Test planlægning Test udførelse
10 Modultest Formål: At sikre at modulet virker som beskrevet i modulspecifikationen Indhold: Test af grænsefladen og interne, logiske struktur af programmet
11 Integrationstests Trinvis: Enheder tilføjes én efter én med en integrationstest ved hver tilføjelse Samlet integration (The Big Bang): Individuelle enheder testes Alt samles derefter i én ombæring System The Big Bang Trinvis integration
12 Trinvis integration For et givet modul hieraki er der to principielle metoder: Bottom up integration Top down integration
13 Bottom-up integration Integrationsretning Sikrer at de overordnede funktioner virker som forventet Kræver dog at underliggende funktioner er færdige Sekventielt udvikling/integrationsforløb
14 Top-down integration Integrationsretning Tillader parralelle udviklingsforløb Kræver at interface og funktionalitet er korrekt emuleret af stubbe
15 I praksis er det en blandet landhandel Kompromis mellem bottom-up og top-down afhængigt af: Hvilke ydre enheder der er tilknyttet Hvilke enheder der er færdige Hvilke hardware dele der er færdige eller givet på forhånd Kan der testes hvis nogle enheder mangler Er der noget der skal demonstreres tidligt (kritisk)
16 Procesintegration Planlægning af aktiviteter HvornårermodulX og Y klar til integrering? Hvad afhænger af hvad? Hvor kan der med fordel benyttes stubbe? Eksempel fra SPU bog Alle involverede skal være klar over tids- og afhængighedslinjer
17 Procesintegrations-test Først lidt debugning Vær beredt: Uforudsete fejl dukker normalt altid op! Typiske fejl er mistilpassede interfaces Dernæst testning af proces Udfører processen sin dedikerede opgave? Resulterer et givet input i forventet output? Opfører modulet som forventet over tid?.
18 Accepttest
19 Testforberedelse- og udførelse Forberedelse Specificerer testemner. Hvad skal testes? Design testen. Hvordan skal testen udføres? Udførelse Implementer testen; Skriv testdrivere/stubbe. Klargør testdata Kør test Evaluér testforløb
20 Testmetoder
21 Black-Box vs. White-Box Black-Box Ingen kendskab til intern struktur Ikke nødvendigt med kendskab til softwaren Primært de øverste trin i V- modellen White-Box Tester interne strukturer Kendskab til softwaren nødvendig Primært de nederste test trin i V- modellen
22 Black-Box testing Black-box dækker test af funktion/system opførsel Baseret på en dedikeret specifikation Test uden kendskab til systemets interne struktur Eksempler på black-box teknikker: IO analyse Domæne-analyse, f.eks. Frekvensrespons Tidsrespons Statistisk analyse etc.
23 Kombinatorisk problem For et program med flere inputs skal der tages stilling til hvilke kombinationer der skal testes med Det sikreste ville være at test med alle mulige kombinationer men det kan være umuligt pga. antallet! X 1 X 2 X 3... X n Program P Hvis n = 10 og der vælges 10 test værdier for hver variabel vil der ialt være kombinationer!!!!
24 Kombinatorisk problem Ved kombinatorisk black-box testing opstår der let flere test-cases end der er ressourcer til at udføre (selv for automatiserede tests!) Hvordan reduceres antallet at test-cases uden at mindske sandsynligheden for at finde fejl? Fra uoverskueligt. Til overskueligt
25 Domæne-test - SPU Black-Box test 1. Identificér muligt in- og output 2. Identificér gyldigt og ugyldigt in- og output 3. Opdel det gyldige og ugyldige område i klasser Eks. gyldigt input: 0 X 999 klasse 1: X<0 (ugyldigt input) klasse 2: X>999 (ugyldigt input) klasse 3: 0 X 10 (gyldigt input) klasse 4: 11 X 999 (gyldigt input) 4. Design testscenarier med gyldigt input som dækker flest mulige klasser 5. Design en testscenarier for hver klasse med ugyldigt input
26 SPU Black-Box test 6. Supplér med grænseværdier, eks.: Første element Sidste element Max/min værdi En over/under grænsen Tomt input. 7. For hver grænseværdi genereres en ny test-case som dækker én og kun én grænseværdi 8. Fejlgætning 9. Til både gyldige og ugyldige test-cases specificeres det forventede output
27 SPU Black-Box test - eksempel
28 Testdokumentation Vigtigt af hensyn til: Bedre overblik Grundlag for forbedringer Gentagelse af test Grundlag for godkendelse etc.
29 Testspecifikation 1. Indledning Formål Referencer Tekstens omfang og begrænsninger Godkendelse 2. Test emner 3. Test design 4. Test implementation 5. Udførelse af test 6. Bilag
30 Test dokumentation/test rapport 1. Indledning Referencer Identifikation 2. Test resultater 3. Afvigelser og kommentarer Afvigelser fra normal afvikling Problemer/ændringsforslag 4. Konklusion
31 Testaktiviteter og testdokumentation
32 Et par ord på vejen. Test er en væsentlig del af et udviklingsforløb ( 40-50%) Fuldstændig dækkende test umuligt
33 White-Box Testing Også kendt som Structural test Glass-Box test Test af implementering Instruktioner Forgreninger Tilstande etc
34 White-Box tests Team baserede ( human testing ): Code Inspection Walk Through Ikke nødvendigvis team baserede: Path Testing Loop Testing Domain Testing Dagens emne
35 Path testing Antagelser ved Path Testing: Specifikationerne er korrekte Data er til rådighed og tilgås korrekt De eneste bugs i programmet er dem der har indflydelse på kontrol flow et
36 Path testing cases Instruktionsdækning alle instruktioner gennemløbes min. én gang Forgreningsdækning alle forgreninger gennemløbes min. én gang Betingelsesdækninger alle sammensatte betingelses afprøves indtil alle betingelser er dækket Umuligt at teste selv et simpelt program fuldstændigt!!! Eksempel Tre mulige stier gennem programmet Hvis løkken gennemløbes 20 gange er der i alt 3 20 forskellige sekvenser
37 Path testing Procedure: 1. Vælg en sti gennem softwaren 2. Bestem data der giver den pågældende sti 3. Kør softwaren med data fra 2) 4. Observér output 5. Sammenlign 4) med forventet output
38 Flowgraph - bestanddele En forgrening = et sted hvor der kan ske en ud af flere efterfølgende handlinger, f.eks., If/then/else case statements En samling = et sted hvor handlinger (risikere at) samles, f.eks. end if end loop goto label En procesblok = en sekvens af handlinger som ikke afbrydes af forgreninger eller samlinger. En proces blok har én indgang og én udgang Programmet hopper hverken ind eller ud af en proces blok
39 Eksempel 1 INPUT X,Y Z:=X+Y V:=X-Y 3 IF Z>=0 GOTO SAM 4 JOE: Z:=Z+V 5 SAM: Z:=Z+V U:=0 6 LOOP B(U),Q(V):=(Z+V)*U 7 IF B(U)=0 GOTO JOE Z:=Z-1 8 IF Z=0 GOTO ELL U:=U+1 9 UNTIL U=Z B(U-1):=B(U+1)+Q(V-1) 10 ELL:B(U+Q(V)):=U+V 11 IF U=V GOTO JOE 12 IF U>V THEN U := Z 13 YY: Z:=U 2 END
40 Eksempel I flowgraph version Node Link 1 INPUT X,Y Z:=X+Y V:=X-Y 3 IF Z>=0 GOTO SAM 4 JOE: Z:=Z+V 5 SAM: Z:=Z+V U:=0 6 LOOP B(U),Q(V):=(Z+V)*U 7 IF B(U)=0 GOTO JOE Z:=Z-1 8 IF Z=0 GOTO ELL U:=U+1 9 UNTIL U=Z B(U-1):=B(U+1)+Q(V-1) 10 ELL:B(U+Q(V)):=U+V 11 IF U=V GOTO JOE 12 IF U>V THEN U := Z 13 YY: Z:=U 2 END
41 Begreber Path: en sekvens af statements (instruktioner) Node: entry, junction, decision eller exit Link: forbindelsen mellem to nodes Path længde: antallet af links Entry/exit path eller complete path: en path der begynder og slutter ved hhv. rutinens start og slutpunkt (dvs. ingen spring ind/ud midt i rutinen)
42 Path Testing Kriterier Tre path testing kriterier (blandt uendeligt mange) 1) Statement Testing (P 1 ): 100% statement dækning. Udfør alle statements i programmet mindst én gang. 2) Branch Testing (P 2 ): 100% branch dækning. Udfør test som sikrer at alle branches har været gennemløbet min. én gang. 3) Path Testing (P ): 100% path dækning. Gennemløb samtlige stier gennem programmet Sikrer også at kriterie 1) og 2) er dækket
43 Eksempler på Branch og Statement testing 1 a b c d e i h g f 10 l T k F m j T F
44 Branch and Statement dækning Spørgsmål: Harhverforgreninget T (true) og et F (false) i den pågældende søjle? Svar: Hvis ja, så har vi branch dækning. Spørgsmål: Er alle links dækket min. én gang? Svar: Hvis ja, så har vi statement dækning.
45 Path Predicates Hver path svarer til en sekvens af True og False værdier Path Predicate Expression: et boolsk udtryk som tvinger programmet gennem en veldefinert path. Multiway branches (f.eks. case/switch statements) behandles som ifthen-else statements. Eksempel Input {X1,,X6} if (X5 > 0 X6 < 0) /* predicates A,B */... if(x1 + 3 * X >= 0) /* predicate C */... if(x3 == 17) /* predicate D */... if(x4 - X1 >= 14 * X2) /* predicate E */... Path Predicate udtryk: ACDE + BCDE = (A+B)CDE
46 Nogle vigtige begreber Path sensitization: Det at finde en løsning til et path predicate udtryk. Et path predicate kan være reachable eller unreachable Reachable hvis der findes et input vektor der fører programmet af den givne path predicate Unreachable hvis der ikke findes noget input der kan føre programmet gennem den givne path predicate Der findes ingen generel algoritme til at finde ud af hvorvidt en path predicate er reachabel eller ej Process Independent: hvis et predicate ikke afhænger af processeringen i rutinen (Un)Correlated Predicates: hvis resultatet afhænger af hinanden
47 Eksempel: ukorreleret & uafhængig a T b c F d e f l A 4 C g B F F T l h 9 i T m F D j T k 4 binære beslutninger medfører: 4 2 = 16 mulige paths.
48 Eksempel: korrellerede & uafhængige b e F a l A 4 d A 6 2 F g T T c f Paths abdeg og acdfg synes at give dækning, men er ikke muligt!! Kun 2 paths er mulige: abdfg og acdeg.
49 Hvad kan et flowgraph ellers bruges til? Typiske kode fejl sker i forbindelse med forgreninger og beslutninger. Path predikater kan være et godt redskab til at opdage inkonsistens mellem designet kode og implementeret kode. Hvad vil i helst? 1) Få en (evt. automatisk) til at oversætte jeres assembly kode til et flowgraph, og sammenlign med det udtænkte 2) Sidst på natten inden aflevering, spørge jeres medstuderende i desperation: Vil du ikke lige se mit assembly kode igennem, jeg kan simpelthen ikke finde den #! #= bug!
50 Test resultater Test resultater skal være som forventet Generelt Kør test Observér aktuel resultat Sammenlign det aktuelle resultat med det forventede. Spørgsmål: Hvis det aktuelle og det forventede output stemmer overens er testen så bestået? Svar: Nej! Resultatet kan være opnået ved en tilfældighed!! - Måske endda via fejlagtige paths!! - Derfor: Log den fulgte vej gennem programmet
51 To eksempler på path testing Funktionen int Abs(int x) Funktionen Count(file *textfile)
52 Using Path Testing to Test Function ABS Betragt følgende funktion: /* ABS This program function returns the absolute value of the integer passed to the function as a parameter. INPUT: An integer. OUTPUT: The absolute value if the input integer. */ 1 int ABS(int x) 2 { 3 if (x < 0) 4 x = -x; 5 return x; 6 }
53 The Flowgraph for ABS /* ABS This program function returns the absolute value of the integer passed to the function as a parameter. INPUT: An integer. OUTPUT: The absolute value if the input integer. */ 1 int ABS(int x) 2 { 3 if (x < 0) 4 x = -x; 5 return x; 6 } % path dækning umulig!!!
54 Statement Testdækning Paths Process links Test cases a b c d Input Output abc A negative integer, x -x adc A positive integer, x x d F a b c T
55 Branch Testing Paths Decisions Test cases Input Output abc T A negative integer, x -x adc F A positive integer, x x F T
56 Funktionen Count(file *fp) /* COUNT This program counts the number of characters and lines in a text file. INPUT: Text File OUTPUT: Number of characters and number of lines. */ 1 main(int argc, char *argv[]) 2 { 3 int numchars = 0; 4 int numlines = 0; 5 char chr; 6 FILE *fp = NULL; 7 8 if (argc < 2) 9 { 10 printf( \nusage: %s <filename>, argv[0]); 11 return (-1); 12 } 13 fp = fopen(argv[1], r ); 14 if (fp == NULL) 15 { 16 perror(argv[1]); /* display error message */ 17 return (-2); 18 } 19 while (!feof(fp)) 20 { 21 chr = getc(fp); /* read character */ 22 if (chr == \n ) /* if carriage return */ 23 ++numlines; 24 else 25 ++numchars; 26 } 27 printf( \nnumber of characters = %d, numchars); 28 printf( \nnumber of lines = %d, numlines); 29 }
57 The Flowgraph for COUNT g (a) Flowgraph til statement dækning j i a b c d e k h f L F F F 1 8 T T T 22 T F (b) Flowgraph til branch dækning
58 Statement Testdækning PATHS PROCESS LINKS TEST CASES a b c d e f g h i j k l INPUT OUTPUT ab None Usage: COUNT <filename> agc Invalid Input Filename Error Message aghd jkli aghd efli Input File with one character and no Carriage Return at the end of the line Input file with no characters and one carriage return Number of characters = 1 Number of lines = 0 Number of characters = 0 Number of lines = 1
59 Branch Testdækning PATHS DECISIONS TEST CASES INPUT OUTPUT ab T None Usage: COUNT <filename> agc F T Invalid Input Filename Error Message aghdjkli F F T, F F Input File with one character and no Carriage Return at the end of the line Number of characters = 1 Number of lines = 0 aghdefli F F T, F T Input file with no characters and one carriage return Number of characters = 0 Number of lines = 1
60 Effektivitet af path testing Ca. 65% af alle fejl kan fanges i forbindelse med modultest. Path testing metoder er væsentlige værktøjer til modultest. Statement og branch testing er de dominerende path testing metoder. Undersøgelser har vist, at path testing fanger 50% af alle de fejl der findes ved modultest ca. 35% af alle fejl. Path testing er mere effektiv for ustruktureret kodning Erfarne programmører kan springe over flow-graphs og vælge paths direkte fra koden.
61 Begrænsninger ved Path Testing Path testing kan ikke stå alene som test metode eftersom: Fejl i interfaces ikke fanges Ikke alle initialiseringsfejl fanges Specifikationsfejl fanges ikke Manglende funktionalitet
62 Opfølgning af dagens program Husk at: Hvis IKKE det er testet, så VIRKER DET IKKE!!! Test løbene og i forhold til V modellen Black box test Mest anvendt i forhold til accepttest Dokumenterer om input/output forhold er I overensstemmelse med det specificerede Bestemmelse af test input/input område yderst vigtigt White box test Path test: Formålet med path testing er at udføre et tilstrækkeligt antal tests til at sikre statement og branch dækning Find input data der tvinger programmet igennem den ønskede path (path sensitization) Check at programmet følger forventet path (path instrumentation) Sammenlign aktuelt og forventet output
63
Struktureret system udvikling Minimodul 1: Introduktion, UML og use cases
Struktureret system udvikling Minimodul 1: Introduktion, UML og use cases Rasmus L. Olsen, 27 februar 2008 Introduktion Kursets hjemmeside http://www.kom.aau.dk/~rlo/ Kursus holder Rasmus L. Olsen Færdiguddannet
Nye testteknikker fra ISTQB - direkte fra hylderne. Ole Chr. Hansen
Nye testteknikker fra ISTQB - direkte fra hylderne Ole Chr. Hansen TestExpo 29. Januar 2015 Præsentation Ole Chr. Hansen Managing Consultant Fellow SogetiLabs Global Innovation Team Blog - http://ochansen.blogspot.com
Flowchart og Nassi ShneidermanN Version. Et flowchart bruges til grafisk at tegne et forløb. Det kan fx være et programforløb for en microcontroller.
Flowchart Et flowchart bruges til grafisk at tegne et forløb. Det kan fx være et programforløb for en microcontroller. Et godt program til at tegne flowcharts med er, EDGE-Diagrammer, eller Smartdraw.
Accepttest Specifikation For. Gruppen
Accepttest Specifikation For Gruppen Indholdsfortegnelse 1. INDLEDNING...3 1.1 FORMÅL...3 1.2 REFERENCER...3 1.3 TESTENS OMFANG OG BEGRÆNSNINGER...3 2. TESTEMNER...3 2.1 CENTRAL ENHEDEN...3 2.2 ADGANGS
Plan for præsentationen
Rejsen på vej til Test Drevet Udvikling i Uddannelses- og Forskningsministeriet Præsenteret af Klaus Olsen Willy Kofoed kontorchef i Uddannelses- og Forskningsministeriet Kenneth B Andersen IT Minds På
Struktureret system udvikling Minimodul 2: Kravspecifikation og accepttest
Struktureret system udvikling Minimodul 2: Kravspecifikation og accepttest Rasmus L. Olsen, 27 februar 2008 Kursusoversigt og tidsplan Mm1: Introduktion til kursus, UML og use cases (13/2, 2008) Mm2: Kravspecifikation
Secure O matic. Gruppe 5 2. SEMESTERPROJEKT. Udgave. Accepttest-specifikation
Udgave 2 2. SEMESTERPROJEKT Gruppe 5 Secure O matic Accepttest-specifikation Benjamin Sørensen, 02284 Tomas Stæhr Hansen, 03539 Stefan Nielsen, 02829 Mubeen Ashraf, 9279 Hussein Kleit, 9281 SECURE O MATIC
FRA USECASE TIL TESTCASE HP TEST BRUGERKONFERENCE, 10. APRIL 2014
FRA USECASE TIL TESTCASE HP TEST BRUGERKONFERENCE, 10. APRIL 2014 LIDT OM MIG SELV Erfaring NIELS-HENRIK HANSEN 35+ års samlet IT erfaring 15+ år som test manager Certificeret Inspection Leader ISEB Foundation
Struktureret Test og Værktøjer Appendiks til bogen Struktureret Test
Struktureret Test og Værktøjer Appendiks til bogen Struktureret Test Struktureret Test og Værktøjer... 1 Appendiks til bogen Struktureret Test... 1 1. Definition og formål... 2 2. Kategorisering... 2 2.1
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
Processer og tråde. dopsys 1
Processer og tråde dopsys 1 Motivation.. parallelle processer udnytter hardwaren bedre: Batch operativsystemer (50 erne) hhv. små systemer: Multiprogrammering og time-sharing (fra 60 erne og frem): dopsys
Systematisk testning af program til udregning af mellemskat
Systematisk testning af program til udregning af mellemskat Indledning I denne opgave vil vi definere passende cases til systematisk black-box test af et program til beregning af mellemskat. Vi har valgt
Vurdering af kvalitet en note af Tove Zöga Larsen
Vurdering af kvalitet en note af Tove Zöga Larsen Kvalitet... 2 Test... 2 Hvordan finder man testdata?... 2 Dokumentation af test... 3 Review... 3 Vurderingskriterier... 3 Gennemførelsen af et review...
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
PUT og INPUT funktionerne
PUT og INPUT funktionerne Af: Peter Kellberg Danmarks Statistik Sejrøgade 11 DK-2100 København Ø [email protected] PUT og INPUT-funktionerne Denne artikel er foranlediget af en henvendelse til vores interne SAS
Fra Computer til Virkelighed. TPE-kursus Elektroniske Systemer P1
Fra Computer til Virkelighed TPE-kursus Elektroniske Systemer P1 Fra Computer til Virkelighed En kort introduktion til kurset Systems Engineering Projektfaser Opsamling og opgave Om kurset Mål: at I lærer
NetLogo-simuleringen. Simuleringer og fysiske modeller (henfaldsloven)
NetLogo-simuleringen Simuleringer og fysiske modeller (henfaldsloven) Hvad er en simulering? For at kunne arbejde med en simulering er der to vigtige elementer, man må have en grundlæggende forståelse
Introduktion til funktioner, moduler og scopes i Python
Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til funktioner, moduler og scopes i Python Denne artikel er fortsættelsen af "I gang med Python", som blevet publiceret her på sitet for
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
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 27. februar, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Boolsk algebra For IT studerende
Boolsk algebra For IT studerende Henrik Kressner Indholdsfortegnelse 1 Indledning...2 2 Logiske kredsløb...3 Eksempel:...3 Operatorer...4 NOT operatoren...4 AND operatoren...5 OR operatoren...6 XOR operatoren...7
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
University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 3
DM502 Forelæsning 3 Indlæsning fra tastatur Udskrift til skærm Repetition Beregning af middelværdi Gentagelse med stop-betingelse (while) Heltalsdivision Division med nul Type-casting ( (double) ) Betinget
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 13. marts, 2018 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Start på Arduino og programmering
Programmering for begyndere Brug af Arduino Start på Arduino og programmering EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1 Start på Arduino og programmering Sidste gang (Introduktion) Programmeringssproget
Spil Master Mind. Indledning.
side 1 af 16 Indledning. Spillet som denne rapport beskriver, indgår i et større program, der er lavet som projekt i valgfaget programmering C på HTX i perioden 9/11-98 til 12/1-99. Spillet skal give de
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 20. marts, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Multipel Linear Regression. Repetition Partiel F-test Modelsøgning Logistisk Regression
Multipel Linear Regression Repetition Partiel F-test Modelsøgning Logistisk Regression Test for en eller alle parametre I jagten på en god statistisk model har vi set på følgende to hypoteser og tilhørende
Boolsk algebra For IT studerende
Boolsk algebra For IT studerende Henrik Kressner Indholdsfortegnelse Indledning...3 Logiske kredsløb...4 Eksempel:...4 Operatorer...4 NOT operatoren...5 AND operatoren...5 OR operatoren...6 XOR operatoren...7
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
Struktureret system udvikling Minimodul 2: Kravspecifikation og accepttest
Struktureret system udvikling Minimodul 2: Kravspecifikation og accepttest Rasmus L. Olsen, 18 februar 2009 Kursusoversigt og tidsplan Mm1: Introduktion til kursus, UML og use cases (11 Februar, 2008)
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
DM536. Rapport og debug
DM536 Rapport og debug Kilder Vigtig.it (Felix Palludan Hargreaves) http://vigtig.it/dm502/howto_report.pdf http://vigtig.it/blog/teaching/#toc-relevant-tips Peter Schneider-Kamp http://imada.sdu.dk/~petersk/dm536/project2.pdf
Programmering C RTG - 3.3 09-02-2015
Indholdsfortegnelse Formål... 2 Opgave formulering... 2 Krav til dokumentation af programmer... 3 ASCII tabel... 4 Værktøjer... 5 Versioner af ASCII tabel... 6 v1.9... 6 Problemer og mangler... 6 v2.1...
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
Opgave: BOW Bowling. Rules of Bowling. danish. BOI 2015, dag 1. Tilgængelig hukommelse: 256 MB. 30.04.2015
Opgave: BOW Bowling danish BOI 0, dag. Tilgængelig hukommelse: 6 MB. 30.04.0 Byteasar er fan af både bowling og statistik. Han har nedskrevet resultaterne af et par tidligere bowling spil. Desværre er
Enigma. Et programmeringssprog. Forfatter: Niels Serup X. Y Vejleder: A B C. Fag: Programmering Uddannelsessted: N M
Enigma Et programmeringssprog Forfatter: Niels Serup X. Y Vejleder: A B C Fag: Programmering Uddannelsessted: N M 25. maj 2010 Indholdsfortegnelse Indledning 3 Sproget 3 Syntax.............................................
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 20. april, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
3. PROJEKT, 2 SEMESTER
3. PROJEKT, 2 SEMESTER Bruger undersøgelse, af sociale medie. KENDSKAB TIL OG BRUG AF ONLINE SOCIALE MEDIER FORENINGEN AF DANSKE INTERAKTIVE MEDIER, FÅET TIL OPGAVE AT AFDÆKKE DANSKERNES BRUG AF SOCIALE
DATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004
Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen torsdag den 3. juni 2004 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver opgaves besvarelse bedømmes
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 29. februar, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Design by Contract. Design and Programming by Contract. Oversigt. Prædikater
Design by Contract Design and Programming by Contract Anne Haxthausen [email protected] Informatics and Mathematical Modelling Technical University of Denmark Design by Contract er en teknik til at specificere
DM13-1. Obligatoriske Opgave - Kredsløbs design
DM13-1. Obligatoriske Opgave - Kredsløbs design Jacob Christiansen [email protected] Institut for MAtematik og DAtalogi, Syddansk Universitet, Odense 1. Opgaven Opgaven består i at designe et kredsløb,
vil jeg blive mindet om det af VBA allerede mens jeg skriver koden, da der er tale om en såkaldt kompileringsfejl:
Fejlhåndtering Selv de bedste programmører laver af og til fejl! Dette kommer sikkert som en overraskelse for de fleste, bortset fra de, der har arbejdet med et hvilket som helst større program. Fejl kan
dfgfdhsjfgdghjghfkfhgkfhjsrt Test som praktisk håndværksdisciplin Sara Stürup Willer
dfgfdhsjfgdghjghfkfhgkfhjsrt Test som praktisk håndværksdisciplin Sara Stürup Willer Agenda Præsentation af Sara Stürup Willer og Kamstrup Test begreber Testerens mange roller Test typer Test aktiviteter
Lær Python dag 1 - modul 1
Lær Python dag 1 - modul 1 Introduktion, basis python Steffen Berg Klenow Jonas Bamse Andersen Syddansk Universitet Indhold 1. Velkommen 2. Programmering i python 3. Typer, variabler og udtryk 1 Velkommen
Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen
Programmering Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Oversigt Undervisningen Hvad er programmering Hvordan er et program organiseret? Programmering og fysik Nobelprisen
Programmering C Eksamensprojekt. Lavet af Suayb Köse & Nikolaj Egholk Jakobsen
Programmering C Eksamensprojekt Lavet af Suayb Köse & Nikolaj Egholk Jakobsen Indledning Analyse Læring er en svær størrelse. Der er hele tiden fokus fra politikerne på, hvordan de danske skoleelever kan
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2017 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 6. april, 2017 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version
Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Finn Nordbjerg 1/9 Indledning I det følgende introduceres et par abstrakte
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
Program Dokumentation PC Software Skrevet af. Gruppen. Version 1.0
Program Dokumentation PC Software Skrevet af Gruppen. Version 1.0 Indholds fortegnelse 1. INDLEDNING...3 1.1. FORMÅL...3 1.2. REFERENCER...3 1.3. VERSIONSHISTORIE...3 1.4. DEFINITIONER...3 1.5. DOKUMENTATIONENS
KNX løsninger til. Erhvervsbygninger. KNX Automatisk dagslysregulering med foldedørsstyring og manuel dæmp
KNX løsninger til Erhvervsbygninger KNX Automatisk dagslysregulering og manuel dæmp Tekniske specifikationer Funktioner KNX Automatisk dagslysregulering Styringen tager udgangspunkt i et stort lokale (A
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2012 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 15. marts, 2012 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Danmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den. maj 00. Kursusnavn Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne: Opgave
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
SPØRGERAMME. til dialogen mellem mødeplanlægger og kunde
SPØRGERAMME til dialogen mellem mødeplanlægger og kunde INTRODUKTION I din organisation er det sandsynligt, at I allerede har spørgerammer eller protokoller som I følger, når I har en dialog med kunden,
Noter til C# Programmering Iteration
Noter til C# Programmering Iteration Programflow Programmer udfører det meste af deres arbejde vha. forgrening og løkker. Løkker Mange programmeringsproblemer kan løses ved at gentage en handling på de
Indholdsfortegnelse. Indledning...2. Tidsplan...2. Målgruppe...3. Spørgeskema...3. Kode eksempler...5. Procesbeskrivelse...7. Evaluering...
1 Indholdsfortegnelse Indledning...2 Tidsplan...2 Målgruppe...3 Spørgeskema...3 Kode eksempler...5 Procesbeskrivelse...7 Evaluering...8 Bilag - Spørgeskema...9 Indledning - Jeg har som skoleprojekt fået
Visual Studio Team System. Team Build en grundpille i søgen efter it-projektproduktivitet?
Visual Studio Team System Team Build en grundpille i søgen efter it-projektproduktivitet? Agenda: Introduktion Hvorfor Automatiseret Build Microsoft Team Build Rapportering/Data warehouse Commentor A/S
Standardisering af PLC Programmering. SESAM Præsentation 2. November 2016
Standardisering af PLC Programmering SESAM Præsentation 2. November 2016 1 Agenda Introduktion TC Skjern Historien bag standardisering Hvad indeholder standarden? Struktureret Tekst programmering Uddannelse
Danmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning
Bevisteknikker. Bevisteknikker (relevant både ved design og verifikation) Matematisk induktion. Matematisk induktion uformel beskrivelse
Bevisteknikker Bevisteknikker (relevant både ved design og verifikation) Bevisførelse ved modstrid (indirekte bevis) Antag, at det givne teorem er falsk Konkluder, at dette vil føre til en modstrid Teorem:
Agil test tilgang - erfaringer fra projekter
Agil test tilgang - erfaringer fra projekter af Michael Roar Borlund November 2011 Image Area Agenda Introduktion Agil test Fremtidsvision Agil test tilgang Agil opbygning i QC Resumé og Spørgsmål 2 Introduktion
Flowchart og Nassi ShneidermanN Version. Et flowchart bruges til grafisk at beskrive et forløb. Det kan fx være en microcontrollers programafvikling.
Flowchart Et flowchart bruges til grafisk at beskrive et forløb. Det kan fx være en microcontrollers programafvikling. Der findes nogle gode programmer til at tegne flowcharts med, men de skal købes. Fx
Forberedelse og planlægning af GMP Audit
Forberedelse og planlægning af GMP Audit Juli, 2014 Indledning I de kommende sider får du nogle hurtige tips og råd til din forberedelse og planlægning af en GMP audit. Dette er ikke en komplet og grundig
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 10. april, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Tekniske krav til spiludbydere i forbindelse med opnåelse af tilladelse til at udbyde online spil i Danmark
Tekniske krav til spiludbydere i forbindelse med opnåelse af tilladelse til at udbyde online spil i Danmark Version 1.10 Versionshistorik Version Dato Opsummerende beskrivelse af ændringer 1.00 2010-10-5
Systemkald DM14. 1. Obligatoriske opgave. Antal sider: 7 inkl. 2 bilag Afleveret: d. 18/3-2004 Afleveret af: Jacob Christiansen, 130282-2111
DM14 1. Obligatoriske opgave Systemkald Antal sider: 7 inkl. 2 bilag Afleveret: d. 18/3-2004 Afleveret af: Jacob Christiansen, 130282-2111 Side 1 af 5 Intro: Formålet med opgaven at et lave en system kald
Danmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning
Hent filoplysninger fra billeder og filer
Hent filoplysninger fra billeder og filer I denne vejledning bliver det gennemgået, hvordan man via Power Forespørgsel kan hente filoplysninger fra en mappe ind i Excel. Der skal opbygges følgende elementer:
Klasse 1.4 Michael Jokil 03-05-2010
HTX I ROSKILDE Afsluttende opgave Kommunikation og IT Klasse 1.4 Michael Jokil 03-05-2010 Indholdsfortegnelse Indledning... 3 Formål... 3 Planlægning... 4 Kommunikationsplan... 4 Kanylemodellen... 4 Teknisk
Knowledge Cube Nyhedsbrev
Knowledge Cube Nyhedsbrev Vi er godt i gang med udrulningen af CatMan Solution version 3, og det er dejligt at opleve, at brugen af CatMan Solution breder sig ud til flere funktioner hos vores kunder.
