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.allmoże prowadzić do wystąpienia Unhandled Promise Rejection.
Twierdzenia w tym opracowaniu
- Aby wykonywać TDD testy powinny wykonywać się w mniej niż sekundę1 źródło
- Testy jednostkowe nie mogą używać I/O1 źródło
- Testy BDD mogą służyć jako dokumentacja działania aplikacji1 źródło
- Testy BDD mogą służyć jako lista zmian w aplikacji1 źródło
- Testy BDD mogą pomóc zweryfikować prawidłowość logiki biznesowej1 źródło
- Testy automatyczne mogą pomóc przepisać mikroserwis1 źródło
- Dodanie nowej funkcjonalności jako osobnego modułu może zmniejszyć ryzyko regresji1 źródło
- Dodanie nowej funkcjonalności jako osobne moduły może pomóc zmniejszyć obciążenie poznawcze1 źródło
- Logi aplikacji mogą pomóc rozwiązywać problemy na produkcji1 źródło
- Promise.all może powodować Unhandled Promise Rejection1 źródło