Hvad er Frozen og Hot spots?
Hot spots = Variabilitetspunkter eller hook metoder
Frozen spots = Fixed code. En del af frameworket som ikke må ændres i, og som definerer det grundlæggende design og objekt protokoller.
Hvad er Marshalling / Demarshalling?
At transformere et objekt om til et byte-array eller omvendt. Et byte-array kan f.eks. være et JSON objekt
Hvad er Direct / indirect input
Direct: input provided directly by the testing code, that affects the behavior of the UUT.
Indirect: kan ikke provides direkte i testing koden
Hvad bruges Strategy pattern til?
Strategy pattern bruges man vil have en fleksibel måde at håndtere variabilitet på.
Nævn TDD Rytmen
2. Se den fejle
3. lav en lille ændring
4. Se testen virker
5. Refactor
Hvad er Unification & Seperation
Template og hook metoder ligger i samme klasse.
Template metode ligger i en klasse, hook metoder er defineret af en eller flere interfaces..
Hvad er IPC?
Inter Process Communication <-> En måde at kommunikere over et netværk (E.g. HTTP, Socket, FTP)
Hvad er Direct / indirect output?
Direct: vi kan asserte på return værdierne. Indirect: Outputtet kan ikke provides i koden
Hvad er facade pattern?
Opretter isolation mellem systemets forskellige parter. Tilgang til de forskellige dele tilgås gennem facaden. Der findes read-only med udelukkende get-metoder og opaque facade, der kun benytter primitive returtyper
Hvad er princippet one step test?
Vælg en test der lærer dig noget og du ved du kan implementere
Hvad er Inversion of Control?
Framework koden kan kalde ned i de tilføjede hotspots, men de kan ikke kalde op. Hollywood principle, "dont call us, we call you". Frameworket styrer protokollen og flowet, den tilføjede kode skal bare adlyde.
Hvad er NameService?
Fungerer som et register, hvorfra vi kan hente objekter baseret på et genereret ID, for at tillade PASS by reference
Hvad er Integration Test?
Integration testing is the process of executing a software unti in collaboration with other units in order to find defects in their interactions
Tegn et UML diagram for observer pattern
Hvad er Isolated test og triangulation?
Isolated test: Tests skal være uafhængige af hinanden
Triangulation: Kommer ofte efter fake it - Opnå generalitet ved at have to eller flere eksempler
Hvad er Dependency injection?
Frameworks må ikke selv instansiere objekter der defineres ud fra hotspots. De skal instansieres i applikationskode og injectes ind i frameworket. (Factory)
Hvad gør Client- / ServerRequestHandler?
Ansvarlig for at transmittere, modtage og besvare med et byte array til en bestemt IP adresse
A spy with a fail fast property. Framework exists that test code can ‘program’ mocks without every
coding them in the native language
Hvad er Model View Controller pattern?
Model-View-Controller (fork. MVC) er et design mønster anvendt i programmering til at adskille Modellen (database eller anden data-kilde), Controlleren (logikken) og Viewet (de visuelle elementer) på en måde, så de enkelte dele bliver mere overskuelige og gør det nemmere at vedligeholde kildekoden.
Hvad er de 4 værdier?
Hold fokus, tag små skridt, hold det simpelt og speed (Det går langsomt, men kvaliteten er høj)
Nævn de 5 Karakteristikker for et framework.
Karakteristik (Skeleton)
Karakteristik (Application)
Karakteristik (Coorporating)
Karakteristik (Customize)
Karakteristik (Implementation)
Hvad er REST?
Skalerbart reliable Client-server arkitektur pattern. Server er stateless. Og brugt oftere.
Nævn de 4 test doubles
Test Stub, Test Spy, Mock og Fake
Definer Behaviour, Responsibility, Roles, Protocol.
Behaviour: Hvilken opførsel har klassen.
Responsibility: Hvad er dens ansvarsområde.
Roles: Hvilken rolle spiller den i systemet.
Protocol: Hvilken sekvens igangsættes ved de forskellige metodekald
Nævn alle principper :)
Test First, Test list, One Step Test, Isolated Test, Evident Test, Fake it, Triangulation, Assert First, Break, Evident Data, Obvious implementation, Representative data, Automated test, Test Data, Child Test, Do Over, Regression Test.