Junior
Czy znasz jakieś rodzaje testów?
sobes.tech AI
Odpowiedź od AI
Tak, wiem.
Główne typy testów:
-
Testy funkcjonalne:
- Testy dymne (Smoke Testing)
- Testy sanity (Sanity Testing)
- Testy integracyjne (Integration Testing)
- Testy systemowe (System Testing)
- Testy regresji (Regression Testing)
- Testy akceptacyjne (Acceptance Testing) - obejmujące testy alfa i beta.
-
Testy niefunkcjonalne:
- Testy wydajnościowe (Performance Testing) - obejmujące testy obciążeniowe, stresowe i wolumenowe.
- Testy bezpieczeństwa (Security Testing)
- Testy użyteczności (Usability Testing)
- Testy kompatybilności (Compatibility Testing)
- Testy niezawodności (Reliability Testing)
- Testy dostępności (Accessibility Testing)
- Testy lokalizacji (Localization Testing)
- Testy internacjonalizacji (Internationalization Testing)
-
Testy związane ze zmianami:
- Testy dymne (Smoke Testing)
- Testy regresji (Regression Testing)
-
Testy strukturalne (oparte na kodzie):
- Testy jednostkowe (Unit Testing)
- Testy białej skrzynki (White Box Testing)
-
Testy oparte na doświadczeniu:
- Testy eksploracyjne (Exploratory Testing)
- Testy oparte na listach kontrolnych (Checklist-based Testing)
- Testy scenariuszowe (Scenario-based Testing)
Przykłady zastosowania niektórych typów:
| Typ testu | Krótki opis | Kiedy stosować? |
|---|---|---|
| Test dymny | Sprawdzenie podstawowych funkcji po zbudowaniu lub wdrożeniu. | Każda nowa kompilacja. |
| Test regresji | Sprawdzenie, czy zmiany nie wprowadziły nowych błędów w istniejącej funkcjonalności. | Po każdej zmianie lub naprawie błędów. |
| Test obciążeniowy | Sprawdzenie zachowania systemu pod oczekiwanym obciążeniem. | Przed uruchomieniem w produkcji, przy zmianach architektury. |
| Test jednostkowy | Testowanie poszczególnych komponentów lub modułów kodu. | Na etapie rozwoju, przez programistów. |
W automatyzacji testów najczęściej automatyzujemy testy regresji, testy integracyjne i czasami testy wydajności i bezpieczeństwa.
// Przykład testów jednostkowych (JUnit)
public class Calculator {
public int add(int a, int b) {
return a + b;
}
}
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
class CalculatorTest {
@Test
void testAdd() {
Calculator calculator = new Calculator();
assertEquals(5, calculator.add(2, 3), "Dodawanie 2 i 3 powinno dać 5");
}
}
# Przykład testu Selenium Webdriver (Python)
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.google.com")
print(driver.title)
driver.quit()