lukaszstaniszewski.pl

blog programistyczny

lukaszstaniszewski.pl

blog programistyczny

Szybka kawka z AI #10: Testowanie — AI radzi sobie dobrze czy słabo?

Jednym z pierwszych sensownych zastosowań AI w mojej pracy było pisanie testów jednostkowych.

Jak możesz się domyślić, efekty bywały różne. AI potrafiło pominąć ważny scenariusz, źle zrozumieć warunki albo przygotować test integracyjny zamiast jednostkowego.

Czyli standard: test jest, zielony kolor się świeci, ale pewności nadal brak 😅

Jak sobie z tym poradzić?

Rozwiązanie jest dość proste: połącz skill z procesem, który normalnie wykonujesz podczas pisania testów.

Przejdźmy przez ten proces krok po kroku.

Na początku najczęściej rozpisujesz scenariusze, które powinny zostać sprawdzone. Na przykład:

  • co się stanie, gdy wartość wynosi 0,
  • co się stanie, gdy wartość jest większa od oczekiwanej,
  • co się stanie, gdy wartość jest równa wartości granicznej,
  • jak kod zachowa się dla nieprawidłowych danych.

Następnie AI przygotowuje testy, a Ty sprawdzasz, czy rzeczywiście działają i czy testują to, co powinny.

Kolejnym krokiem jest uruchomienie code coverage. Dzięki temu możesz szybko zauważyć, czy jakaś część klasy nadal nie została sprawdzona.

Jeżeli pokrycie wygląda dobrze, na końcu pozostają testy mutacyjne. To one pokażą, czy testy faktycznie wykrywają zmiany w logice, czy tylko wykonują kod i przypadkiem przechodzą.

Zamknij proces w skillu

Cały ten proces możesz opisać w skillu:

  1. przeanalizuj klasę,
  2. rozpisz scenariusze testowe,
  3. przygotuj testy jednostkowe,
  4. uruchom testy,
  5. sprawdź code coverage,
  6. uruchom testy mutacyjne,
  7. popraw brakujące lub nieskuteczne testy.

Do tego wystarczy dopisać odpowiednie komendy używane w projekcie.

Dzięki temu AI nie kończy pracy po wygenerowaniu kilku testów. Dostaje konkretny workflow, który prowadzi je od analizy scenariuszy aż do weryfikacji jakości testów.

Sam setup nie jest szczególnie skomplikowany. Trzeba po prostu spisać proces, komendy i oczekiwany rezultat.

W efekcie zamiast losowo wygenerowanych testów dostajesz znacznie lepiej przetestowaną klasę.

Szybka kawka z AI #10: Testowanie — AI radzi sobie dobrze czy słabo?
Przewiń na górę