
Jednym z filarów MakoLab jest zapewnienie jakości. To właśnie tutaj dbamy o to, by dostarczane przez nas rozwiązania cechowały się stabilnością, wysoką wydajnością i wysoką jakością. Nasi inżynierowie QA aktywnie uczestniczą w całym cyklu życia naszych aplikacji – od przygotowania ofert, przez projektowanie i wdrożenie, aż po moment ich uruchomienia. Czuwamy nie tylko nad samym produktem, ale i nad procesem jego dostarczania. W zeszłym roku postanowiliśmy stworzyć własne rozwiązanie QA: MakoLab Automation Framework.
Ważnym elementem naszych procedur QA jest automatyzacja testów. Dzięki niej możemy oszczędzać czas przy cyklicznych działaniach, takich jak choćby czasochłonne sesje testów regresyjnych, a także obejmować zakresem prac, których nie da się przeprowadzić ręcznie, jak testy wydajnościowe i obciążeniowe. Dostarczamy również rozwiązania zautomatyzowane na wielu poziomach: interfejsów API i komunikacji back-end, warstw wizualnych UI i front-end, wydajności aplikacji i usług, bezpieczeństwa oprogramowania oraz web scrapingu.
Każdy projekt realizowany przez firmę jest inny, co oznacza, że opracowanie zestawu testów wymaga za każdym razem kreatywnego podejścia. Dział QA musi tworzyć własne rozwiązania, co z kolei może prowadzić do braku spójności między projektami oraz trudności w utrzymaniu wysokiej jakości automatyzacji i kodu w całym dziale. To właśnie skłoniło nas do stworzenia własnego narzędzia, które mogłoby pomóc nam rozwiązać ten problem.
MakoLab Automation Framework (MAF) to nasze własne, oryginalne rozwiązanie. Zaprojektowane i napisane w Javie, opiera się na najpopularniejszych bibliotekach dedykowanych do testów automatycznych. Należą do nich Selenium WebDriver, wykorzystywany wraz z naszą własną infrastrukturą oparta na konteneryzacji, a także REST Assured i HtmlUnit, między innymi.
MAF został stworzony jako odpowiedź na bezpośrednie potrzeby zespołu QA MakoLab. Większość problemów, z jakimi się spotykaliśmy, znalazła rozwiązania, które zostały включone do frameworka, eliminując konieczność dalszej analizy.
Jeśli powyższe punkty nie w pełni opisują zalety MAF, to porównanie procesu rozpoczynania automatyzacji z frameworkiem i bez niego z pewnością powinno wystarczyć.
Jak wyglądał wcześniejszy proces:
Dla testera na poziomie średnim stworzenie takiej bazy do testów oznaczało co najmniej kilka dni pracy.
Jak wygląda proces teraz:
Dla testera na poziomie średnim oznacza to maksymalnie trzydzieści minut pracy, o ile ma dostęp do szerokiego zakresu gotowych i przetestowanych instrukcji.
A co z osobami, które chciałyby zacząć pracę z automatyzacją, ale nie posiadają odpowiedniego poziomu wiedzy technicznej i umiejętności programistycznych, by korzystać z frameworka? Właśnie w tym celu powstał moduł MAF Easy. Easy MakoLab Automation Framework to bardziej przystępna forma narzędzia do automatyzacji, przeznaczona dla osób mniej zaawansowanych technologicznie. Easy wykorzystuje metodę zastosowaną w MAF, odtwarzając ją w sposób bardziej zrozumiały dla każdego testera, nawet takiego, który wcześniej nie miał żadnej styczności z automatyzacją. Tworzenie skryptów testowych w Easy porównaliśmy do budowania konstrukcji z klocków. W tym przypadku klockami są gotowe do użycia komponenty, które należy umieścić w skryptach.
Główne cechy modułu MAF Easy to:
Z punktu widzenia inżyniera ds. jakości wybór między MAF a Easy to kwestia indywidualna; wszystko zależy od kontekstu i konkretnych potrzeb.
Widoczne korzyści wynikające z korzystania z Easy to:
Warto jednak wziąć pod uwagę kilka ograniczeń:
Poniżej przedstawiono przykład użycia instrukcji MAF Easy:

MAF jest stale rozwijany — dodawane są nowe funkcje i możliwości, a plany jego dalszego rozwoju zostały nakreślone na dużą skalę. Najważniejsze z planowanych usprawnień to:
Jeśli interesujesz się testowaniem, procesami kontroli jakości i tworzeniem oprogramowania i chciałbyś dołączyć do naszego zespołu, zajrzyj do sekcji Kariera, sprawdź aktualne oferty pracy i wyślij nam swoją aplikację!

