Wyślij zapytanie Dołącz do Sii

Ostatnio bardzo dużo mówi się o wykorzystywaniu sztucznej inteligencji w wielu obszarach. Niedawno social media zalała fala grafik wygenerowanych przez AI (Artificial Intelligence) – między innymi przez aplikację Lensa. Jest to więc ciekawy temat do zbadania w kontekście wykorzystania tej technologii do testów.

W artykule zajmę się zastosowaniem AI w testowaniu, koncentrując się na narzędziu ChatGPT. W tekście znajdziecie kilka pytań i kwestii związanych z testingiem oraz pokażę, w jaki sposób ChatGPT na nie zareagował. Sprawdzę odpowiedzi AI dotyczące m.in.:

  • tworzenia przypadków testowych,
  • testów automatycznych.
  • dostępności.

Czym jest ChatGPT?

Zapytajmy sam ChatGPT, czym jest i jakich źródeł używa do udzielania odpowiedzi:

Czym jest ChatGPT i jakich źródeł używa - odpowiedź AI
Ryc. 1 Czym jest ChatGPT i jakich źródeł używa – odpowiedź AI

Zastosowanie AI w testowaniu

Przypadki testowe

Zacznijmy od zagadnienia, z którym większość testerów spotyka się na początku swojej drogi zawodowej. Zobaczymy, jak ChatGPT poradzi sobie z dwoma pytaniami związanymi z tworzeniem przypadków testowych. Zapytałem ChatGPT o przypadek testowy dotyczący logowania do strony internetowej oraz dotyczący aplikacji mobilnej. Odpowiedzi znajdziecie poniżej.

Odpowiedź ChatGPT na pytanie dotyczące tworzenia przypadku testowego logowania do strony www
Ryc. 2 Odpowiedź ChatGPT na pytanie dotyczące tworzenia przypadku testowego logowania do strony www
Odpowiedź ChatGPT na pytanie dotyczące tworzenia przypadku aplikacji mobilnej
Ryc. 3 Odpowiedź ChatGPT na pytanie dotyczące tworzenia przypadku aplikacji mobilnej

Obecnie pracuję w projekcie aplikacji mobilnej związanej z rynkiem medycznym. Dlatego do powyższego zapytania dodałem więcej szczegółów.

Oto wynik:

Odpowiedź ChatGPT na pytanie dotyczące tworzenia przypadku aplikacji mobilnej usług medycznych
Ryc. 4 Odpowiedź ChatGPT na pytanie dotyczące tworzenia przypadku aplikacji mobilnej usług medycznych

Odpowiedź ChatGPT była dla mnie zaskakująca, gdyż – mimo kilku różnic – mógłbym ten przypadek testowy zastosować w projekcie.

Pytania o testy automatyczne

Teraz zerkniemy, jak AI poradzi sobie z trudniejszym tematem dotyczącym testów automatycznych.

Zacznijmy od czegoś łatwiejszego, czyli od zapytania, jak otworzyć stronę www, wykorzystując Selenium.

Odpowiedź ChatGPT na pytanie dotyczące otwarcia strony www w Selenium
Ryc. 5 Odpowiedź ChatGPT na pytanie dotyczące otwarcia strony www w Selenium

Powyższy kod można uznać za prawidłowy w przypadku języka Python.

Przykład dokumentacji Selenium
Ryc. 6 Przykład dokumentacji Selenium

W naszym zapytaniu nie podaliśmy nazwy żadnego języka programowania. Zobaczymy, co się stanie, jak uściślimy je i wskażemy konkretny język.

Odpowiedź ChatGPT na pytanie dotyczące otwarcia strony www w Selenium w Java
Ryc. 7 Odpowiedź ChatGPT na pytanie dotyczące otwarcia strony www w Selenium w Java

Pokusiłem się o sprawdzenie, czy powyższy kod działa. Poniżej wynik:

Przykład uruchomienia kodu wygenerowanego przez ChatGPT
Ryc. 8 Przykład uruchomienia kodu wygenerowanego przez ChatGPT

