Kategorie: Java, 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ęzyk programowania Java i framework Selenium; 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
- Testowanie oprogramowania
- Sposoby zapewniania jakości oprogramowania
- Wpływ metodyki prowadzenia projektu na kontrolę jakości i możliwości testowania
- Cykl życia projektu, fazy i iteracje
- Rodzaje testów i sposoby testowania
- Korzyści z automatyzacji testów
- Testy manualne vs automatyczne: kiedy stosować które?
- Automatyzacja w oparciu o narzędzia
- Selenium IDE lub równoważne narzędzie i testowanie interfejsów webowych
- Podstawy testowania API za pomocą wybranego narzędzia (Postman, Soap UI itp.)
- Podstawy programowania (Java)
- Instalacja i konfiguracja środowiska pracy
- Proste programy w języku Java
- Zmienne i typy, instrukcja warunkowa (if), pętle (while, for)
- Klasy i podstawy programowania obiektowego
- Tablice i kolekcje, operowanie na strukturach danych
- Tworzenie testów w języku Java
- Koncepcja testu jednostkowego
- Frameworki do wykonywania testów: JUnit (lub TestNG na życzenie klienta)
- Podstawy Maven (lub Gradle na życzenie klienta) i dołączanie obcych bibliotek do własnego projektu Java
- Uruchamianie testów z poziomu IDE oraz z wiersza poleceń
- Dodatkowe biblioteki do testowania: AssertJ, Mockito
- Zautomatyzowane testy aplikacji webowych za pomocą Selenium Web Driver
- Konfiguracja
- Uruchamianie testów nagranych za pomocą WebDriver
- Tworzenie własnych testów od podstaw
- Wyszukiwanie elementów na stronie: id, klasy, podstawy CSS i XPath
- Symulowanie akcji użytkownika: linki, przyciski, formularze
- Weryfikacja poprawności strony za pomocą asercji oraz wyjątków
- Podstawy wykonywania akcji JavaScript, np. przewijanie
- Testowanie API
- Koncepcja usług REST: zasoby, metody HTTP, formaty danych
- Tworzenie skryptów testujących w narzędziach typu Postman
- Tworzenie testów API w języku Java za pomocą biblioteki Rest Assured
- Struktura projektu i dobre praktyki
- Wytyczne dla autorów aplikacji: Design for Testability
- Obiektowe podejście do tworzenia testów: Page Object Pattern
- Wprowadzenie do testów kontraktowych
- Wprowadzenie do testów wydajnościowych na przykładzie JMeter
Dla grup zorganizowanych na zamówienie, istnieje również możliwość połączenia programu niniejszego kursu z innym językiem programowania (np. z Pythonem).
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 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)
- Nauka programowania dla młodzieży (kurs zawodowy - bootcamp)
- Język Java dla programistów
- Klasyczne aplikacje webowe na platformie Java EE: servlet, JSP, JSF
- Spring MVC, Hibernate; webowe aplikacje biznesowe
- 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