Sobes.tech
Middle

Jak przeprowadzane jest testowanie części backend aplikacji?

sobes.tech AI

Odpowiedź od AI

Testy backend obejmują:

  1. Testowanie API:

    • Sprawdzanie funkcjonalności endpointów (operacje CRUD, logika biznesowa).
    • Walidacja żądań i odpowiedzi (struktura, typy danych, zakresy wartości).
    • Testy autoryzacji i uwierzytelniania.
    • Sprawdzanie obsługi błędów i wyjątków.
    • Użycie narzędzi takich jak Postman, Swagger, cURL.
  2. Testowanie bazy danych:

    • Sprawdzanie poprawności przechowywania i odczytu danych.
    • Testy schematów danych, ograniczeń integralności.
    • Sprawdzanie transakcyjności operacji.
    • Testy wydajności zapytań.
    • Użycie narzędzi klienckich baz danych (SQL Developer, pgAdmin, DBeaver).
  3. Testy integracji:

    • Sprawdzanie współdziałania backendu z innymi usługami, systemami (bramki płatności, API stron trzecich).
    • Testy wymiany danych, formatów (JSON, XML).
    • Sprawdzanie obsługi błędów podczas interakcji.
  4. Testy wydajności:

    • Testy obciążeniowe - ocena zachowania przy oczekiwanym obciążeniu.
    • Testy przeciążeniowe - określenie punktu awarii.
    • Testy stabilności/długości (soak testing) - wykrywanie wycieków pamięci i degradacji wydajności.
    • Użycie narzędzi takich jak JMeter, Gatling, Locust.
  5. Testy bezpieczeństwa:

    • Sprawdzanie pod kątem OWASP Top 10 (Injection, Broken Authentication, Sensitive Data Exposure itp.).
    • Testy podatności z użyciem skanerów (OWASP ZAP, Burp Suite).
    • Sprawdzanie uprawnień i ról.
  6. Testy jednostkowe i integracyjne (programiści):

    • Testy jednostkowe obejmują poszczególne moduły/funkcje.
    • Testy integracyjne sprawdzają współdziałanie modułów.

Do automatyzacji używa się frameworków:

  • Java: Rest Assured, JUnit, TestNG.
  • Python: Requests, Pytest, Django Test Client, Flask Test Client.
  • JavaScript (Node.js): Jest, Mocha, Supertest.