Quality Excites 2016 - prelekcje

Quality Excites 2016 - prelekcje
Zapraszamy do szczegółowej relacji z części konferencyjnej piątej edycji konferencji Quality Excites 2016, która została zorganizowana 25 czerwca przez firmę Future Processing w Gliwicach. W artykule zostaną pokrótce opisane najciekawsze naszym zdaniem prelekcje. Niestety, nie mieliśmy okazji zobaczyć wszystkich ze względu na trzy równoległe ścieżki. Brak wystąpienia nie oznacza więc, że nie było ciekawe.
 

Konferencja została otwarta wykładem “Gimmeh TDD! - O rly?” wygłoszonym przez Grzegorza Gałęzowskiego z firmy Motorola Solutions. Prowadzący starał się przybliżyć słuchaczom, na czym polega wprowadzenie metodyki TDD do projektu. Wyjaśnił również, że kluczem do rozpoczęcia pracy z użyciem tej techniki jest to, czy zespół faktycznie chce pracować według jej założeń. Prelegent poruszył również dość poważny problem, a mianowicie to, by na początkowym etapie wprowadzania tej metodyki poświęcić część czasu przeznaczonego na projekt wyłącznie na naukę TDD. Grzegorz przedstawił także najczęstsze problemy związane z wprowadzaniem wcześniej wspomnianej techniki.

Kolejny wykład poprowadził Jacek Okrojek pracujący dla GFT i współpracujący z testerzy.pl. Prelekcja “Wydajność aplikacji web z perspektywy użytkownika” miała na celu wyjaśnienie, w jaki sposób należy podejść do mierzenia wydajności stron internetowych, by otrzymane wyniki przekładały się na faktyczną wydajność obserwowaną przez odwiedzających witrynę. Prelegent zaproponował uzupełnienie testów wykonywanych za pomocą narzędzi: JMeter, Gatling, Load Runner, itp. o weryfikację szybkości ładowania danych przez przeglądarki internetowe. Jacek wspomniał też o problemach związanych z takim podejściem - pomiary zależą od lokalizacji czy wydajności samej maszyny, więc należy uwzględnić te czynniki przy przeprowadzaniu testów. Przedstawione zostało również inne podejście - zbieranie informacji od użytkowników. Pomiary wydajnościowe można wtedy wykonywać na wersji produkcyjnej strony, co sprawi, że dane o wydajności będą dokładniejsze, gdyż będą pochodziły z różnych lokalizacji. 

Adrian Piętka z Future Processing wygłosił wykład pod tytułem “Elk - zapanuj nad logami”, którego celem było przedstawienie narzędzia do zbierania i analizowania logów oraz zarządzania nimi. Prowadzący przedstawił zalety oraz wady logowania akcji wykonywanych w aplikacjach. Propozycją Adriana na rozwiązanie problemów z logami jest narzędzie open-source o nazwie Elk, dzięki któremu można agregować dane pochodzące z różnych miejsc, np. z wielu serwerów. Elk zawiera gotowy zestaw filtrów (filtr Grok), które znacznie ułatwiają wyszukiwanie interesujących akcji. Bardzo użytecznym elementem rozwiązania jest Kibana, która jest aplikacją webową, dzięki której można podglądać logi praktycznie w czasie rzeczywistym. Umożliwia ona również tworzenie raportów oraz wykresów na podstawie zebranych danych. 

Następnie wystąpił Bartosz Szulc z firmy Spartez z prezentacją “Lepsze testy”, podczas której na gotowym przykładzie przedstawił w jaki sposób można pisać testy automatyczne, które będą czytelniejsze, lepiej zorganizowane oraz znacznie łatwiejsze w utrzymaniu. 

Kolejna prelekcja - “Testowanie w architekturze mikroserwisów” - została poprowadzona przez Łukasza Rosłonka z grupy Allegro, który wyjaśnił, w jaki sposób podejść do tytułowego zagadnienia. Prelegent zwrócił uwagę na bardzo ważny problem związany z testami w takim środowisku - należy upewnić się, że API aplikacji składowych nie zostało zmienione w nowej wersji i dalej są one kompatybilne. Łukasz wyjaśnił, że testy w architekturze mikroserwisów niosą ze sobą kilka problemów. Jednym z nich jest trudność w określeniu, w której aplikacji zależnej znajduje się błąd. Dodatkowo przy testach należy uwzględnić narzut sieciowy. Prelegent podkreślił, że warto przetestować procedury przy awarii produkcyjnej, gdyż w tak złożonym środowisku nie da się przewidzieć każdego użycia systemu. Warto sprawdzić, czy przy ewentualnych problemach z jedną aplikacją, cały produkt będzie dalej działał z jej pominięciem. Prowadzący zaznaczył, że automatyzacja testów najważniejszych funkcji jest bardzo ważna, gdyż w środowisku opartym na mikroserwisach instalacje na produkcję mają miejsce bardzo często. 

