Test Driven Development, TDD i .NET



Kursusmål

Efter kurset vil du have den fornødne viden og værktøjer til at begynde og bruge TDD i dit daglige arbejde.

Kurset henvender sig til

Kurset henvender sig til personer der til dagligt arbejder med .NET udvikling og gerne vil opnå viden inden for unit testing og test driven development samt beherske de metoder der skal til for at bruge disse teknikker i den virkelige verden.

Forudsætninger


Kursusindhold

Dag 1 : 

Vi hopper lige ud i det - TDD FTW!

  • En TDD Demo
  • Gennemgang af demoen

Et overblik over TDD og alternativerne

  • Traditionel testing og hvorfor TDD er en god ide
  • Hvad gør TDD anderledes?
  • Hvorfor red, green & refactor?
  • Der findes forskellige typer af test - her får du en gennemgang af flere af dem
  • Specifikation kontra implementering

Basal Unit Testing

  • Byggeklodserne i et test framework
  • Unit Testing frameworks
  • System Under Test pattern
  • Arrange, Act, Assert pattern
  • Øvelse i at skrive basale unit test
    • Fixtures
    • Tests
    • Assertions
    • NUnit
    • XUnit
    • MSTest

Bedre Unit Test Design og implementering

  • Udfasning af boilerplate med Setup metoderne
  • Gode og drålige veje at vælge og overvejelserne herom
  • Du lærer lige så meget af fejl som du gør af successer
  • Vi tester for at finde undtagelserne med MSTestExtensions
  • Tell, Don't Ask: Sådan undgår du "state inspection"
  • Testmetodens granularitet
  • Disse anti-patterns vil du gerne undgå
  • Test af kata
  • Eksempler på andre testværktøjer Resharper kontra Visual Studio f.eks.
  • En øvelse i at skrive langt bedre unit tests

Pro Unit Testing

  • TestMothers
  • Builders
  • AutoFixture
  • Datadrevne test
  • Smart Unit test (Pex)
  • En øvelse i at skrive totzalt PRO unit test

Test af og i organisationen

  • Solution structure
  • Unit tests og integration test
  • Organization pr system under test
  • Organization pr specification

 

Dag 2 : 

Legacy kode

  • Nå, hvor starter vi?
  • Feasibility matrix
  • Er det det hele værd?
  • Vi går i gang
    • Integrationstest
    • Refactoring
    • Unit Testing

Refactoring og hvad det går ud på

  • Hvad er refactoring i virkeligheden?
  • Refactor uden nåde
  • SOLID
  • Brugbare Refactoring Patterns
  • Lidt om Extract Interfacet
  • Extract og Override
  • Lambda Injection
  • Adapt Parameter
  • Static Setter
  • Instance Delegator
  • InternalsVisibleTo

Dependencies inversion, Stubbing og DI

  • Derfor gør dependencies test sværere
  • Løsningen på Dependency Inversion
  • Refactoring til DI
  • Stubs kontra mocks
  • Stubbing Hands-On
  • En øvelse i Dependency injection og Stubbing

Mock & Stub Object Frameworks

  • Hvorfor overhovedet overveje et mock/stub framework?
  • Her er nogle af valgmulighederne
  • Mockobjekter med Moq
  • En øvelse hvor vi benytter Moq

Tid, User Interfaces, Databaser med meget mere...

  • Få styr på tiden
  • Præsentations-patterns for testbare User Interfaces
  • Kopiering med data access

Referentially Transparency

  • Hvad er referential transparency?
  • ...Og hvorfor er det så populært ved automatiserede test?
  • Behavioural test og BDD
  • En øvelse med referentially transparent forretnings-logik

Test i dagligdagens udviklingsmiljø

  • Vedvarende integration
  • Test Coverage Analysis
  • Vedvarende test
  • Vedvarende review
  • Hyppige releases

Kursusdato


Praktiske oplysninger

Pris: kr. 11.995,- (ex. moms)
Varighed: 2 dage
Er I flere fra samme virksomhed, som skal på kursus? Så kan der være penge at spare med et virksomhedskursus

Læs mere om virksomhedskurser her

Andre populære kurser


Aktuelt

KURSUS NYHEDER
Nyt Machine Learning kursus
Brug data til at estimere, hvad der vil ske i fremtiden. Hvem der misbruger deres beføjelser eller hvilke kunder, der har størst risiko for at opsige deres aftale? Du lærer at bringe data til live og herigennem træffe bedre beslutninger. 
Vil du vide mere, eller tilmelde dig, klikker du her

DevOps kursus - praktisk forløb
Udvikler og vedligeholder du apps eller Cloud-baserede services? Ønsker du højere kvalitet, hurtigere releases og mere effektiv udvikling? Så er dette kursus noget for dig.
Vil du vide mere, eller tilmelde dig, klikker du her


Hørkær 18
2730 Herlev
Tlf: 77 300 123
Email: kursus@idg.dk
CVR: 65970414