Przejdź do treści

Nazywam się Maciej Kusz i od 2008 roku zajmuję się testowaniem oprogramowania. Na początku były to testy manualne, od 2011 początki testów automatycznych, a od 2013 automatyzacją testów z wykorzystaniem języka Python. Przez te kilka lat, zdarzyło mi się już być w kilku firmach i w kilku różnych projektach. Na stronie o mnie, znajdziesz ciut więcej informacji na ten temat.

Testowania REST API w Pythonie

Testowanie REST API w Pythonie to kompleksowe szkolenie. Przygotowane zostało tak, aby w praktyczny sposób nauczyć uczestników, jak od 0 stworzyć projekt oraz zaimplementować stabilne, oraz łatwo utrzymywalne testy automatyczne 1.

Program szkolenia

Wstęp teoretyczny

Szkolenie rozpocznie się krótkim wstępem teoretycznym, podczas którego omówimy m.in.:

  • czym jest, a czym nie jest REST API

  • podstawowe metody HTTP wykorzystywane przez REST API

  • czym jest CRUD i jaki ma związek z poszczególnymi metodami HTTP

Dokumentacja REST API

Testowanie REST API to nie tylko wysyłanie zapytań i weryfikacja odpowiedzi, ale również umiejętność pracy z dokumentacją, która opisuje dostępne endpointy. Podczas szkolenia zapoznasz się z dwoma najpopularniejszymi narzędziami do tworzenia dokumentacji w formacie OpenAPI, czyli Swagger oraz Redoc.

Nowy projekt

Podczas praktycznej części szkolenia, wspólnie utworzymy nowy projekt, z podziałem na odpowiednie podfoldery tak, aby w przyszłości łatwo można było go rozwijać, modyfikować czy zaadoptować do innych potrzeb (np. wsparcie kilku projektów).

Git i code review

Obecnie, większość projektów, w których tworzony jest kod, przechowuje go w git, dzięki temu łatwo jest go rozwijać, tworzyć code review itp. Ponieważ projekt testów automatycznych pisanych z wykorzystaniem Pythona, to również kod, nauczysz się jak poprawnie wykorzystywać git poprzez poznanie podstawowych pojęć, komend, itp.

Instalacja bibliotek i narzędzi

Aby w pełni wykorzystać moc język Python, poza jego interpreterem, potrzebne są jeszcze dodatkowe biblioteki. Podczas tworzenia nowego projektu nauczysz się czym jest virtual environment, jak instalować i zarządzać bibliotekami, oraz które IDE jest najlepsze na start.

Framework

Wszystkie testy automatyczne tworzone będą na podstawie biblioteki pytest, a więc w praktyczny sposób poznasz m.in. czym są fixtury, jak wykorzystać marks oraz dodatkowo dowiesz się jak i po co stosować tzw. soft asercje.

JSON Schema

Jednym ze sposobów na sprawdzenie poprawności odpowiedzi otrzymanej z RESTowego API jest weryfikacja jej formatu z wykorzystaniem JSON Schema. W trakcie szkolenia nauczysz się jak ją tworzyć i wykorzystywać w testach.

Tworzenie raportów

Poza uruchomieniem testów, dobrze jest znać ich wyniki, jednak odczytywanie wyników z konsoli, nie jest czytelne. Poza tym, bardzo ciężko dzielić się takimi wynikami z innymi. W tym celu nauczysz się jak automatycznie tworzyć raporty z testów z wykorzystaniem biblioteki Allure.

Zmienne środowiskowe

Przechowywanie poufnych danych (np. email i hasło użytkownika) lub zmiennych konfiguracyjnych w kodzie testów to zdecydowanie zła praktyka, jednakowo pod względem łatwości utrzymania testów, jak również, a może zdecydowanie ze względu, na bezpieczeństwo. Zamiast tego, nauczysz się jak wykorzystywać zmienne środowiskowe, do przechowywania tych wszystkich informacji w ustrukturyzowany sposób.

Uruchamianie testów w CI/CD

Po napisaniu kodu testów, wspólnie skonfigurujemy GitHub Actions tak, aby testy automatyczne uruchamiały się o określonej godzinie. Dowiesz się, na co zwrócić uwagę oraz jak w bezpieczny sposób przechowywać dane poufne (np. email i hasło użytkownika).