Tytułem kolejnego wykładu, poprowadzonego przez Jarosława Hryszko z Volvo Group IT, był “Powrót do źródeł, czyli jak eksploracja danych wspomaga QA w tworzeniu oprogramowania”. Prelegent przedstawił ciekawe zastosowanie uczenia maszynowego do przewidywania potencjalnych defektów w aplikacjach, zanim jeszcze te aplikacje zostaną przetestowane. Jarosław zaznaczył, że warunkiem tego, by rozwiązanie działało, jest wcześniejsze “nauczenie” algorytmu za pomocą znacznej ilości danych, które zostały zebrane w podobnym projekcie. Niestety, rozwiązanie jest obarczone wieloma problemami, jak na przykład to, że najefektywniejsze działanie algorytmu predykcji potencjalnych błędów wymaga poprawiania jednej rzeczy na raz w kodzie i wygrywania takiej pojedynczej poprawki do repozytorium. Ważna jest też konsekwencja w numerowaniu wersji, by łatwiej było wykazać, która wersja zawierała problem - zdarza się, że błędy zostają poprawione bez podniesienia numeru aktualnej wersji. Algorytm jest również wrażliwy na zmiany w stylu pisania kodu, więc wymagana jest standaryzacja jego tworzenia.

Prelekcja “Star Trek: BDD Enterprise” została poprowadzona przez Tomasza Dubikowskiego z Ocado Technology. Prowadzący w dowcipny sposób przekazał słuchaczom informacje o frameworku Spock. Tomasz podkreślił ważność komunikacji z biznesem przy tworzeniu oprogramowania oraz uświadomił słuchaczom, że można znacznie uprościć proces dokumentowania wyników testów, gdy wykorzystamy ten framework. Spock umożliwia pisanie testów w taki sposób, by biznes był w stanie je przeczytać i szybko stwierdzić jaki jest obecny stan aplikacji. Ważne jest jednak to, że takie całkowite ukrycie części technicznej wymaga napisania warstwy DSL (Domain Specific Language), która tłumaczy kod na wyższy poziom abstrakcji. Wiąże się to ze zwiększeniem kosztów wytworzenia oprogramowania, więc należy zastanowić się, czy nie warto ograniczyć się jedynie do raportów wygenerowanych na podstawie odpowiednio nazwanego testu.

Wykład zamykający, pod tytułem “Architecture & Agile: mity, same mity i tylko mity”, wygłosił Jarosław Pałka z Symentis.pl. Prowadzący podkreślił, że przy tworzeniu architektury ważne jest zadanie sobie pytania jaki jest jej cel, dzięki czemu później będzie możliwe szybkie zaadaptowanie jej do nowych warunków. Prelegent starał się pokazać, że z tradycyjne postrzeganie architektury jako czegoś stałego i niezmiennego niekoniecznie jest słuszne, gdyż obecnie zmiany rynku następują szybko oraz że przy starzejącej się technologii, wdrożenie nowego pracownika do systemu staje się coraz trudniejsze. Podkreślił, że dobry architekt powinien podejmować decyzje o zmianach po przeanalizowaniu ich konsekwencji oraz nie zmieniać architektury systemu kierując się wyłącznie obecnymi trendami.

 

Podsumowując, prelekcje przedstawione na konferencji dotykały tak szerokiej gamy tematów, że każdy mógł znaleźć coś wartościowego. Wiele z nich motywowało do zapoznania się z nowymi narzędziami i zachęcało do zastosowania ich w praktyce. Wiedza, którą prelegenci podzielili się w trakcie wykładów jest niezwykle cenna, więc tym bardziej doceniamy fakt, że zechcieli się nią podzielić w swoim czasie wolnym. Jak na darmową konferencję, którą przecież jest Quality Excites, różnorodność oraz ciekawość przedstawionych tematów imponuje. Oczekujemy z niecierpliwością kolejnej edycji.

 

Autor: Maja Adamczyk

 

 

Podsumowanie QE 2016 >>

 

 

To powinno Cię zainteresować