Wyślij zapytanie Dołącz do Sii

Sztuczna inteligencja, shift left oraz podróż klienta to już standardy w branży IT. Kolejne, bardzo duże zmiany w branży wytwarzania oprogramowania dopiero nadchodzą. Zobaczmy, co to znaczy dla testerów i ich pracy.

Nieodległa historia i teraźniejszość

Jesteśmy świadkami kolejnej rewolucji technologicznej w tym stuleciu. W 2005 roku powstał YouTube, który całkowicie zmienił sposób, w jaki oglądamy filmy, ale także jak się uczymy, sprzedajmy, bawimy. W międzyczasie, wraz z telefonami komórkowymi, dostaliśmy technologie rodem z filmów SF – za pomocą kilku kliknięć możemy zrobić zakupy, zamówić taksówkę, umówić się na randkę. Kolejnym rewolucyjnym krokiem stało się upowszechnienie sztucznej inteligencji i Large Language Models.

Nowe odkrycia i nagłe zmiany są emocjonujące, budzą zainteresowanie, ale też lęk.

Od początku mojej kariery w testowaniu słyszałem, że automatyzacja zastąpi testerów manualnych oraz że metodyki zwinne nie potrzebują zarządzania testami. Piętnaście lat później ciągle rozmawiamy o tym, jak teraz ma wyglądać praca testera, jak ma wyglądać jego rola w projekcie, a także czy testerzy zostaną zastąpieni przez roboty.

Widzę trzy główne nurty w testowaniu, które będą miały coraz większe znaczenie:

  1. Podróż klienta – tester jako agent klienta.
  2. Shift left – testowanie najwcześniej jak to jest możliwe.
  3. Testowanie sztucznej inteligencji – weryfikacja i walidacja modeli sztucznej inteligencji.

Przybliżę je poniżej.

Podróż klienta – tester jako agent klienta

Skupienie na kliencie oraz empatyzowanie z jego potrzebami okazują się kluczowymi źródłami sukcesu nowoczesnych projektów informatycznych. Rolą testera jest być blisko klienta, zrozumieć jego priorytety, ustalić, co to znaczy przetestowany system. Takie podejście wymaga od organizacji większego zaufania do testerów, którzy w kontakcie z klientem będą dbać o testowalność rozwiązania od samego początku.

Nasze doświadczenie, intuicja, zrozumienie oraz wczucie się w sytuację drugiej osoby są kluczowymi kompetencjami w procesie wytwarzania oprogramowania. Wsparciem w tych działaniach powinna być mapa empatii, opisana bardziej szczegółowo w moim artykule na temat design thinking oraz w artykule na temat użycia person i technik z gier RPG.

Podróż klienta (ang. customer journey) jest pojęciem zaczerpniętym z marketingu określającym interakcje użytkownika z aplikacją. Dla testerów jest to skarbnica wiedzy, dzięki której mogą przeprowadzić i zautomatyzować akceptacyjne testy klienckie. Mapa pokazuje, kiedy i po co użytkownik korzysta z systemu. Dodatkowo jest cennym źródłem informacji o niewydajnych lub nieoptymalnych interakcji na linii użytkownik – system.

Shift left – testowanie najwcześniej jak to jest możliwe

Shift left to strategia testowania oprogramowania, która kładzie nacisk na wczesne wykrywanie i rozwiązywanie problemów. Tradycyjnie testowanie odbywało się na późniejszych etapach cyklu życia oprogramowania, często dopiero po zakończeniu procesu tworzenia. W przypadku shift left testowanie zaczyna się już na etapie projektowania i pisania kodu.

Shift left
Ryc. 2 Shift left

Wraz z wprowadzeniem strategii shift left, rola testerów ulega istotnej transformacji. Testerzy nie są już postrzegani jako osoby, których głównym zadaniem jest wykrywanie błędów w gotowym produkcie, lecz jako aktywni uczestnicy procesu rozwoju oprogramowania, którzy mają za zadanie zapobieganie pojawianiu się problemów jeszcze przed ich wystąpieniem.