Nie miałem problemu z uruchomieniem powyższego kodu, a rezultat był zgodny z oczekiwanym, czyli strona Sii została poprawnie otwarta w przeglądarce.

Oczywiście, możemy w dalszym ciągu udoskonalać nasze zapytanie. Poniżej zmodyfikowałem je tak, żeby ChatGPT spróbował sprawdzić, czy tytuł strony jest prawidłowy.

Odpowiedź ChatGPT na pytanie dotyczące otwarcia strony www w Selenium i sprawdzenia tytułu strony
Ryc. 9 Odpowiedź ChatGPT na pytanie dotyczące otwarcia strony www w Selenium i sprawdzenia tytułu strony

Naturalnie, w prawdziwym życiu nie powinniśmy używać takiego kodu – zamiast niego zastosować asercję. Dlatego teraz zapytamy ChatGPT o asercję.

Odpowiedź ChatGPT na pytanie dotyczące otwarcia strony www w Selenium i sprawdzenia tytułu strony z użyciem asercji
Ryc. 10 Odpowiedź ChatGPT na pytanie dotyczące otwarcia strony www w Selenium i sprawdzenia tytułu strony z użyciem asercji

W powyższych przykładach ChatGPT nie ma problemu ze wskazaniem bibliotek, które należy zaimportować, żeby kod działał prawidłowo. Byłem jednak zaskoczony faktem, że narzędzie poradziło sobie także z przygotowaniem kodu z uwzględnieniem asercji w TestNG.

Pytanie o Robot Framework

Niestety, nie zawsze ChatGPT w taki sposób generuje odpowiedzi. W przypadku zapytania dotyczącego Robot Framework narzędzie nie wskazało biblioteki niezbędnej do zaimportowania.

Odpowiedź ChatGPT na pytanie dotyczące otwarcia strony www w Robot Framework
Ryc. 11 Odpowiedź ChatGPT na pytanie dotyczące otwarcia strony www w Robot Framework

W tej sytuacji należy zaimportować bibliotekę SeleniumLibrary.

Pytania o Selenium, Cypress i Playwright

W przypadku Selenium najczęściej zadawane pytanie dotyczy różnic między implicit wait a explicit wait. Warto więc sprawdzić, czy z tą kwestią poradzi sobie sztuczna inteligencja.

Odpowiedź ChatGPT na pytanie dotyczące różnicy między implicit wait a explicit wait
Ryc. 12 Odpowiedź ChatGPT na pytanie dotyczące różnicy między implicit wait a explicit wait

Ocenę powyższej odpowiedzi pozostawiam Wam 😉 Może w niej pomóc fragment dokumentacji na temat tego zagadnienia

ChatGPT jest w stanie odpowiedzieć nawet na bardziej złożone zapytania:

Odpowiedź ChatGPT na pytanie dotyczące otwarcia strony www w Selenium z użyciem PageObject Pattern
Ryc. 13 Odpowiedź ChatGPT na pytanie dotyczące otwarcia strony www w Selenium z użyciem PageObject Pattern

Nie samym Selenium tester żyje 😉 Obecnie często wykorzystywany jest także Cypress oraz rośnie popularność frameworku Playwright. Czy w tym przypadku ChatGPT może być pomocny?

W przypadku Cypress kod wygenerowany przez narzędzie działał i wykonał test prawidłowo:

describe('www.sii.pl', () => {
  it('should open the homepage', () => {
    cy.visit('https://www.sii.pl');

    // Assert that the page has loaded successfully
    cy.title().should('eq', 'Strona główna - SII');
  });
});

Przykład:

Przykład uruchomienia kodu, który ChatGPT wygenerował dla Cypress
Ryc. 14 Przykład uruchomienia kodu, który ChatGPT wygenerował dla Cypress

Niestety, sytuacja nie wyglądała tak kolorowo w przypadku Playwrighta. ChatGPT przygotował dla mnie poniższy kod:

const { chromium } = require('playwright');

