
Tworzenie testów automatycznych z wykorzystaniem AI
Zajęcia Tworzenie testów automatycznych z wykorzystaniem AI wprowadzają uczestników w praktyczne tworzenie i rozwijanie testów automatycznych aplikacji webowych z wykorzystaniem nowoczesnych narzędzi testowych oraz wsparcia sztucznej inteligencji. Program obejmuje pracę z Selenium WebDriver, projektowanie testów w oparciu o wzorzec Page Object Model, testy sterowane danymi, raportowanie oraz wykorzystanie narzędzi AI jako wsparcia w pisaniu, refaktoryzacji i analizie kodu testów. Program jest przeznaczony dla użytkowników indywidualnych, uczniów kształcących się na kierunku technik informatyk i technik programista, pracowników pełniących stanowiska związane z dziedziną informatyki i/lub programowania oraz pracowników branży IT. Zajęcia obejmują 24 godziny dydaktyczne, realizowane w całości w formie praktycznych warsztatów, podczas których uczestnicy zdobywają umiejętności niezbędne do samodzielnego tworzenia, utrzymania i rozwijania testów automatycznych z wykorzystaniem narzędzi AI w procesie testowania oprogramowania.
Zakres nauczania
-
Wprowadzenie do automatyzacji i konfiguracja środowiska
Omówienie zasad automatyzacji testów, kiedy warto automatyzować oraz roli piramidy testów i testów E2E. Konfiguracja środowiska programistycznego, instalacja .NET SDK, zarządzanie paczkami NuGet oraz struktura projektu testowego w oparciu o NUnit lub xUnit.
-
Pierwsze kroki z Selenium WebDriver
Wprowadzenie do architektury Selenium WebDriver zgodnej ze standardem W3C, konfiguracja sterowników przeglądarek oraz inicjalizacja testów w popularnych przeglądarkach. Nawigacja po stronach i zarządzanie stanem przeglądarki.
-
Lokalizowanie elementów interfejsu użytkownika
Strategie lokalizowania elementów przy użyciu selektorów ID, Name, ClassName, CSS oraz XPath. Różnice pomiędzy selektorami relatywnymi i absolutnymi oraz wykorzystanie narzędzi deweloperskich w pracy testera.
-
Interakcje z elementami i asercje
Wykonywanie podstawowych akcji na elementach strony, takich jak kliknięcia, wprowadzanie danych i czyszczenie pól. Tworzenie asercji w NUnit oraz pisanie pierwszych samodzielnych testów automatycznych.
-
Wykorzystanie AI jako wsparcia w automatyzacji testów
Wprowadzenie do GitHub Copilot jako narzędzia wspierającego testera. Konfiguracja, tworzenie promptów, generowanie fragmentów kodu oraz analiza błędów. Zastosowanie AI ma charakter wspierający i opcjonalny.
-
Dynamiczne strony i synchronizacja testów
Rozwiązywanie problemów związanych z asynchronicznością aplikacji webowych. Stosowanie mechanizmów oczekiwania, różnice między implicit i explicit wait oraz wykorzystanie AI do generowania niestandardowych warunków synchronizacji.
-
Page Object Model i wsparcie AI
Wprowadzenie do architektury Page Object Model, separacja logiki testowej od struktury strony oraz tworzenie klas stron. Wykorzystanie AI do generowania szkieletów klas POM na podstawie struktury HTML.
-
Zaawansowane interakcje z interfejsem użytkownika
Obsługa list rozwijanych, alertów, ramek iframe oraz pracy z wieloma oknami przeglądarki. Wykorzystanie klasy Actions do realizacji bardziej złożonych interakcji użytkownika.
-
Testy sterowane danymi
Tworzenie testów parametryzowanych, ładowanie danych testowych z plików zewnętrznych oraz wykorzystanie AI do generowania realistycznych zestawów danych testowych.
-
Raportowanie i diagnostyka testów
Rejestrowanie przebiegu testów, wykonywanie zrzutów ekranu w przypadku błędów oraz wprowadzenie do generowania raportów HTML ułatwiających analizę wyników testów.
-
Refaktoryzacja i code review z wykorzystaniem AI
Stosowanie zasad Clean Code w testach automatycznych, identyfikacja problemów w kodzie testów oraz optymalizacja struktury projektu przy wsparciu narzędzi AI.
-
Warsztat finałowy i podsumowanie
Realizacja projektu end-to-end dla przykładowej aplikacji webowej, zastosowanie poznanych wzorców i narzędzi AI w praktyce oraz omówienie dalszych ścieżek rozwoju, w tym integracji z CI/CD.