Cechy szkolenia stacjonarnego

Forma szkolenia

W swojej formie, szkolenie stacjonarne najbardziej przypomina tradycyjny wykład, jaki znamy ze szkoły lub uczelni, połączony z praktycznymi warsztatami, podczas których uczestnicy tworzą praktyczny projekt na podstawie wskazówek prowadzącego.

Uczestnicy

Podczas szkolenia, każdy z uczestników będzie korzystał z własnego (lub dostarczonego przez zmawiające) komputera, na którym musi mieć możliwość instalacji oprogramowania2, które wymagane jest przez program szkolenia. Dodatkowo komputer musi mieć możliwość dostępu do internetu.

Miejsce

Szkolenia stacjonarne odbywają się w miejscu wyznaczonym przez zamawiające3. Dzięki temu, pracownicy oddelegowani na szkolenie mogą zaraportować dni szkoleniowe jako normalne dni pracy, a to w znacznym stopniu upraszcza wszelkie formalności po stronie zamawiającego.

Wymagania

W celu przeprowadzenia szkolenia, potrzebny jest dostęp do sali umiejącej pomieścić wszystkich uczestników szkolenia, a która wyposażona jest w rzutnik lub duży TV oraz dostęp do internetu.

Termin

Szkolenia stacjonarne odbywają się w uzgodnionych wcześniej terminach. Daje to możliwość wcześniejszego zaplanowania zastępstw lub takiego ułożenia harmonogramów projektowych, aby uczestnicy szkolenia mogli bezproblemowo w nim uczestniczyć oraz aby ich nieobecność nie wpłynęła na trwające projekty.

Czas trwania

W większości przypadków, czas trwania szkolenia stacjonarnego to 2 dni robocze. Jest to spowodowane zakresem materiału, jaki przewidziany jest na szkolenie, jaki możliwością praktycznego przećwiczenia zdobytej wiedzy pod okiem prowadzącego.

Certyfikat

Każdy z uczestników szkolenia, po jego ukończeniu otrzyma imienny certyfikat, który poza nazwą szkolenia, będzie zawierał wykaz najważniejszych

Cena i płatność

Podstawowa cena szkolenia wynosi 1999zł netto, jednak uzależniona jest w głównej mierze od ilości uczestników oraz miejsca4. Po przeprowadzeniu szkolenia, wystawiona zostanie faktura VAT z 14-dniowym terminem płatności5.

Prowadzący

Prowadzącym szkolenia jestem ja, czyli Maciej Kusz. Jestem testerem z ponad 15-letnim doświadczeniem komercyjnym i od ponad 10 lat tworzę testy automatyczne z wykorzystaniem Pythona zarówno do testowania UI, REST API oraz twórca projektów open source. Więcej informacji można przeczytać na stronie o mnie.

Kontakt

Wszelkich informacji dotyczących szkoleń, udzielam pod adresem email szkolenia@testerembyc.pl lub pod numerem telefonu +48 608 648 597. Jestem też dostępny w większości social mediów, do których linki znajdują się na dole tej strony.



  1. Finalny zakres szkolenia, ustalany i dobierany jest indywidualnie do konkretnej grupy kursantów. Uzależniony jest w głównej mierze od konkretnych wymagań zamawiającego oraz poziomu wiedzy i doświadczenia osób uczestniczących w szkoleniu. 

  2. W przypadku konieczności uzyskania wcześniejszych zgód na instalację wymaganego oprogramowania na komputerach służbowych, jego lista może zostać dostarczona zamawiającemu przed rozpoczęciem jego terminu. Ponieważ w trakcie szkolenia będą instalowane dodatkowe biblioteki programistyczne, polityki bezpieczeństwa, muszą uwzględnić możliwość przeprowadzenia takich operacji. 

  3. Na życzenie zamawiającego, szkolenie może odbyć się poza siedzibą zamawiającego. 

  4. Finalna cena szkolenia, ustalana jest indywidualnie. Po szczegółową wycenę zapraszamm do kontaktu. 

  5. Istnieje możliwość wydłużenia do 30 dni terminu płatności faktury.