Podrobno

Uporaba s poizvedovanjem obogatenega generiranja za avtomatsko generiranje testov
ID Starašinič, Žan (Avtor), ID Vavpotič, Damjan (Mentor) Več o mentorju... Povezava se odpre v novem oknu

.pdfPDF - Predstavitvena datoteka, prenos (363,06 KB)
MD5: C5BC8A8817A9C43177090CF3CF68FB88

Izvleček
Pisanje testov je časovno zahteven del razvoja programske opreme in razvijalci vsak dan porabijo veliko časa za njihovo pripravo. Ob hitrem razvoju na področju velikih jezikovnih modelov smo hoteli preveriti uspešnost tehnologije s poizvedovanjem obogatenega generiranja (RAG) za avtomatsko generiranje testov v jeziku Python. Veliki jezikovni modeli so uspešni pri generiranju kode, a kakovostno testiranje je ena izmed njihovih večjih pomanjkljivosti, pogosto namreč generirajo teste brez razumevanja konteksta. RAG je tehnika, ki zaobide pomanjkanje domenskega znanja tako, da na podlagi analizirane funkcije v bazi znanja najde podobne teste, s katerimi lahko pravilno generira nove. Z najdenimi primeri jezikovni model ustvari teste brez halucinacij in drugih omejitev. Raziskali in implementirali smo prototip sistema in ga preizkusili na realnem projektu z objektivnimi in subjektivnimi metrikami. Generirani testi so dosegli višjo pokritost kode, medtem ko so bili pri odkrivanju dejanskih napak manj uspešni od ročno napisanih testov. Programerji pa so s subjektivnimi ocenami dodatno potrdili prednost ročnih testov.

Jezik:Slovenski jezik
Ključne besede:avtomatsko generiranje testov, veliki jezikovni modeli, testiranje programske opreme, RAG
Vrsta gradiva:Diplomsko delo/naloga
Tipologija:2.11 - Diplomsko delo
Organizacija:FRI - Fakulteta za računalništvo in informatiko
Leto izida:2025
PID:20.500.12556/RUL-172524 Povezava se odpre v novem oknu
COBISS.SI-ID:248932611 Povezava se odpre v novem oknu
Datum objave v RUL:08.09.2025
Število ogledov:165
Število prenosov:22
Metapodatki:XML DC-XML DC-RDF
:
Kopiraj citat
Objavi na:Bookmark and Share

Sekundarni jezik

Jezik:Angleški jezik
Naslov:Using retrieval-augmented generation for automated test generation
Izvleček:
Writing tests is a time-consuming part of software development, and developers spend considerable time preparing them daily. With rapid advances in large language models, we investigated the effectiveness of Retrieval-Augmented Generation (RAG) technology for automated Python test generation. Large language models are successful at generating code, but quality testing is one of their major weaknesses; they often generate tests without understanding context. RAG is a technique that bypasses the lack of domain knowledge by identifying similar tests in a knowledge base based on the analyzed function, which it uses to generate new ones correctly. With the retrieved examples, the language model creates tests without hallucinations and other limitations. We researched and implemented a prototype system and tested it on a real project using objective and subjective metrics. Generated tests achieved higher code coverage, while being less successful at detecting actual bugs compared to manually written tests. Developers further confirmed the superiority of manual tests through subjective assessments.

Ključne besede:automated test generation, RAG, large language models, software testing.

Podobna dela

Podobna dela v RUL:
Podobna dela v drugih slovenskih zbirkah:

Nazaj