Testowanie TDD

Testowanie TDD to podejście do tworzenia oprogramowania, w którym testy powstają przed implementacją funkcjonalności. Bywa łączone z automatyzacją testów, projektowaniem modułowego kodu oraz weryfikacją logiki aplikacji.

Testy TDD i jednostkowe

Testowanie TDD opiera się na szybkim sprawdzaniu małych fragmentów kodu po każdej zmianie.

  • Testy uruchamiane w TDD powinny wykonywać się w czasie krótszym niż sekunda, aby szybko dostarczać informacji zwrotnej.
  • Testy jednostkowe nie mogą korzystać z operacji wejścia-wyjścia, takich jak dostęp do plików, sieci czy bazy danych.

Testy BDD

Testy BDD opisują zachowanie aplikacji z perspektywy jej działania i wymagań biznesowych.

  • Mogą służyć jako dokumentacja działania aplikacji.
  • Mogą tworzyć listę zmian wprowadzonych w aplikacji.
  • Pomagają zweryfikować prawidłowość logiki biznesowej.

Automatyzacja testowania

Automatyzacja testowania pozwala szybciej sprawdzać zachowanie aplikacji po wprowadzonych zmianach.

  • Testy automatyczne mogą pomóc w przepisaniu mikroserwisu, ponieważ ułatwiają kontrolowanie, czy jego dotychczasowe zachowanie pozostaje zachowane.

Modułowość i refaktoryzacja

Modułowe podejście w TDD porządkuje rozwój oprogramowania i ułatwia bezpieczne wprowadzanie zmian.

  • Dodanie nowej funkcjonalności jako osobnego modułu może zmniejszyć ryzyko regresji.
  • Podział funkcjonalności na osobne moduły może również pomóc zmniejszyć obciążenie poznawcze podczas pracy nad kodem.

Diagnostyka aplikacji

Diagnostyka aplikacji pomaga szybciej rozpoznawać błędy i ustalać ich przyczyny, zwłaszcza gdy pojawiają się w środowisku produkcyjnym.

  • Logi aplikacji mogą ułatwiać rozwiązywanie problemów na produkcji.
  • W kodzie asynchronicznym Promise.all może prowadzić do wystąpienia Unhandled Promise Rejection.

Twierdzenia w tym opracowaniu