Visa utbildning.se som: Mobil

Vi gör just nu en uppföljande undersökning gällande hur COVID-19 har påverkat och fortsätter att påverka hur och om du väljer att gå en utbildning. Vi är så tacksamma om du vill svara på våra frågor. Gå till undersökningen.

Modern TDD in Java

Informator
Kort om utbildningen
2 dagar
20 450 SEK Momsfri
Nästa tillfälle: Efter överenskommelse - Distans
Onlineutbildning
   
Distans

Kursbeskrivning


Test-Driven Development (TDD) puts testing at the heart of the development process. Instead of testing being a boring, time-compressed flurry of bug hunting that follows on from implementation, TDD sees us use tests to drive and support the implementation process itself. Applied correctly, TDD may lead to better designed, less buggy software that developers are confident to evolve and extend as new requirements arrive.
It sounds great, but the devil is, as always, in the details: How do we write automated tests? Why is it a good idea to let the tests drive the development? Where do we find the time to test?
Developed by Edument's leading teachers and developers, this course draws on a wealth of real world experiences to show you how to apply TDD. Of course, we'll take you carefully through the practicalities of writing unit tests - but it doesn't stop there. We'll show how tests can aid the design process, how to get more value out of tests, and discuss the properties of good tests as well as pointing out various pitfalls to avoid.
A mix of pertinent theory and demonstrations show the way, and the course labs provide a chance for you to try things out for yourself!

Dag 1
Straight To The Action: A TDD Spoiler

Opening demonstration of using TDD to add a new feature to a system
Dissecting the demo: test first, red/green/refactor, regression avoidance

Stepping Back: The Big Picture

Traditional views of testing, and why they're suboptimal
What makes TDD different?
Why red/green/refactor?
Why not red/green/refactor?
Types of test

Baby Steps: Basic Unit Testing

What is JUnit?
Getting JUnit
Test fixtures and tests
Assertions
The "System Under Test" pattern
The "Arrange, Act, Assert" pattern
Exercise on writing basic unit tests

Growing Up: Better Unit Test Design and Implementation

Factoring out boilerplate with Setup methods
Considering happy and sad paths
Errors give you next steps just like successes do
Testing for exceptions
Tell, Don't Ask: Avoiding state inspection
Test method granularity
Anti-patterns to avoid
Testing kata
Other test runners
The Law of Demeter: Focus on the SUT
Exercise on writing better unit tests

Refactoring

What refactoring really is
Refactor mercilessly
You Ain't Gonna Need It
Once And Only Once
Single Responsibility Principle
Feature Envy
Exercise on refactoring

Dag 2
Coping With Dependencies: Mocking, Stubbing and DI

Why dependencies make testing harder
The problem with new
The Dependency Inversion solution
Refactoring to DI
Stubs vs. mocks
Stubbing by hand
Exercise on dependency injection and stubbing

Oh, The Mockery: Mock/Stub Object Frameworks

Why consider a mock/stub object framework?
Some of the options
Stub objects with EasyMock
Mock objects with EasyMock
Exercise on using EasyMock

Environmental Issues: Time, UIs, Databases, oh my...

Taking control of time
Presentation patterns for testable UIs
Coping with data access

Higher Order Programming and Testing: IoC without the DI

Why Inversion of Control is the really interesting thing here
A quick lambda refresher
Lambda injection
Exercise on lambda injection

Functional Influences: Referentially Transparent Business Logic

What is referential transparency?
Why is it so desirable when doing automated testing?
Behavioural testing and BDD
A command/event/aggregate factoring with behavioural tests
Exercise on referentially transparent business logic

Where To Put It: Test Organization

Solution structure
Unit tests and integration tests
Organization by system under test
Organization by specification

A testing mentality: Fitting tests into the process puzzle

Continuous Integration
Test Coverage Analysis
Commit early and often
Continous Testing
Continuous review
Frequent releases

Hur påverkar COVID-19 denna utbildning?

Vi på utbildning.se är övertygade om att kunskap driver människor och organisationer framåt. Det gör även de arrangörer vi samarbetar med.
Många utbildningar ställs exempelvis om från klassrums- till distansutbildning.

För att ta reda på om en utbildning påverkas med anledning av COVID-19, kontakta gärna arrangören.

Intresseanmälan

Fyll i formuläret för att få mer information om Modern TDD in Java, direkt från arrangören. Det är gratis och inte bindande!

Informator

Informator

Utbildningsutbud

Informator är utbildningsföretaget som stärker din konkurrenskraft genom att underhålla, uppdatera och tillföra relevant kunskap inom IT och management där och när du behöver det. Vi har vuxit tillsammans med svensk mjukvaruindustris ledande företag och utbildat utvecklare, tekniker, projektledare och chefer sedan...


Läs mer om Informator och visa alla utbildningar.

Kontaktuppgifter

Informator

Karlavägen 108
115 26 Stockholm

 Visa telefonnummer

Recensioner
Kursrecensioner
Bli den första att recensera Modern TDD in Java!

Arrangörsrecensioner
(4,5)
Baseras på 712 recensioner.
Alla recensioner för arrangören

Liknande utbildningar