Junior
Jakie rodzaje testów stosowałeś w swoich projektach?
sobes.tech AI
Odpowiedź od AI
Stosował następujące rodzaje testów:
Testy funkcjonalne:
- Testy jednostkowe: Często pisał lub przeglądał testy w ramach zadań rozwojowych, szczególnie gdy zespoły stosowały TDD.
- Testy integracyjne: Testował interakcję między modułami, usługami, bazami danych.
- Testy systemowe: Testował system jako całość, sprawdzając zgodność z wymaganiami.
- Testy akceptacyjne: Wspólnie z analitykami biznesowymi lub klientami sprawdzał, czy produkt spełnia oczekiwania.
Testy niefunkcjonalne:
- Testy obciążeniowe: Sprawdzał wydajność systemu przy różnych poziomach obciążenia, używając narzędzi takich jak JMeter, LoadRunner.
- Testy stresowe: Określał odporność systemu na ekstremalne obciążenia.
- Testy stabilności (Endurance testing): Długotrwałe testy mające na celu wykrycie problemów związanych z wyciekami pamięci lub degradacją wydajności z czasem.
- Testy bezpieczeństwa: Przeprowadzał analizę statyczną i dynamiczną kodu, fuzz testing, ręczne testy na podatności XSS, SQL Injection i inne.
- Testy użyteczności: Analizował, jak intuicyjny i wygodny jest interfejs dla końcowego użytkownika.
- Testy kompatybilności: Sprawdzał działanie aplikacji w różnych środowiskach (przeglądarki, systemy operacyjne, urządzenia).
Testy zmian:
- Testy regresji: Sprawdzał, czy nowe zmiany nie zakłóciły istniejącej funkcjonalności. Automatyzacja tego typu testów była priorytetem.
- Testy dymne (Sanity check / Smoke testing): Szybkie testy podstawowych funkcji po zbudowaniu lub wdrożeniu.
Testy oparte na podejściu strukturalnym (White-box):
- Pokrycie testami (Coverage testing): Analizował pokrycie kodu testami (statement, branch, path coverage), aby zidentyfikować luki.
W zależności od projektu i jego specyfiki, stosowano także inne rodzaje testów, np. testy A/B w ramach analizy produktu. Głównym celem było zautomatyzowanie testów regresji i integracyjnych, aby utrzymać wysoką jakość produktu przez cały cykl życia.