Wymaga to nowego podejścia do pracy – zdobycia wiedzy na temat architektury oraz wiedzy niezbędnej do wsparcia pisania testów jednostkowych.

Dzięki testowaniu najwcześniej jak to jest możliwe, testerzy mogą wykryć defekty już na etapie tworzenia specyfikacji oraz przygotowywać testy automatyczne, czy wspierać pisanie testów jednostkowych.

Zamiast czekać do ostatniego etapu, w którym wszystkie elementy są łączone, testerzy przeprowadzają testy integracyjne na bieżąco, w miarę postępu prac. Dzięki temu mogą szybko zidentyfikować ewentualne problemy z interakcjami między różnymi modułami systemu, np.: zespół rozwijający aplikację webową przeprowadza testy integracyjne po każdej iteracji, aby zapewnić płynność działania strony i by uniknąć niepożądanych konfliktów.

Zalety podejścia shift left

Do zalet podejścia należą przede wszystkim:

  • Wykrywanie błędów wcześniej – dzięki testowaniu na wczesnym etapie można wykryć i rozwiązać błędy już w chwili ich powstawania, co ogranicza koszty i czas potrzebny na naprawę błędów w późniejszych fazach projektu.
  • Poprawa komunikacji – włączenie testerów już na wczesnym etapie pozwala na lepszą komunikację między różnymi działami projektowymi i zmniejsza ryzyko niezrozumienia wymagań.
  • Szybsza iteracja – dzięki wczesnemu testowaniu można szybciej iterować nad projektem, co prowadzi do szybszego dostarczania wartości klientowi i zwiększa konkurencyjność.

Testowanie sztucznej inteligencji – weryfikacja i walidacja modeli sztucznej inteligencji

W czasach, gdy sztuczna inteligencja (ang. AI) coraz śmielej wkracza w różne aspekty naszego życia, od transportu po finanse, kluczowe staje się pytanie o wiarygodność i bezpieczeństwo tych systemów. Aby zapewnić, że działają one zgodnie z oczekiwaniami, niezbędne jest ich dokładne testowanie i weryfikacja. Również w tym wypadku tester będzie musiał zdobyć specjalistyczną wiedzę, dzięki której będzie mógł wspierać rozwój sztucznej inteligencji.

Przyjrzymy się, jak można testować i sprawdzać poprawność działania AI, wykorzystując algorytmy Random Forest i pakiet tidymodels, na przykładzie autonomicznych samochodów i analizy danych giełdowych.

Testowanie autonomicznych samochodów z użyciem Random Forest

Autonomiczne samochody muszą być w stanie precyzyjnie rozpoznawać swoje otoczenie, aby zapewnić bezpieczeństwo wszystkim uczestnikom ruchu. Kluczowym elementem jest tutaj system wizji komputerowej, który niezawodnie identyfikuje przeszkody, znaki drogowe i inne pojazdy.

Testowanie autonomicznych samochodów z wykorzystaniem Random Forest
Ryc. 3 Testowanie autonomicznych samochodów z wykorzystaniem Random Forest
  1. Przygotowanie danych – zaczynamy od zbioru danych z obrazami z kamer samochodowych, etykietowanych pod kątem różnych obiektów. Dane dzielimy na zestaw treningowy i testowy.
  2. Trenowanie modelu – wykorzystujemy algorytm Random Forest, trenując model na zestawie treningowym. W tym procesie kluczowe jest użycie tidymodels do efektywnego preprocessingu i dopasowania modelu.
  3. Walidacja krzyżowa i testowanie – przeprowadzamy walidację krzyżową, a następnie testujemy model na zestawie testowym, oceniając jego skuteczność za pomocą metryk takich jak dokładność, precyzja i F1-score.
  4. Symulacje i testy terenowe – dodatkowo model jest weryfikowany w symulacjach komputerowych oraz poprzez testy terenowe, aby zapewnić jego gotowość do działania w realnych warunkach.

