Język Python dla testerów

Opis

Przez wiele lat rozwijający się w cieniu swoich większych braci: języków Java i C#, znajdował zastosowanie głównie wśród entuzjastów. Ostatnie lata pokazały, że to wspaniały język, który pozwala pisać czytelny, złożony kod w sposób zwięzły. Obecnie bardzo często używany do automatyzowania testów przez zawodowych testerów, analizy danych Big Data czy obliczeń naukowych. W tym szkoleniu skupimy się głównie na zastosowaniu języka Python w tworzeniu testów automatycznych przez zawodowych testerów. Obecnie odchodzi się od kosztownych testów manualnych na rzecz testów akceptacyjnych, które mogą być wielokrotnie odtwarzane w czasie procesu wytwórczego. Niniejsze szkolenie jest przeznaczone dla testerów, którzy posiadają podstawową wiedzę i wstępne doświadczenie z używaniem języka Python, a skupia się na praktyce tworzenia testów utrzymywalnych w łatwy sposób, napisanych zgodnie z regułami czystego kodu oraz uwzględnieniem procesu tworzenia testów akceptacyjnych, w tym także Behaviour-Driven Development.

Podstawowy program

Moduł. 1
Podsumowanie kluczowych tematów związanych z użytkowaniem języka Python
Moduł. 2
Funkcje
Moduł. 3
Moduły, obiektowość i testy
Moduł. 4
Podstawy testowania automatycznego
Moduł. 5
Czyste testy
Moduł. 6
Strategie tworzenia testów akceptacyjnych

Szczegółowy program

Moduł. 1
Podsumowanie kluczowych tematów związanych z użytkowaniem języka Python
  • Python jako język interpretowany
  • Obsługa modułów z użyciem pip
  • Typy wbudowane oraz struktury danych – mniej typowe konstrukcje
  • Zaawansowane operacje na kolekcjach
    • Transformacje
    • Map
    • Reduce
Moduł. 2
Funkcje
  • Nietypowe rodzaje parametrów
  • Funkcje jako parametry
  • Generatory
  • Partial functions
  • Elementy programowania funkcyjnego
Moduł. 3
Moduły, obiektowość i testy
  • Rola modułów języku Python
  • Strategie dzielenia systemu na moduły
  • Klasy i dziedziczenie
  • Polimorfizma i duck typing
  • Zastosowanie wzorca Builder do przygotowania danych do testów
  • Zastosowania wzorca Strategii mechanizmów i elastycznych testów
  • Jak wykorzystać mechanizmy użyte w zaimplementowanym kodzie do łatwiejszego testowania
  • Mechanizmy tworzenia zaślepek i ich rola w pracy testera
Moduł. 4
Podstawy testowania automatycznego
  • Testy jednostkowe, integracyjne i akceptacyjne
  • Struktura Arrange, Act, Assert i Setup, Execute, Assert
  • Pojęcie Fixture
  • Kluczowe asercje i ich wykorzystanie w testach
  • Asercje własne
  • Reguła złożoności dotycząca testów
  • Główne błędy popełniane przy pisaniu testów
Moduł. 5
Czyste testy
  • Dobre i złe komentarze
  • Nazewnictwo w kontekście tworzenia testów
  • Upraszanie funkcji
  • Komponowanie funkcji
  • Połączenie testów z wymaganiami
  • Refaktoryzacja testów
  • Utrzymywanie testów
Moduł. 6
Strategie tworzenia testów akceptacyjnych
  • Wymagania a testy akceptacyjne
  • Kryteria akceptacji i scenariusze
  • Jak przełożyć scenariusze testów akceptacyjnych na testy
  • Współpraca nad testami z Product Ownerem i programistami
  • Testowanie przez przykłady
  • Wprowadzenie do Behaviour-Driven Development
  • Given, When, Then
  • Koncepcja Steps
  • Komponowanie testów i ich organizowanie w większe struktury
  • Wzorzec Page Object
  • Testy, które czyta się jak książkę

Parametry szkolenia

Czas trwania
3 x 8h
Forma zajęć
Ćwiczenia - 60%, wykład - 40%
Kod
PYTE
Wielkość grupy
do 10 osób

1) Dlaczego język Python dla testerów?

Po latach obecności na uboczu języków programowania Python staje się coraz popularniejszy i przez wielu specjalistów uznawany za bardzo dobry język programowania dla testerów. Charakteryzuje się prostą składnią, do której zrozumienia nie jest niezbędne długoletnie doświadczenie programistyczne. Szkolenie Python dla testerów zostało przygotowane z myślą o osobach z niewielkim i umiarkowanym doświadczeniem w pracy z tym językiem.

Z punktu widzenia tworzenia testów, do najważniejszych zalet języka należy zaliczyć ogromną ilość gotowych bibliotek. To także przejrzystość kodu, prostota system typów, duży poziom dynamiczności języka, które sprawiają, iż kod pisze się bardzo sprawnie. Co jednak najważniejsze, Python posiada wiele mocno rozwiniętych narzędzi, pozwala na automatyzację testów w wielu obszarach m. in. w obszarze aplikacji webowych, mobilnych, desktopowych czy embedded. Niniejsze szkolenie to szkolenia dedykowane testerom, gdzie podaczas intensywnych trzech dni pracy, poznasz najlepsze praktyki automatyzacji testów z użyciem języka Python oraz ustrzeżesz się wielu błędów z tym związanych

2) Jakie są dobre praktyki pisania testów automatycznych w języku Python

Podczas prowadzenia profesjonalnych szkoleń Python dla testerów nie tylko pokazujemy możliwości tego języka, ale także uczymy dobrych praktyk, dzięki którym praca nad każdym projektem staje się efektywniejsza, łatwiejsza i bardziej przejrzysta. Do przykładów technik, które warto opanować, zalicza się, chociażby:

  • wzorce i antywzorce tworzenia metod testowych;
  • praktyczna organizacja testów w suite’y;
  • odzwierciedlanie kroków scenariuszy testów w kodzie testowym;
  • użycie wybranych wzorców projektowych przy tworzeniu testów: m. in. builder, factory czy strategy;
  • tworzenie stubów, mocków i fake’ów;
  • testowanie z uwzględnieniem systemów zewnętrznych;
  • testowanie scenariuszy, gdzie pojawia się losowość lub upływ czasu;
  • poprawne nazewnictwo jako baza pracy testera;
  • elementy Behaviour-Driven Development oraz testów akceptacyjnych;
  • zastosowanie wzorca Page Object.

Jak zamówić

« lista szkoleń