Odc. 1: Jak AI wspiera testowanie? | #TestArchitectsTalk
Z okazji międzynarodowego Dnia Testera zapraszamy na serię odcinków #TestArchitectsTalk, w której eksperci #SiiPolska odpowiadają na gorące pytania, dzielą się wiedzą i przedstawiają swoje prognozy na przyszłość 🤔 Obejrzyj pierwszy odcinek i dowiedz się: ✅ Jak #SztucznaInteligencja rewolucjonizuje pracę testerów ✅ Jak #ChatGPT oraz inne narzędzia wspomagają wykonywanie codziennych zadań ✅ Czy #AI ma szansę zastąpić testerów Uczestnicy debaty: 🎙️ Mateusz Tadla, Senior Test Architect 🎙️ Michał Ślęzak, Test Architect 🎙️ Remigiusz Bednarczyk, Senior Test & Analysis Engineer 🎙️ Krzysztof Bednarski, Solution Architect
Serdecznie widzimy się znowu po roku. Przed nami właśnie Dzień Testera, także standardowo spotkanie, rozmowy na gorące tematy związane z testowaniem, z AI-em i kto dzisiaj ze mną rozmawia. Jak widać, delikatne zmiany. Część twarzy nowych, część twarzy już Wam znanych z poprzednich edycji i chciałbym Wam przedstawić naszych dzisiejszych tutaj współzawodników naszej dyskusji. Krzysiek, Remek i Michał, jakbyście mogli Panowie kilka słów o sobie powiedzieć. Cześć, nazywam się Krzysztof Bednarski, w SIi jestem już ponad 9 lat, obecnie na stanowisku Solution Architecta. To, czym się zajmuję, to projektowanie i implementacja różnych rozwiązań z zakresu QA dla naszych klientów. Cześć, nazywam się Remigiusz Bednarczyk, w Sii jestem od 8 lat, obecnie pełnię rolę testmanagera.
Dodatkowo zajmuję się procesem weryfikacji technicznych, którym też leaduję i jednocześnie jestem jeszcze akredytowanym trenerem teorii JSTQB. Cześć, nazywam się Michał Ślęzak, jestem testarchitektem w Sii, od ponad 5 lat pracuję w Sii. Pełnię role liderskie w różnych projektach, bywam też zaangażowany w proces pre-sales, jak i również jestem prelegentem na różnych wydarzeniach w Polsce i za granicą. Ja nazywam się Mateusz Tadla, no i standardowo osoba, która prowadzi dyskusję, moderuje delikatnie. Nie będę zamawiał czasu entonowego, może z poprzedniego roku mnie już znacie, także o czym będziemy sobie dzisiaj rozmawiać? Tematy mamy trzy. Pierwszy z nich to będzie, jak AI wprowadza nas w temat testowania i jak nam pomaga.
Później w drugim temacie, w drugim odcinku, porozmawiamy sobie o tematach związanych z low-codem, jakie są ich plusy i minusy. I trzeci też bardzo ważny temat, a mianowicie W jaki sposób możemy testować rozwiązania AI i gdzie tester może rzeczywiście odnaleźć się w tym całym takim skomplikowanym procesie. Ale na razie temat pierwszy, czyli w jaki sposób AI wprowadza nas w temat testowania, jak nam pomaga w takim życiu codziennym, no bo zgodzicie się, że AI to jest temat gorący, Temat, który się rozwija nawet nie z roku na rok, a z miesiąca na miesiąc. Ja osobiście mogę powiedzieć, że bardzo mi dużo pomaga w mojej pracy i będę chciał, żebyśmy rzeczywiście tak delikatnie zajawili naszych tutaj słuchaczy albo oglądających również, jakie ciekawe przypadki mogą oni wykorzystać w swoim prostu codziennym życiu czy na co dzień w pracy.
I może byśmy tutaj zaczęli od tematu bliskiego bardzo Remkowi, czyli testów manualnych. Jak w tym temacie rzeczywiście wspiera Ciebie AI? Tak, zdecydowanie tak jak powiedziałeś, ja w sumie będę bardziej występował w roli tutaj od strony testów manualnych i chciałbym złapać się tutaj ze słowa w momencie, kiedy to powiedziałeś, bo zapytałeś jak wprowadza testerów do testowania i myślę, że to jest tak naprawdę klucz, którym powinniśmy się zająć. W zasadzie Chciałem to sprawdzić naocznie i przeprowadziłem pewien eksperyment. Eksperyment polegał na tym, że odpytałem czat GPT i zadałem pewne otwarte pytanie. Mamy taką sytuację projektową, jesteśmy w projekcie Scrumowym, projekt zwinny, jesteśmy z interesariuszami na spotkaniu i dostajemy pytanie jako testerzy.
No to ja od tego trochę zacznę, jakby nawiązując do tematu poprzedniej naszej debaty. Nie wiem, czy obecni oglądający ją widzieli. Wcześniej próbowaliśmy trochę, jakby może nie tyle zaprojektować, co jakby pomyśleć, zastanowić się nad tym, jak AI będzie nam pomagało w tym nadchodzącym roku. No i teraz tą naszą predykcję możemy Z perspektywy tego roku w zasadzie ocenić, więc nie wiem czy pamiętacie, ja też zrobiłem eksperyment wtedy, który powtórzyłem obecnie i tylko u mnie ja skupiłem się na takim aspekcie powiedzmy już praktycznym, jeśli chodzi o projektowanie samych przypadków testowych i model z zeszłego roku, to był chat trójka, jeszcze nawet nie trzy i pół, był w stanie zaproponować mi Poprawne przypadki testowe, ale dopiero po trzecim czy czwartym promptcie, w tym momencie, jak zadałem mu dokładnie tego samego prompta, bo historię wiadomo, że możemy sobie przytrzymywać na swoim koncie, to już za pierwszym razem dostałem odpowiedź w oparciu o pairwise testing z odpowiednią kombinacją tych zestawów danych wejściowych, więc widzimy, że te modele też, tak jak Mateusz wspomniał, nawet nie tyle z roku na rok, co z miesiąca na miesiąc,
Ja też czasami po prostu sobie z nim rozmawiam, tak w sensie głosowo, bo mam też na telefonie czata GPT i czasami muszę zaprojektować jakiś framework od nowa, no to w sumie jest taka konwersacja po prostu, jak z kumplem, jakbyś to zaprojektował, jakbyś to zaprojektował, on po prostu mówi, jakie są tutaj złe, dobre strony tego rozwiązania, także też można fajnie czasami z kimś przedyskutować, także to jest świetna rzecz. I też właśnie promptowanie, bo to nawet już Krzysiek rok temu wspominał, że ono jest rzeczywiście turbo ważne i właśnie po tym naszym ostatnim spotkaniu zrobiłem taki mały research i znalazłem bardzo fajną wtyczkę do czata GPT, która się nazywa Prompt Perfect. I ona działa w ten sposób, że jeżeli piszemy jakiś prompt, ta wtyczka przechwytuje go. Następnie przy pomocy AI poprawia ten prompt, żeby on był lepiej zrozumiany przez czat GPT i lepiej on był powiedzmy dzielony odpowiednio tak optymalnie na tokeny. I dopiero ona w takiej poprawnej formie trafia do czata i wtedy on nam odpowiada.
I to mnie zaskoczyło kilka razy, jak dobrze sobie poradził nawet z trudniejszymi takimi HTML-owymi obiektami. Mi się wydaje, że też na jedną rzecz trzeba uważać, że jeżeli powiedzmy, czy wrzucamy jakiś test taki prosty, czy powiedzmy jakiś kawałek strony HTML i prosimy czata o zrobienie page objectów, to jest tutaj jedna pułapka. Czyli jeżeli pracujemy w dużych rzeczywiście jakichś firmach, gdzie my powiedzmy jemy jakieś Jakiś wielki monolit, prawda? I nasza aplikacja składa się z pewnych komponentów, które są wyświetlane w kilkunastu różnych miejscach. No to może to też wprowadzić do takiej duplikacji kodu, prawda? Że będziemy mieli jeden PageObject z pięcioma różnymi nazwami, a tak naprawdę to powinna być jedna klasa. Znaczy ja sobie wyobrażam, że gdybym ja miał projektować takiego AI, To by mu dał nie tylko, powiedzmy, ten taki prosty sklep linka po linie, co tam jest klikane, ale jednocześnie dał mu kontekst, powiedzmy, takiej mapy strony, mapy HTML, żebym wiedział, gdzie dokładnie na stronie się znajduje dany fragment.
Wtedy on rzeczywiście te PageObjecty po prostu potrafiłby w dużo lepszy sposób tworzyć, no nie? Też taką fajną rzeczą, którą ja też używam, jeżeli chodzi o generowanie kodu, to np. generowanie testów API. Bo możemy mieć, powiedzmy, Jason Swagger wrzucony do AI-a, zrób mi, powiedzmy, testy, tak? Czy nawet kolekcję z Postmana, no przecież to też możemy bez żadnego problemu sobie przetłumaczyć i zrobić z tego Java plus REST Assured na przykład. A jeżeli chodzi o tłumaczenie, to też miałem taki case, gdzie mieliśmy napisane testy w Java i selenium jednego z klientów i on chciał, żeby to przepisać na C-Sharp, bo rzeczywiście zespoły były bardziej dotnetowe. Tak naprawdę w ciągu dwóch, trzech dni udało się przepisać 12 tysięcy linii kodu z Java plus Selenium na C Sharp plus Playwright. Także nie tylko tłumaczenie pomiędzy językami wychodziło bardzo dobrze, ale również zmiana tego na całkowicie inne biblioteki.
I to też nie rozwija się liniowo tak naprawdę, tylko logerytmicznie tak, że co będzie za pięć lat, no to zobaczymy. Pewnie z naszą taką każdą edycją gdzieś tam nadal te tematy AI będą gorące albo jeszcze bardziej gorące nawet niż są w dniu dzisiejszym, ale też Za tymi tematami zostały też takie wątpliwości, które też tam wspominaliśmy, gdzieś kwestie bezpieczeństwa, tego co możemy tam wpisać, czego nie. To też jest taki trochę śliski temat i jakby nie wszyscy też wiedzą, że taki model AI możemy przecież postawić i być trochę bardziej jednak bezpiecznym na własnych zasobach firmowych. Wiem, że u Ciebie Remig coś właśnie takiego jest w projekcie, prawda? Tak, zgadza się, bo tutaj mamy jakby jednym tematem, o którym mówiliśmy, tak jak powiedziałeś, był kontekst, ale drugim jest też to mityczne privacy, o którym też wspominaliśmy delikatnie.
Robiłem sobie nawet taki eksperymencik, gdzie swój własny test plan, taki mam general test plan dwustopięciostronicowy, załadowałem sobie właśnie do tego modelu. Testerzy zawsze się pytali, a gdzie szukać jakiejś tam informacji odnośnie projektu, czy jaki tam mamy defect management itd., itd. To stworzyłem taką semi maszynkę, w której w zasadzie oni mogą sobie odpytywać bezpośrednio jak zarządzamy defektami. To po polsku normalnie prompt i tyle. I od razu już skanuje sobie po dokumencie defekt management i wszystko wynajduje. Także naprawdę można sprytnie do tematu podejść. To Wam powiem, że ja też mówię, że taki AI troszkę pomaga takiemu juniorowi szybciej stać się regularem, bo już jakby abstrahując od tematu nauki, no bo ja uważam, że nauka programowania dzisiaj bez AI to jest nie może strata czasu, tylko po prostu powolny proces, bo tak naprawdę z AI możemy prosić o code review, jakiś pair coding, w ogóle uczenie się razem z nim, prawda?
A nawet samo to, że tak jak w Twoim przypadku masz takiego AI postawionego u siebie w firmie, no to przychodzi junior, prawda, i jemu nie zajmuje Powiedzmy pięć miesięcy wprowadzenia się w projekt, bo jest bardzo dużo powiedzmy skomplikowana powiedzmy ta warstwa biznesowa, tylko on też przy pomocy tego AI dużo szybciej może uzyskać informacje, o których nie wie po prostu, tak? Takiego buddy'ego ma, nie? Takiego buddy'ego bardzo ogarniętego, takiego seniora, który zawsze ma na niego czas, nie? Także to jest super rzecz, no nie? Ale właśnie też jakiś taki, jeżeli chodzi o naukę, to też Michał ma trochę doświadczenia w tym temacie, no nie? Tak, na pewno tutaj to jest ciekawy przypadek Remka, ale kolejną rzeczą jest na przykład diagram GPT. Jest to takie narzędzie, które może nam stworzyć diagram przepływu, pokazać to, jakie akcje są wykonywane i to mogą być różne przypadki użycia.
Kolejną rzeczą jest też to, że korzystanie właśnie podczas nauki czy to programowania. Można, nie wiem, wrócimy do tych przykładów, nie wiem, z wzorcami projektowymi. Jak korzystać z dependency injection? Wytłumacz mi, Jak dziesięciolatkowi. Albo ja kiedyś zapytałem czata, wytłumacz mi, nie wiem, sortowanie, chyba było to sortowanie bąbelkowe, jakbym miał 5 lat. I wtedy czat tłumaczy, że jakbyś miał klocka, przekładał z klockiem i porównywał z klockiem i rzeczywiście ja myślę, że dziecko byłoby w stanie zrozumieć tą koncepcję. Więc to jest moim zdaniem bardzo pomocne i utrwiające prace. Także tak. Okej, no to powiem Ci, że dobrze też powiedziałeś o tym halucynowaniu, bo jak sobie pomyślałem, że czas już to trochę taka właśnie broń obusieczna ten AI momentami, no bo jeżeli junior się uczy tylko i wyłącznie z czatem i on mu zacznie halucynować, no to będzie też trudno zweryfikować, czy no on trochę mnie ściemnia, kiedy mnie uczy, no nie?
Ja akurat korzystałem z Kodium AI. Jest to takie narzędzie, które możemy zintegrować z naszym repozytorium i on wykona nam automatyczny kod review i co ciekawe tworzy też testy jednostkowe na przykład i on tworzy je bardzo przyzwoite, więc Tego narzędzia używam od jakiegoś czasu, od kilku tygodni, ale widzę, że coraz te testy, ten kod jest coraz ciekawszy, więc coraz bardziej taki zbliżający się do tego kodu produkcyjnego, a czasami nawet jest właśnie takiej jakości. Czyli zauważmy, że tak naprawdę z tego, co powiedziałeś, skoro pracujemy nawet na poziomie unit testów, to mamy przesunięcie w lewo, mamy shift left, czyli faktycznie idziemy w tym takim celu testowania, prawda?
Bo wprowadzasz kulturę pracy, prawda? W sensie, że nawet jak już, nawet te unity będą wygenerowane przez, więc potencjalnie niższej jakości, ale będą, więc to już cały model. No, a jeśli chodzi o jakieś takie tipy czy predykcje, no to ja bym tutaj raczej stawiał, że rynek idzie w tą stronę właśnie osób, które używają AI czy będą, czy jakby będą umieć używać AI. No i na tych, które tego nie robią i tutaj jakby siłą rzeczy przez to, że właśnie jakby odpowiednie używanie podnosi nam performance, no to rynek będzie dążył do tego, żeby jakby osiągnąć jak najwyższą wartość, jak najmniejszym kosztem, a więc no niestety od tego mimo wszystko wydaje mi się, że się nie ucieknie. I widać to, co mówisz tak naprawdę po rynku samym.
które umożliwiają za darmo skonfigurowanie sobie webhooków, podpinacie swojego czata GPT, konfigurujecie sobie w jakimś specyficznym użyciu dla waszej potrzeby i macie automatycznie takiego własnego agenta do wykonywania jakichś powtarzalnych tasków na przykład, więc to też tak chciałbym zainspirować, bo zresztą w podobny sposób uczyłem się, może bez czatu GPT, ale uczyłem się chociażby ja sam API, czyli gdzieś tam eksplorowałem jakieś próby z wystawionymi API na internecie, także no to się sprawdza po prostu. No to się zgadzam, jakby to agenty to teraz są właśnie takie bardzo gorące tematy, ale to chyba się do tego przyzwyczailiśmy w AI, że co jakaś nowinka staje się gorącym tematem, także w tych tematach nie ma nudy, można powiedzieć, tak podsumowując całość. Na pewno możemy też wywnioskować, że nie boimy się, próbujemy, testujemy, rzeczywiście te narzędzia performance nam bardzo potrafią poprawić, rozwijać nas w nowych, całkowicie dla nas nieznanych miejscach, także
Pokazano wszystkie 15 dopasowań. Transkrypcja generowana automatycznie i niesprawdzana ręcznie — może zawierać błędy.
Mateusz przedstawia gości: Krzysztof, Remigiusz i Michał. Rozmowa zaczyna się od przedstawień osobistych i zawodowych.
Krzysztof kontynuuje opowieść o korzyściach AI w testowaniu, podkreślając jego rolę w projekcie Scrumowym i prezentacji wyników.
Mateusz opisuje korzyści AI w projektowaniu przypadków testowych, porównując wersje chatów GPT i podkreślając zmiany w dostępnym potencjału.
Mateusz opisuje korzyści AI jako mentora w rozwijaniu umiejętności testowania, podkreślając jego rolę w analizie błędów i debugowaniu.
Krzysztof, Remigiusz i Mateusz omawiają zmiany w korzystaniu z Stack Overflow i chatów AI, podkreślając korzyści i różnice między wersjami modeli.
Krzysztof przedstawia techniki promptowania i roleplay, podkreślając ich znaczenie w uzyskiwaniu lepszych odpowiedzi od chatów AI.
Krzysztof opisuje hybrydowe modele AI, takie jak Perplexity, i techniki takie jak upload plików i formatowanie odpowiedzi.
Rozmowa o halucynacjach modeli AI i znaczeniu odpowiedniego kontekstu w generowaniu kodu.
Omówienie implementacji modeli AI w firmach, w tym onboardingu i przetwarzaniu dokumentów.
Przykłady zastosowania AI jako asystent w naukach i wytłumaczania skomplikowanych koncepcji.
Rozmowa o problemie halucynacji modeli AI i potrzebie sprawdzania wiarygodności informacji.
Omówienie wprowadzania kultury testowania jednostkowego i korzyści z shift left.
Analiza zmian rynkowych związanej z użyciem AI i konieczności korzystania z tych narzędzi.
Rozmowa o konkretnych przykładach zastosowania AI, takich jak Copilot i własni agenti do wykonywania zadań.
Rozmowa o problemach związanych z korzystaniem z Copilota podczas testowania kandydatów.
Podsumowanie i zamknięcie pierwszej części odcinka, z zachętą do obejrzenia części drugiej.
Rozdziały i streszczenia generowane automatycznie. Pełna transkrypcja nie jest publikowana — wyszukaj frazę, aby zobaczyć dopasowane fragmenty.
Kliknij, aby znaleźć fragmenty, w których pada.
Z okazji międzynarodowego Dnia Testera zapraszamy na serię odcinków #TestArchitectsTalk, w której eksperci #SiiPolska odpowiadają na gorące pytania, dzielą się wiedzą i przedstawiają swoje prognozy na przyszłość 🤔
Obejrzyj pierwszy odcinek i dowiedz się:
✅ Jak #SztucznaInteligencja rewolucjonizuje pracę testerów
✅ Jak #ChatGPT oraz inne narzędzia wspomagają wykonywanie codziennych zadań
✅ Czy #AI ma szansę zastąpić testerów
Uczestnicy debaty:
🎙️ Mateusz Tadla, Senior Test Architect
🎙️ Michał Ślęzak, Test Architect
🎙️ Remigiusz Bednarczyk, Senior Test & Analysis Engineer
🎙️ Krzysztof Bednarski, Solution Architect