Metodologia testowania automatycznego dla modułu Faktur
Moje podejście do automatyzacji testów modułu faktur opiera się na solidnym procesie, który zapewnia wysoką jakość i skuteczność testowania. Poniżej opisuję mój typowy proces:
1. Testowanie manualne jako podstawa
Zanim przystąpię do automatyzacji, zawsze najpierw testuję funkcjonalność manualnie. Pozwala mi to zrozumieć system fakturowania i zidentyfikować potencjalne problemy, które mogą wymagać szczególnej uwagi podczas automatyzacji.
2. Analiza dokumentacji
- Jeśli dostępna jest dokumentacja (specyfikacja, user stories, przypadki użycia) - analizuję ją dokładnie
- W przypadku braku dokumentacji, stosuję podejście eksploracyjne, aby odkryć wszystkie aspekty modułu faktur
3. Testowanie ścieżek pozytywnych
Zaczynam od tzw. “happy path” - czyli podstawowej, poprawnej ścieżki użytkownika. Dla faktur obejmuje to pełny cykl życia faktury - od utworzenia, przez zatwierdzenie, wystawienie, aż po opłacenie.
4. Tworzenie scenariuszy testowych
Na podstawie zdobytej wiedzy tworzę scenariusze testowe dla faktur, które następnie pomagają mi wyodrębnić konkretne przypadki testowe. Przykładowe scenariusze dla faktur:
- Dodawanie nowej faktury
- Edycja faktury w stanie Projekt
- Walidacja wymaganych pól faktury
- Wystawianie faktury
- Anulowanie faktury
- Tworzenie faktury korygującej
5. Testowanie ścieżek negatywnych
Po przetestowaniu ścieżek pozytywnych, skupiam się na testach negatywnych - sprawdzam jak system reaguje na niepoprawne dane faktur, przekroczenie limitów wartości, czy nietypowe interakcje użytkownika.
6. Zastosowanie technik testowych
Wykorzystuję różne techniki testowe, takie jak:
- Klasy równoważności - grupowanie danych faktur w kategorie (np. różne typy faktur: VAT, proforma, zaliczkowa)
- Diagramy przejścia stanów - szczególnie przydatne w procesie fakturowania, gdzie faktura przechodzi przez różne stany od projektu do zamknięcia
stateDiagram-v2
[*] --> Projekt
Projekt --> Weryfikacja: Wypełnienie danych
Weryfikacja --> Projekt: Odrzucenie weryfikacji
Weryfikacja --> Zatwierdzona: Pozytywna walidacja
Zatwierdzona --> Projekt: Powrót do edycji
Zatwierdzona --> Wystawiona: Nadanie numeru
Wystawiona --> Opłacona: Rejestracja płatności
Wystawiona --> Skorygowana: Korekta faktury
Wystawiona --> Anulowana: Anulowanie
Skorygowana --> Opłacona: Rejestracja płatności
Skorygowana --> Anulowana: Anulowanie
Opłacona --> Zamknięta: Zamknięcie księgowe
Opłacona --> Skorygowana: Korekta faktury
Anulowana --> [*]
Zamknięta --> [*]
7. Automatyzacja testów
Po dokładnej analizie manualnej przystępuję do automatyzacji, która obejmuje:
- Wybór odpowiedniego frameworka testowego - wiadomo Playwright z TS :D
- Implementację skryptów testowych dla różnych scenariuszy fakturowania
- Wykonanie testów i analizę wyników
- Integrację z systemem CI/CD dla ciągłego testowania modułu faktur
Powyższy diagram prezentuje stany i przejścia faktury w systemie, co stanowi podstawę do tworzenia zarówno testów manualnych jak i automatycznych.