Mentionsy Mentionsy
Sii Talks
Sii Talks

Odc. 1: Jak AI wspiera testowanie? | #TestArchitectsTalk

09.09.2024 ·40 min 43 s · 16 rozdziałów

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

17:22 · Hybrydowe modele i techniki 3

Ma takie narzędzie CodeGen. I ten PlayWrite CodeGen pozwala nam na nagrywanie prostych testów UI za pomocą właśnie tego narzędzia. Sam ten kod, który jest produkowany jest raczej słabej jakości, jednak może nam pozwolić stworzyć takie POC demo, ale jeżeli wesprzemy się np. chatem GPT czy jakimś innym modelem i napiszemy, mając ten kod i dodając go do chata, Proszę, stwórz mi z tego PageObject, uwzględnij tutaj zasady programowania obiektowego, użyj Solid Principles, czyli te słynne zasady, które tutaj się z tym też programowaniem obiektowym wiążą, to ten kod naprawdę może być bardzo przyzwoity

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.

32:20 · Halucynacje i sprawdzanie wiarygodności 1

Więc mi się to sprawdziło w kilku takich mniejszych rozwiązaniach, kiedy przygotowywałem kod na jakieś wydarzenia, na jakieś prezentacje i naprawdę przyspieszał pracę. Łatwiej było tworzyć te, akurat to były przykłady z PlayWrita, testy czy właśnie PageObjecty. A kolejną rzeczą, którą polecam sprawdzić, to jest Coraz więcej myślę, że takich agentów będzie powstawać. Agenci do Code Review. To jest właśnie ten obszar, o którym trochę Remek wspominał, czy Krzysiek, czyli możemy Dodać nasz kod do naszego kodu takiego agenta i zrobi nam kod review.

Pokazano wszystkie 4 dopasowania. Transkrypcja generowana automatycznie i niesprawdzana ręcznie — może zawierać błędy.