describe('www.sii.pl', () => {
  it('should open the homepage', async () => {
    const browser = await chromium.launch();
    const page = await browser.newPage();
    await page.goto('https://www.sii.pl');

    // Assert that the page has loaded successfully
    expect(await page.title()).toEqual('Strona główna - SII');

    await browser. Close();
  });
});

Uwzględniając format, który ChatGPT przyjął, moim zdaniem kod powinien wyglądać tak:

import { test, expect } from '@playwright/test'

test.describe.only('www.sii.pl', () => {
  test('should open the homepage', async ({ page }) => {
    await page.goto('https://www.sii.pl');

    // Assert that the page has loaded successfully
    expect(await page.title()).toEqual('Strona główna - SII');
  })
})

Oczywiście, w swoim badaniu sprawdzałem także inne zagadnienia związane z testami automatycznymi i programowaniem, między innymi składałem zapytania dotyczące:

  • Appium,
  • HTML,
  • JavaScript.

ChatGPT a zagadnienie dostępności

Od jakiegoś czasu jestem mocno zainteresowany tematem dostępności (więcej na jej temat możesz dowiedzieć się z napisanych przeze mnie artykułów: część I i część II). Z tym zagadnieniem powiązane są standardy WCAG.

Odpowiedź ChatGPT na pytanie dotyczące zapewnienia dostępności zgodnie ze standardami WCAG
Ryc. 15 Odpowiedź ChatGPT na pytanie dotyczące zapewnienia dostępności zgodnie ze standardami WCAG

ChatGPT odpowiada w różnych językach. Mnie osobiście zaskoczyła odpowiedź w języku polskim. Uważam też, że bardzo ciężko jest tworzyć treści internetowe, które są dostępne również dla niemowląt 😉

Odpowiedź ChatGPT, która zaleca tworzenie treści według standardu WCAG dostępnych m.in. dla niemowląt
Ryc. 16 Odpowiedź ChatGPT, która zaleca tworzenie treści według standardu WCAG dostępnych m.in. dla niemowląt

Oczywiście, także w przypadku a11y (accessibility) możemy zadawać bardziej szczegółowe pytania.

Odpowiedź ChatGPT na pytanie dotyczące dodania etykiety aria w HTML
Ryc. 17 Odpowiedź ChatGPT na pytanie dotyczące dodania etykiety aria w HTML

Należy tutaj wspomnieć, że ChatGPT nie zawsze działa zgodnie z oczekiwaniami. W powyższym przykładzie pytanie zadałem po angielsku, natomiast odpowiedz została udzielona po polsku.

Kontrowersje związane z AI

Głównym celem artykułu było przedstawienie możliwość AI w kontekście testowania, jednak uważam, że warto wspomnieć o kontrowersjach związanych ze sztuczną inteligencją.

Prawa autorskie

Media oraz autorzy donoszą, że AI bardzo często wykorzystuje cudze dzieła. Twórca Midjourney dla magazynu Forbes powiedział:

Nie, nie ma sposobu, by pobrać setki milionów obrazów i wiedzieć, skąd one są. Byłoby oczywiście fajnie, gdyby zawierały zabudowane metadane o posiadaczu praw autorskich, ale to i tak nie pomoże: nie są zarejestrowane. A więc nie ma sposobu, by znaleźć grafikę w Internecie, automatycznie odnaleźć jej właściciela i w jakikolwiek sposób potwierdzić jego prawa.

Z powyższych słów można moim zdaniem wywnioskować potwierdzenie dotyczące wykorzystywania cudzych dzieł przez sztuczną inteligencję. Ma to szczególne znaczenie choćby w kontekście kolejnej sprawy naruszenia praw milionów twórców, którzy zdecydowali się na zbiorowy pozew.

Edukacja i krytyczne myślenie

Szkoły w Nowym Jorku ograniczyły dostęp do ChatGPT. Poniżej słowa Jenny Lyle, rzeczniczki Departamentu Edukacji:

Ze względu na obawy dotyczące negatywnego wpływu na naukę uczniów oraz obawy dotyczące bezpieczeństwa i dokładności treści, dostęp do ChatGPT jest ograniczony w sieciach i urządzeniach szkół publicznych w Nowym Jorku.

