Kategorie: Java, Python, Testowanie
Testowanie manualne, jakkolwiek niezbędne i stosowane szeroko w projektach, jest procesem kosztownym i czasochłonnym. Automatyzacja testów umożliwia wielokrotne wykonywanie raz przygotowanego zestawu scenariuszy testowych, co ułatwia bieżącą kontrolę jakości. Dlatego producenci oprogramowania starają się w jak największym stopniu automatyzować wykonywanie testów.
Oznacza to jednocześnie, że istnieje rynkowe zapotrzebowanie na testerów potrafiących przygotowywać testy zautomatyzowane. Takie kompetencje są w cenie i od razu plasują daną osobę wśród wyżej wykwalifikowanych niż testerzy wyłącznie manualni. Z drugiej strony, posiadane doświadczenie testera manualnego pozytywnie wpływa na jakość tworzonych testów automatycznych – po prostu lepiej można wyczuć jak ułożyć scenariusz, co wymaga sprawdzenia itp. Bardzo często rola testera automatyzującego jest też pośrednim etapem w drodze do zostania programistą.
Automatyzacji testów można dokonywać w oparciu o różne języki programowania i narzędzia. Najczęściej podstawą jest ten sam język, którego używa się w projekcie, ale nie jest to konieczne. Popularne są Java, Python, JavaScript, PHP. Oprócz znajomości (podstaw) danego języka, niezbędna jest znajomość bibliotek i narzędzi testowania; dla Javy takimi elementami są JUnit (alternatywnie TestNG) czy Mockito. Najczęściej testowaniu podlegają aplikacje webowe i wtedy kluczową rolę odgrywa framework do zdalnego badania stron internetowych; niezależnie od wybranego języka programowania najbardziej popularnym rozwiązaniem tego typu jest Selenium.
Ten kurs kompleksowo uczy kompetencji wymaganych do tworzenia zautomatyzowanych testów funkcjonalnych w oparciu o języki programowania Python oraz Java i wokół tego koncentrują się zajęcia praktyczne. Kurs pobieżnie porusza także inne tematy, aby osadzić automatyzację testów w szerszym kontekście procesu tworzenia oprogramowania.
Czas trwania
80 + 40h
Program
- 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
- Wprowadzenie do programowania w Python dla testerów
- 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
- Podstawy programowania w Java
- 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
- Zastosowanie adnotacji:
Dla grup zorganizowanych na zamówienie, istnieje również możliwość oparcia programu niniejszego kursu wyłącznie o jeden język programowania (np. Python czy Java).
UWAGA: czas kursu to 80 godzin na żywo z trenerem i grupą oraz ok. 40 godzin pracy samodzielnej w domu.
Training also available in English.
Przeznaczenie i wymagania
Zalecana jest znajomość ogólnych zasad testowania, np. po odbyciu kursu Testera Manualnego lub z własnego doświadczenia.
Certyfikaty
Uczestnicy szkolenia otrzymują imienne certyfikaty sygnowane przez ALX.
Zobacz też:
- Programista Python (kurs zawodowy - bootcamp)
- Bootcamp Python XL backend/web (kurs zawodowy - bootcamp)
- Bootcamp Python XL analiza danych (kurs zawodowy - bootcamp)
- Programista Java (kurs zawodowy - bootcamp)
- Programista Java (XL) (kurs zawodowy - bootcamp)
- Programista Java II (web/backend) (kurs zawodowy - bootcamp)
- Programista Java (Fast track) (kurs zawodowy - bootcamp)
- Programista Android (kurs zawodowy - bootcamp)
- Tester oprogramowania (kurs zawodowy - bootcamp)
- Analiza danych w Pythonie (kurs zawodowy - bootcamp)
- Analiza danych w Pythonie (bez ML) (kurs zawodowy - bootcamp)
- Programista backend - Python (kurs zawodowy - bootcamp)
- Analiza danych, uczenie maszynowe i deep learning dla znających Pythona (kurs zawodowy - bootcamp)
- Nauka programowania dla młodzieży (kurs zawodowy - bootcamp)
- Programowanie dla młodzieży - Python (kurs zawodowy - bootcamp)
- Język Java dla programistów
- Zaawansowane elementy języka Java
- Klasyczne aplikacje webowe na platformie Java EE: servlet, JSP, JSF
- Spring MVC, Hibernate; webowe aplikacje biznesowe
- Skrypty w Pythonie. Python dla inżynierów
- Python dla programistów innych języków
- Django - aplikacje webowe
- FLASK - aplikacje webowe
- Analiza Danych dla znających Pythona
- Machine Learning - Uczenie Maszynowe dla znających Pythona
- Deep Learning - Uczenie Głębokie dla znających Pythona
- Zaawansowany Python
- Programowanie asynchroniczne w Asyncio
- Rozszerzanie Pythona w języku C
- Usługi sieciowe SOAP na platformie Java (JAX-WS)
- Usługi sieciowe REST na platformie Java (JAX-RS)
- Przetwarzanie XML-a w Javie
- Budowanie komponentów biznesowych w technologii EJB 3.1 / CDI / Java EE 6
- Budowanie logiki biznesowej w Spring i Hibernate
- Wprowadzenie do Amazon Web Services
- Wprowadzenie do GIT
- Wstęp do programowania w Pythonie - darmowe warsztaty "od zera"