fullrecord |
[{"key": "dc.contributor.advisor", "value": "Mikkonen, Tommi", "language": null, "element": "contributor", "qualifier": "advisor", "schema": "dc"}, {"key": "dc.contributor.author", "value": "Michelsson, Joakim", "language": null, "element": "contributor", "qualifier": "author", "schema": "dc"}, {"key": "dc.date.accessioned", "value": "2025-03-18T12:06:31Z", "language": null, "element": "date", "qualifier": "accessioned", "schema": "dc"}, {"key": "dc.date.available", "value": "2025-03-18T12:06:31Z", "language": null, "element": "date", "qualifier": "available", "schema": "dc"}, {"key": "dc.date.issued", "value": "2025", "language": null, "element": "date", "qualifier": "issued", "schema": "dc"}, {"key": "dc.identifier.uri", "value": "https://jyx.jyu.fi/handle/123456789/100766", "language": null, "element": "identifier", "qualifier": "uri", "schema": "dc"}, {"key": "dc.description.abstract", "value": "Yksikk\u00f6testien kirjoittaminen manuaalisesti on aikaa viev\u00e4\u00e4 ja ty\u00f6l\u00e4st\u00e4. Lis\u00e4ksi perinteiset l\u00e4hestymistavat yksikk\u00f6testien generoimisisessa ovat puutteellisia, esimerkiksi niiden tuottamien testien luettavuuden takia. Teko\u00e4lyty\u00f6kalujen k\u00e4ytt\u00f6 on yleistynyt ohjelmistokehityksess\u00e4. Yksi ensimm\u00e4isist\u00e4 ja k\u00e4ytetyimmist\u00e4 kaupallisista teko\u00e4lyty\u00f6kaluista on GitHub Copilot, ja se pystyy mm. generoimaan koodia, testej\u00e4 ja dokumentaatiota ohjelmoijan puolesta.\n\nT\u00e4ss\u00e4 tutkielmassa arvioidaan, miten hyvin GitHub Copilot soveltuu yksikk\u00f6testien generointiin, kun kohteena on Python kirjasto nimelt\u00e4 Great Tables. T\u00e4m\u00e4n lis\u00e4ksi tarkastellaan GitHub Copilotin k\u00e4ytett\u00e4vyytt\u00e4 yksikk\u00f6testien generoinnissa. Tutkimusmenetelm\u00e4n\u00e4 toimii tapaustutkimus. Testej\u00e4 generoitiin porrastetusti kolmessa vaiheessa lis\u00e4\u00e4m\u00e4ll\u00e4 kohdennettua kontekstia ja kussakin vaiheessa korjattiin generointituloksia virheiden ilmentyess\u00e4 iteratiivisesti. Prosessista ker\u00e4ttiin aineistoa, jota analysoitiin kvantitatiivisesti ja kvalitatiivisesti.\n\nCopilot suoriutui kohtuullisen hyvin yksikk\u00f6testien generoinnissa, kunhan Copilotin k\u00e4yt\u00f6n parhaita k\u00e4yt\u00e4nt\u00f6j\u00e4 noudatettiin ja oleellista kontekstia annettiin riitt\u00e4v\u00e4sti. Kaikki yksikk\u00f6kohtaisesti generoidut testit olivat iteroinnin j\u00e4lkeen toimivia (CSR = 100%). Virheellisesti generoituja testej\u00e4 saatiin v\u00e4hennetty\u00e4 iteroinnilla 80%. Testit olivat rivi- ja haarautumakattavuukseltaan hyvi\u00e4 (COV_L = 90% ja COV_B = 88%). Oikeellisia testej\u00e4 oli 79,5% kaikista generoiduista testeist\u00e4. Suurimmat puutteet olivat testien yksinkertaisuudessa, testihajuissa tai generointien virheiss\u00e4. Yleisesti ottaen Copilotin k\u00e4ytt\u00f6 oli helppoa ja nopeaa, mutta Copilotin generointeihin liittyv\u00e4t ongelmat tuottivat testaajalle v\u00e4lill\u00e4 lis\u00e4ty\u00f6t\u00e4. Tulokset osoittavat ja osin vahvistavat, ett\u00e4 GitHub Copilot on potentiaalinen ty\u00f6kalu yksikk\u00f6testien generointiin, kunhan sit\u00e4 k\u00e4ytt\u00e4ess\u00e4 noudatetaan parhaita k\u00e4yt\u00e4nt\u00f6j\u00e4.", "language": "fi", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted by jyx lomake-julkaisija (jyx-julkaisija.group@korppi.jyu.fi) on 2025-03-18T12:06:31Z\nNo. of bitstreams: 0", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Made available in DSpace on 2025-03-18T12:06:31Z (GMT). No. of bitstreams: 0", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.format.extent", "value": "131", "language": null, "element": "format", "qualifier": "extent", "schema": "dc"}, {"key": "dc.format.mimetype", "value": "application/pdf", "language": null, "element": "format", "qualifier": "mimetype", "schema": "dc"}, {"key": "dc.language.iso", "value": "fin", "language": null, "element": "language", "qualifier": "iso", "schema": "dc"}, {"key": "dc.rights", "value": "CC BY 4.0", "language": null, "element": "rights", "qualifier": null, "schema": "dc"}, {"key": "dc.title", "value": "Yksikk\u00f6testien generoiminen GitHub Copilotin avustuksella \u2013 Tapaus Great Tables", "language": null, "element": "title", "qualifier": null, "schema": "dc"}, {"key": "dc.type", "value": "master thesis", "language": null, "element": "type", "qualifier": null, "schema": "dc"}, {"key": "dc.identifier.urn", "value": "URN:NBN:fi:jyu-202503182583", "language": null, "element": "identifier", "qualifier": "urn", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Informaatioteknologian tiedekunta", "language": "fi", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Faculty of Information Technology", "language": "en", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "Jyv\u00e4skyl\u00e4n yliopisto", "language": "fi", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "University of Jyv\u00e4skyl\u00e4", "language": "en", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Ohjelmistokehityksen opintosuunta", "language": "fi", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Specialisation in Software Development", "language": "en", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.type.coar", "value": "http://purl.org/coar/resource_type/c_bdcc", "language": null, "element": "type", "qualifier": "coar", "schema": "dc"}, {"key": "dc.rights.copyright", "value": "\u00a9 The Author(s)", "language": null, "element": "rights", "qualifier": "copyright", "schema": "dc"}, {"key": "dc.rights.accesslevel", "value": "openAccess", "language": null, "element": "rights", "qualifier": "accesslevel", "schema": "dc"}, {"key": "dc.type.publication", "value": "masterThesis", "language": null, "element": "type", "qualifier": "publication", "schema": "dc"}, {"key": "dc.format.content", "value": "fulltext", "language": null, "element": "format", "qualifier": "content", "schema": "dc"}, {"key": "dc.rights.url", "value": "https://creativecommons.org/licenses/by/4.0/", "language": null, "element": "rights", "qualifier": "url", "schema": "dc"}, {"key": "dc.description.accessibilityfeature", "value": "unknown accessibility", "language": "en", "element": "description", "qualifier": "accessibilityfeature", "schema": "dc"}, {"key": "dc.description.accessibilityfeature", "value": "ei tietoa saavutettavuudesta", "language": "fi", "element": "description", "qualifier": "accessibilityfeature", "schema": "dc"}]
|