Wersja podstawowa
Moduł 1 – Podstawy testowania oprogramowania
- Wprowadzenie do testowania
- Cele testowania oprogramowania
- Zawód tester
- Certyfikacja ISTQB
- Podstawowa terminologia
- Weryfikacja vs. Walidacja
- Skąd się biorą błędy
- Inżynieria oprogramowania
- Projekty informatyczne – wprowadzenie
- Role, odpowiedzialności
- Proces wytwarzania oprogramowania
- Metodyki wytwarzania oprogramowania
- Podstawowy proces testowy
- 7 zasad testowania
- Co ma wpływ na proces testowania
- Planowanie testów
- Analiza i projektowanie testów
- Implementacja i wykonanie testów
- Monitoring i kontrola testów
- Cykl życia defektu
- Modele tworzenia oprogramowania
- Waterfall
- Scrum
- Manifest Agile
- Madel V
- Poziomy i typy testów
- Testy modułowe
- Testy integracyjne
- Testy systemowe
- Testy akceptacyjne
- Testy funkcjonalne
- Testy niefunkcjonalne
- Testy regresywne
- Techniki projektowania testów
- Techniki czarnoskrzynkowe
- Techniki biało-skrzynkowe
- Techniki oparte o doświadczenie
- Analiza wartości brzegowych
- Pokrycie instrukcji , decyzji
- Tablice decyzyjne i klasy równoważności
Moduł 2 – Testowanie „od kuchni”
- Analiza i projektowanie testów
- Scenariusz testowy
- Identyfikacja warunków testowych i przypadki testowe
- Projektowanie przypadków testowych oraz wykonywanie przypadków testowych
- Narzędzia do zarządzania przypadkami testowymi
- Narzędzie do zarządzania testami – TestLink
- Plan testów – co to jest i co powinien zawierać
- Tworzenie planu testów
- Projektowanie przypadków testowych
- Wykonywanie przypadków testowych
- Raporty
- Narzędzie do zarządzania projektem – JIRA
- Tworzenie projektu
- Sprity i Story
- Pisanie i wykonywania przypadków testowych.
- Git- System Kontroli Wersji dla testera
- Sposób przechowywania danych
- Trzy stany plików
- GIT vs GitHub
- Pobieranie i wysyłanie zmian
- Testowanie API
- Metoda GET
- Metoda POST
- Metoda PUT
- Metoda DELETE
- Wykorzystanie autoryzacji do uzyskania zasobów API
- Automatyzacja testów ( praktyka)
- Czym jest Selenium?
- Selenium WebDriver
- Chat GPT
- Rejestracja do Chata GPT
- Chat GPT do zastosowań developerskich
- Chat GPT ograniczenia
Moduł 3 – Warsztat narzędziowy testera
- Instalacja środowiska i nauka programowania Python w zakresie niezbędnym dla testera
manualnego
- Podstawy Baz Danych – SQL
- Podstawy języka SQL.
- Obsługi narzędzi do zarządzania bazą danych
- Pisanie podstawowych zapytań do baz danych.
- Wykonanie testów z bugów
- Proces wykonywania testów
- Raport z wykonania testów
- Praktyki przy zgłaszaniu defektów
Wersja XL - dodatkowe tematy
Moduł 4 – Automatyzacja testów
- Co to jest automatyzacja? Frontend i backend, HTML, CSS
- HTML atrybuty
- Struktura pliku html
- Lokalizowanie elementów na stronie
- Za pomocą name, id, tagu
- Za pomocą selektorów CSS
- Za pomocą XPath
- Selenium podstawy – teoretyczne
- Selenium IDE
- Selenium WebDriver
- Selenium Grid
- Środowisko programistyczne Python
- Wprowadzenie do programowania w Python dla testerów
- Przechowywanie danych w zmiennych
- Operacje na liczbach i tekstach
- Warunki logiczne
- Instrukcja if
- Listy, wybieranie elementów i fragmentów, przeglądanie danych (pętla for)
- IDLE – środowisko programistyczne dostarczone z Pythonem
- Stworzenie projektu w PyCharmie
- Narzędzia do testowania – JUnit i Selenium
- Skrypt w Selenium
- Zarządzanie przeglądarką za pomocą webdriver manager
- Narzędzia deweloperskie w przeglądarce
- Tworzenie testów automatycznych aplikacji internetowych
- Akcje na elementach
- Weryfikacja stanu elementu
- Explicit wait – WebDriverWait
- Framework PyTest
- Pytest fixtures
- Pytest parametrize
- Testowanie backend
- Symulacja i wykonanie testu aplikacji wyszukiwarki
- Page Object Pattern
- Raporty z egzekucji testów
- Selenium Grid – utworzenie huba i node
- Uruchomienie testu na Selenium Grid
- Środowisko programistyczne Javy
- Podstawy programowania w Java
- Typy podstawowe
- Instrukcja sterującą if
- Switch
- Pętle
- Metody
- Koncepcje programowania obiektowego
- Selenium – Java interakcje na elementach
- Klikanie na elementy
- Pobieranie tekstu
- Sprawdzenie czy element istnieje na stronie
- Wybieranie wartości z pola wielokrotnego wyboru
- Sprawdzanie czy stan oczekiwany zgadza się ze stanem aktualnym
- JUNIT
- Zastosowanie adnotacji: BeforeClass, AfterClass, Before, Test