Chociaż narzędzie może być w stanie zapewnić szybkie i łatwe odpowiedzi na pytania, nie buduje umiejętności krytycznego myślenia i rozwiązywania problemów, które są niezbędne do osiągnięcia sukcesu w nauce i przez całe życie.

Zgadzam się z powyższymi słowami. Mieszkam w mieście bez dostępu do morza i jeziora, a ChatGPT próbuje mnie przekonać do tego, że w Redzie są piękne plaże.

Odpowiedź ChatGPT na pytanie o miejscowość Reda
Ryc. 18 Odpowiedź ChatGPT na pytanie o miejscowość Reda

Czy można polegać na AI?

Nasuwają się pytania:

  • Czy AI jest w stanie zastąpić człowieka?
  • Czy można odpowiedziom generowanym przez te narzędzia ufać?

Programy wykorzystujące sztuczną inteligencję wciąż wskazują często błędne odpowiedzi lub podają informacje, które nie są aktualne.

Wyżej zaprezentowałem przykład kodu, który, żeby działać, wymagał korekty oraz odpowiedź, w której ChatGPT proponował zapewnienie dostępności stron internetowych w przypadku niemowląt.

W swojej historii korzystania z narzędzia spotkałem się także prawdopodobnie z sytuacją podawania nieaktualnych informacji. Zapytałem o różnice między Cypress i Playwright. Odpowiedź była następująca:

Playwright supports a wider range of browsers than Cypress, including Chromium (used by Google Chrome), Firefox, and WebKit (used by Safari). Cypress currently only supports Chromium.

Postanowiłem przyjrzeć się tej odpowiedzi i ją zweryfikować. Na oficjalnej stronie Cypress informuje o wsparciu wielu przeglądarek i silników m.in.: Chrome, Firefox, Edge, Webkit. Tutaj możemy mieć do czynienia z ograniczeniem ChatGPT. ChatGPT zawiera informacje do 2021 roku.

Ograniczenia Chat GPT
Ryc. 19 Ograniczenia ChatGPT

Jest to więc potwierdzenie, że człowiek i jego kontrola są niezbędne.

Również inne obszary w IT zastanawiają się nad możliwościami użycia AI w ich pracy. W serwisie YouTube można znaleźć materiały dotyczące wykorzystania sztucznej inteligencji w procesie tworzenia strony internetowej lub aplikacji. Warto zerknąć, co mówią.

Podsumowanie

Moim zdaniem sztuczna inteligencja może być wykorzystywana jedynie jako pomoc w codziennej pracy np. testera i nie powinniśmy na niej bezgranicznie polegać. Dane uzyskane poprzez AI należy weryfikować i podchodzić do nich z dużą ostrożnością. Jestem zdecydowanym przeciwnikiem tworzenia treści na podstawie odpowiedzi z ChatGPT na zasadzie kopiuj/wklej.

Otwartym tematem pozostaje wciąż kwestia zasad etycznych i praw autorskich. Wydaje mi się, że jest to coś, z czym musimy się zmierzyć w ciągu kilku następnych lat. W związku z powyższymi wątpliwości uważam, że AI nie jest w stanie zastąpić człowieka.

***

Temat sztucznej inteligencji został poruszony również w innych artykułach naszych ekspertów – zachęcamy do zapoznania się z nimi.

5/5 ( głosy: 46)
Ocena:
5/5 ( głosy: 46)
Autor
Avatar
Łukasz Krause

Pracuje w Sii jako Inżynier ds. testów i analiz. Interesuje się komputerami i nowinkami technologicznymi. Lubi testować nowe urządzenia i aplikacje, dlatego zdecydował się na studia podyplomowe z zakresu testowania. Staram się opanować tajniki automatyzacji, a także schudnąć, choć szybciej uda mu się zrealizować chyba pierwszy punkt ;) Prywatnie ojciec kota lubiący niskobudżetowe podróże ;)

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?