Framework
Broker
Test Doubles
Design Patterns
TDD
100

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. 

100

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

100

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

100

Hvad bruges Strategy pattern til?

Strategy pattern bruges man vil have en fleksibel måde at håndtere variabilitet på.

100

Nævn TDD Rytmen

1. Skriv test

2. Se den fejle

3. lav en lille ændring

4. Se testen virker

5. Refactor


200

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..

200

Hvad er IPC? 

Inter Process Communication <-> En måde at kommunikere over et netværk (E.g. HTTP, Socket, FTP)

200

Hvad er Direct / indirect output?

Direct: vi kan asserte på return værdierne. Indirect: Outputtet kan ikke provides i koden

200

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

200

Hvad er princippet one step test?

Vælg en test der lærer dig noget og du ved du kan implementere

300

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.

300

Hvad er NameService?

Fungerer som et register, hvorfra vi kan hente objekter baseret på et genereret ID, for at tillade PASS by reference

300

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

300

Tegn et UML diagram for observer pattern

du grim
300

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  

400

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)

400

Hvad gør Client- / ServerRequestHandler?

Ansvarlig for at transmittere, modtage og besvare med et byte array til en bestemt IP adresse

400
Hvad er en Mock?

A spy with a fail fast property. Framework exists that test code can ‘program’ mocks without every
coding them in the native language

400

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.

400

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)

500

Nævn de 5 Karakteristikker for et framework. 

Karakteristik (Skeleton) 

Karakteristik (Application) 

Karakteristik (Coorporating) 

Karakteristik (Customize) 

Karakteristik (Implementation)

500

Hvad er REST?

Skalerbart reliable Client-server arkitektur pattern. Server er stateless. Og brugt oftere.

500

Nævn de 4 test doubles

Test Stub, Test Spy, Mock og Fake

500

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

500

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.