Sigma Casino

PROJEKT TESTÓW

Testy jednostkowe (Unit Tests)

Testy jednostkowe sprawdzają poszczególne metody i klasy w izolacji. W kontekście naszego kasyna, można wyróżnić następujące testy jednostkowe:

  1. Testy walidacji danych wejściowych:

    • Sprawdzenie poprawności walidacji adresu e-mail.
    • Sprawdzenie poprawności walidacji długości hasła.
    • Sprawdzenie poprawności walidacji długości nazwy użytkownika.
  2. Testy metod pomocniczych:

    • Testowanie metody hashPassword w celu sprawdzenia poprawności generowania hasha.
    • Testowanie metody generateSalt w celu sprawdzenia poprawności generowania soli (ciągu zaburzającego).
  3. Testy logowania i rejestracji:

    • Testowanie metod odpowiedzialnych za logowanie użytkownika.
    • Testowanie metod odpowiedzialnych za rejestrację użytkownika.
    • Testowanie metod odpowiedzialnych za resetowanie hasła.

Przykłady tego typu testów można znaleźć w naszym repozytorium.

Testy integracyjne (Integration Tests)

Testy integracyjne sprawdzają współdziałanie różnych modułów systemu. W kontekście naszego kasyna, można wyróżnić następujące testy integracyjne:

  1. Testy integracji z bazą danych:

    • Sprawdzenie poprawności zapisu nowego użytkownika do bazy danych.
    • Sprawdzenie poprawności odczytu danych użytkownika z bazy danych.
    • Sprawdzenie poprawności aktualizacji hasła użytkownika w bazie danych.
  2. Testy integracji z sesjami użytkowników:

    • Sprawdzenie poprawności tworzenia sesji po zalogowaniu użytkownika.
    • Sprawdzenie poprawności usuwania sesji po wylogowaniu użytkownika.

Testy funkcjonalne (Functional Tests)

Testy funkcjonalne sprawdzają, czy system działa zgodnie z wymaganiami. W kontekście naszego kasyna, można wyróżnić następujące testy funkcjonalne:

  1. Testy formularzy:

    • Sprawdzenie poprawności działania formularza rejestracji.
    • Sprawdzenie poprawności działania formularza logowania.
    • Sprawdzenie poprawności działania formularza resetowania hasła.
  2. Testy powiadomień:

    • Sprawdzenie poprawności wyświetlania powiadomień o błędach (np. niepoprawne dane logowania).
    • Sprawdzenie poprawności wyświetlania powiadomień o sukcesie (np. pomyślna rejestracja).

Testy end-to-end (E2E Tests)

Testy end-to-end sprawdzają cały przepływ aplikacji od początku do końca. W kontekście naszego kasyna, można wyróżnić następujące testy end-to-end:

  1. Testy rejestracji i logowania:

    • Sprawdzenie pełnego procesu rejestracji nowego użytkownika.
    • Sprawdzenie pełnego procesu logowania zarejestrowanego użytkownika.
    • Sprawdzenie pełnego procesu resetowania hasła.
  2. Testy nawigacji:

    • Sprawdzenie poprawności przekierowań po zalogowaniu.
    • Sprawdzenie poprawności przekierowań po wylogowaniu.

Testy wydajnościowe (Performance Tests)

Testy wydajnościowe sprawdzają, jak system radzi sobie pod obciążeniem. W kontekście naszego kasyna, można wyróżnić następujące testy wydajnościowe:

  1. Testy obciążeniowe:

    • Sprawdzenie, jak system radzi sobie z dużą liczbą jednoczesnych rejestracji.
    • Sprawdzenie, jak system radzi sobie z dużą liczbą jednoczesnych logowań.
  2. Testy czasu odpowiedzi:

    • Sprawdzenie czasu odpowiedzi na zapytania do bazy danych.
    • Sprawdzenie czasu odpowiedzi na żądania HTTP.

Testy bezpieczeństwa (Security Tests)

Testy bezpieczeństwa sprawdzają, czy system jest odporny na różne rodzaje ataków. W kontekście naszego kasyna, można wyróżnić następujące testy bezpieczeństwa:

  1. Testy podatności na SQL Injection:

    • Sprawdzenie, czy aplikacja jest odporna na ataki SQL Injection.
  2. Testy podatności na XSS:

    • Sprawdzenie, czy aplikacja jest odporna na ataki Cross-Site Scripting (XSS).
  3. Testy podatności na CSRF:

    • Sprawdzenie, czy aplikacja jest odporna na ataki Cross-Site Request Forgery (CSRF).

Testy użyteczności (Usability Tests)

Testy użyteczności sprawdzają, czy aplikacja jest łatwa w użyciu dla użytkowników. W kontekście naszego kasyna, można wyróżnić następujące testy użyteczności:

  1. Testy interfejsu użytkownika:

    • Sprawdzenie, czy formularze są intuicyjne i łatwe w użyciu.
    • Sprawdzenie, czy powiadomienia są czytelne i zrozumiałe.
  2. Testy dostępności:

    • Sprawdzenie, czy aplikacja jest dostępna dla osób z niepełnosprawnościami.