Chciałbym podzielić się ciekawym przypadkiem z firmy produkującej oprogramowanie, w której potrzeba było dużo dobrej jakości danych testowych. Specyficzne wymagania projektu sprawiały wiele trudności, tak by dane testowe były sensowne i dobrze testowały system. Zespół deweloperski był sfrustrowany ciągłą potrzebą ręcznego tworzenia danych, co było niesamowicie nudnym i powtarzalnym zadaniem.
Czemu ten problem jest zaskakująco trudny do rozwiązania
Jest to dość często występujący problem, który powoduje ogromne marnowanie czasu, jeśli wymagania co do danych testowych są duże. Możliwe jest napisanie programów lub skryptów pobierających dane z określonych źródeł, lecz zwykle wiąże się to z kupnem baz danych i utratą ogromnej ilości czasu na programowanie specyficznego rozwiązania dla danych testowych. Dodatkowo, dane zewnętrzne często nie odpowiadają dokładnie potrzebom testów, więc i tak trzeba je ręcznie dostosowywać.
Pierwsze próby rozwiązania
Naiwne próby zmuszenia ChatGPT do generowania danych testowych kończą się problematycznie. Model odmawia dostarczenia dużej ilości przykładów:
Jak widać ChatGPT nie lubi podawać dużo danych testowych. Zdaje się, że jest problem z dużą ilością danych i ich jakość jest wątpliwa. Żeby użycie GPT tutaj miało sens, musimy znaleźć sposób na rozwiązanie tych problemów.
Eksperymenty na warsztacie szkoleniowym
Postanowiliśmy zaadresować te problemy, przechodząc do OpenAI Playground i zaczęliśmy eksperymentować z ustawieniami. Przede wszystkim polepszyliśmy prompt, dodając przykłady poprawnych danych testowych. Zastosowaliśmy technikę „few-shot learning” połączoną z inicjalizacją poprawnej odpowiedzi. Skorzystaliśmy też z bardziej odpowiedniego do zadania modelu GPT-3.5 Turbo 16k. Pomogło również ustawienie mniejszej temperatury generowania i maksymalnej długości odpowiedzi:
Wyniki interwencji na warsztacie
Jak widać na przykładzie, po poprawnym zastosowaniu prompta model był w stanie wygenerować sensowne, bogate w szczegóły dane testowe. Dzięki temu firma zaoszczędziła bardzo dużo kosztów, problemów i czasu pracowników. Teraz dane testowe mogą być tworzone szybko, sprawnie i z zachowaniem idealnej jakości i dopasowania do potrzeb:
To pokazuje, że odpowiednie użycie AI pozwala na rozwiązanie wielu problemów w testowaniu oprogramowania. Kreatywne wykorzystanie takich narzędzi może przynieść znaczące oszczędności i usprawnić pracę zespołów developerskich. Szkolenia z użycia ChatGPT pozwalają na rozwiązanie wielu problemów, które zwykle zdają się nie do przeskoczenia.
0 komentarzy