{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,31]],"date-time":"2026-03-31T12:02:18Z","timestamp":1774958538929,"version":"3.50.1"},"publisher-location":"Cham","reference-count":15,"publisher":"Springer Nature Switzerland","isbn-type":[{"value":"9783031727801","type":"print"},{"value":"9783031727818","type":"electronic"}],"license":[{"start":{"date-parts":[[2025,1,1]],"date-time":"2025-01-01T00:00:00Z","timestamp":1735689600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2025,1,11]],"date-time":"2025-01-11T00:00:00Z","timestamp":1736553600000},"content-version":"vor","delay-in-days":10,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2025]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Test Driven Development (TDD) is one of the major practices of Extreme Programming for which incremental testing and refactoring trigger the code development. TDD has limited adoption in the industry, as it requires more code to be developed and experienced developers. Generative AI (GenAI) may reduce the extra effort imposed by TDD. In this work, we introduce an approach to automatize TDD by embracing GenAI either in a collaborative interaction pattern in which developers create tests and supervise the AI generation during each iteration or a fully-automated pattern in which developers only supervise the AI generation at the end of the iterations. We run an exploratory experiment with ChatGPT in which the interaction patterns are compared with the non-AI TDD regarding test and code quality and development speed. Overall, we found that, for our experiment and settings, GenAI can be efficiently used in TDD, but it requires supervision of the quality of the produced code. In some cases, it can even mislead non-expert developers and propose solutions just for the sake of the query.<\/jats:p>","DOI":"10.1007\/978-3-031-72781-8_3","type":"book-chapter","created":{"date-parts":[[2025,1,10]],"date-time":"2025-01-10T18:05:49Z","timestamp":1736532349000},"page":"24-32","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":8,"title":["Generative AI for\u00a0Test Driven Development: Preliminary Results"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0009-0009-3156-6211","authenticated-orcid":false,"given":"Moritz","family":"Mock","sequence":"first","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0003-1303-4173","authenticated-orcid":false,"given":"Jorge","family":"Melegati","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0003-3737-9264","authenticated-orcid":false,"given":"Barbara","family":"Russo","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2025,1,11]]},"reference":[{"key":"3_CR1","unstructured":"Beck, K.: Test Driven Development: By Example. Addison-Wesley (2022)"},{"issue":"6","key":"3_CR2","doi-asserted-by":"publisher","first-page":"35","DOI":"10.1145\/3582083","volume":"20","author":"C Bird","year":"2022","unstructured":"Bird, C., et al.: Taking flight with copilot. Queue 20(6), 35\u201357 (2022)","journal-title":"Queue"},{"key":"3_CR3","doi-asserted-by":"crossref","unstructured":"Causevic, A., et\u00a0al.: Factors limiting industrial adoption of test driven development: a systematic review. In: Fourth IEEE International Conference on Software Testing, Verification and Validation, pp. 337\u2013346 (2011)","DOI":"10.1109\/ICST.2011.19"},{"key":"3_CR4","doi-asserted-by":"crossref","unstructured":"Choudhuri, R., et\u00a0al.: How far are we? The triumphs and trials of generative ai in learning software engineering. In: ICSE (2024)","DOI":"10.1145\/3597503.3639201"},{"issue":"02","key":"3_CR5","doi-asserted-by":"publisher","first-page":"106","DOI":"10.1109\/MS.2021.3133805","volume":"39","author":"NA Ernst","year":"2022","unstructured":"Ernst, N.A., Bavota, G.: Ai-driven development is here: should you worry? IEEE Softw. 39(02), 106\u2013110 (2022)","journal-title":"IEEE Softw."},{"issue":"7","key":"3_CR6","doi-asserted-by":"publisher","first-page":"597","DOI":"10.1109\/TSE.2016.2616877","volume":"43","author":"D Fucci","year":"2017","unstructured":"Fucci, D., et al.: A dissection of the test-driven development process: does it really matter to test-first or to test-last? IEEE Trans. Softw. Eng. 43(7), 597\u2013614 (2017)","journal-title":"IEEE Trans. Softw. Eng."},{"key":"3_CR7","doi-asserted-by":"crossref","unstructured":"Ghafari, M., et\u00a0al.: Why research on test-driven development is inconclusive? In: ESEM, pp. 1\u201310. ACM, New York (2020)","DOI":"10.1145\/3382494.3410687"},{"key":"3_CR8","doi-asserted-by":"crossref","unstructured":"Guilherme, V., Vincenzi, A.: An initial investigation of ChatGPT unit test generation capability, pp. 15\u201324. SAST, New York (2023)","DOI":"10.1145\/3624032.3624035"},{"issue":"4","key":"3_CR9","doi-asserted-by":"publisher","first-page":"81","DOI":"10.1109\/MS.2018.2801554","volume":"35","author":"I Karac","year":"2018","unstructured":"Karac, I., Turhan, B.: What do we (really) know about test-driven development? IEEE Softw. 35(4), 81\u201385 (2018)","journal-title":"IEEE Softw."},{"key":"3_CR10","unstructured":"Lahiri, S.K., et\u00a0al.: Interactive code generation via test-driven user-intent formalization (2023)"},{"key":"3_CR11","doi-asserted-by":"crossref","unstructured":"Liang, J.T., Yang, C., Myers, B.A.: A large-scale survey on the usability of AI programming assistants: successes and challenges. In: ICSE, pp. 605\u2013617 (2024)","DOI":"10.1145\/3597503.3608128"},{"key":"3_CR12","doi-asserted-by":"crossref","unstructured":"Liu, Z., et\u00a0al.: Make LLM a testing expert: bringing human-like interaction to mobile GUI testing via functionality-aware decisions. In: ICSE (2024)","DOI":"10.1145\/3597503.3639180"},{"key":"3_CR13","doi-asserted-by":"publisher","unstructured":"Piya, S., Sullivan, A.: LLM4TDD: best practices for test driven development using large language models (2023). https:\/\/doi.org\/10.48550\/arXiv.2312.04687","DOI":"10.48550\/arXiv.2312.04687"},{"issue":"12","key":"3_CR14","doi-asserted-by":"publisher","first-page":"1135","DOI":"10.1109\/TSE.2002.1158287","volume":"28","author":"CK Riemenschneider","year":"2002","unstructured":"Riemenschneider, C.K., Hardgrave, B.C., Davis, F.D.: Explaining software developer acceptance of methodologies: a comparison of five theoretical models. IEEE Trans. Softw. Eng. 28(12), 1135\u20131145 (2002)","journal-title":"IEEE Trans. Softw. Eng."},{"key":"3_CR15","doi-asserted-by":"publisher","unstructured":"Tian, Z., Chen, J.: Test-case-driven programming understanding in large language models for better code generation (2023). https:\/\/doi.org\/10.48550\/arXiv.2309.16120","DOI":"10.48550\/arXiv.2309.16120"}],"container-title":["Lecture Notes in Business Information Processing","Agile Processes in Software Engineering and Extreme Programming \u2013 Workshops"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-72781-8_3","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,1,10]],"date-time":"2025-01-10T19:02:38Z","timestamp":1736535758000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-72781-8_3"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025]]},"ISBN":["9783031727801","9783031727818"],"references-count":15,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-72781-8_3","relation":{},"ISSN":["1865-1348","1865-1356"],"issn-type":[{"value":"1865-1348","type":"print"},{"value":"1865-1356","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025]]},"assertion":[{"value":"11 January 2025","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"XP","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Agile Software Development","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Bozen-Bolzano","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Italy","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2024","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"4 June 2024","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"7 June 2024","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"25","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"xpu2024","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/www.agilealliance.org\/xp2024\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}