Analiza danych giełdowych z użyciem Random Forest

Przewidywanie ruchów cen akcji jest kolejnym obszarem, gdzie AI może znacząco przyczynić się do sukcesu finansowego. Tutaj również algorytm Random Forest może zostać wykorzystany do analizy i przewidywania na podstawie historycznych danych giełdowych.

Analiza danych giełdowych z użyciem Random Forest
Ryc. 4 Analiza danych giełdowych z użyciem Random Forest
  1. Przygotowanie danych – dane giełdowe są przetwarzane i dzielone na zestawy treningowe i testowe. Selekcjonujemy zmienne, które będą wykorzystane do trenowania modelu.
  2. Trenowanie modelu – model Random Forest jest trenowany z użyciem tidymodels, co umożliwia skuteczne zarządzanie procesem modelowania.
  3. Optymalizacja i walidacja – optymalizujemy hiperparametry modelu, a następnie przeprowadzamy walidację krzyżową, aby upewnić się, że model jest stabilny i wiarygodny.
  4. Testowanie i ocena – model jest oceniany na zestawie testowym, wykorzystując metryki specyficzne dla analizy finansowej, takie jak dokładność czy zwrot z inwestycji (ROI).
  5. Backtesting – aby zrozumieć, jak model zachowywałby się w przeszłości, przeprowadzamy backtesting na historycznych danych.

To tylko dwa przykładowe rozwiązania w jaki sposób sprawdzać sztuczną inteligencje, ale jest ich o wiele więcej.

Podsumowanie

Nowe technologie, sposoby działania i ciągłe doskonalenie są nieodzownymi elementami w branży IT. Wciąż pracujemy z ludźmi i to dla nich tworzymy oprogramowanie – póki co, jest to nasza istotna przewaga. Osobiście widzę dla nas – testerów – dużą szansę, która poprawi naszą pracę i da możliwość skupieniu się na jakości w zupełnie nowy sposób. Niestety, to też zmusza nas do wyjścia poza strefę komfortu i nauczenie się nowych narzędzi oraz kontaktu z klientem.

Dalej w testowaniu ważną rolę będą odgrywać nasze umiejętności komunikacji oraz analizy. Wierzę, że testowanie będzie się coraz bardziej rozwijać, a nasza praca stanie się jeszcze ciekawsza – czego sobie i wam życzę.

Bibliografia

  1. Shift left testing
  2. Customer journey map
  3. Guide to testing AI and ML applications
5/5 ( głosy: 3)
Ocena:
5/5 ( głosy: 3)
Autor
Avatar
Michał Kozłowski

Test Manager w Sii Polska. Pracuje w testach od 2009 roku. Karierę w IT zaczął jako producent gier na telefony komórkowe w czasach przed pierwszym iPhonem. Od 2011 roku zajmuje się zarządzaniem testami. Pracował dla dużych klientów z obszaru lotnictwa i telekomunikacji. Od 2013 roku prowadzi szkolenia dla testerów. Szkoli w Software Development Academy i wykłada testowanie oprogramowania w WSB Merito w Gdańsku. Prywatnie jest ojcem czteroletniej dziewczynki oraz miłośnikiem gier RPG.

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Może Cię również zainteresować

Pokaż więcej artykułów

Bądź na bieżąco

Zasubskrybuj naszego bloga i otrzymuj informacje o najnowszych wpisach.

Otrzymaj ofertę

Jeśli chcesz dowiedzieć się więcej na temat oferty Sii, skontaktuj się z nami.

Wyślij zapytanie Wyślij zapytanie

Natalia Competency Center Director

Get an offer

Dołącz do Sii

Znajdź idealną pracę – zapoznaj się z naszą ofertą rekrutacyjną i aplikuj.

Aplikuj Aplikuj

Paweł Process Owner

Join Sii

ZATWIERDŹ

This content is available only in one language version.
You will be redirected to home page.

Are you sure you want to leave this page?