KraQA #30 - podsumowanie

Na nasze jubileuszowe spotkanie KraQA z okrągłą liczbą 30 (a przy okazji rozpoczynające 5-ty rok istnienia) zaproszono gości z odległej Łodzi (a dokładniej – Zgierza): Przemka Niedziałkowskiego i Pawła Stopczyka, którzy na co dzień pracują jako automatyzujący testerzy w mBanku.


Paweł i Przemek na co dzień pracują z automatyzacją testów UI. Jak każdy zaczynali od sprawdzonego Selenium, jednak okazało się, że w przypadku specyfiki aplikacji, z którą pracują jest to rozwiązanie niestabilne. Poszukiwania nowego narzędzia zaprowadziły ich do mało znanego rozwiązania nazwanego Canopy (https://lefthandedgoat.github.io/canopy/), które nie dość że niezbyt szeroko rozpowszechnione, to implementowane z użyciem języka F# (tak, naprawdę taki istnieje). F# to funkcyjny język częściowo zorientowany na aplikacje w środowisku .NET, jednakże w połączeniu z Canopy pozwala na tworzenie „lekkostrawnego” frameworku testowego, w którym mają szansę odnaleźć się nawet testerzy z mniejszym doświadczeniem w pisaniu kodu. Czas wejścia nowych, mniej automatyzujących testerów do projektu to około dwa dni. Dodatkową zaletą takiego rozwiązania jest możliwość kompilacji i wyeksportowania swoich testów do pliku *.exe, który można przekazać biznesowi jako część testów akceptacyjnych.


W pierwszej części prezentacji Przemek przybliżył nam ideę stojącą za konwersją z Selenium do Canopy. Niestabilność testów, wysoki próg wejścia do pisania kodu i ciężki framework w Javie to problemy utrudniające życie, a które z powodzeniem rozwiązało Canopy + F#. Pokazano również ciekawy sposób definiowania priorytetów testów (smoke/top 100/top 1000), które znacząco poprawiły zaufanie do testów i pozwoliły wyłapać ważne defekty wcześnie. Przemek pokazał też monitoring testów na ekranach, czyli budowanie wspólnej odpowiedzialności za jakość w trakcie developmentu.
Druga część to trochę praktyki, czyli demo. Tym razem pałeczkę przejął Paweł i zaprezentował uruchomienie testów w trybie „normalnym”, debugowym (czyli wolniej oraz z podświetlaniem elementów „klikanych”) a na koniec kilka przykładów kodu. Wyglądało to przejrzyście, solidnie i interesująco.


Oryginał na http://kraqa.pl/index.php/meeting-story/kraqa-30/