ChatGPT를 활용한 테스트주도개발(TDD)의 효율적인 테스트코드 생성 연구 = A study of efficient test code generation in test-driven development(TDD) using ChatGPT
저자
발행사항
서울 : 국민대학교 소프트웨어융합대학원, 2022
학위논문사항
학위논문(석사)-- 국민대학교 소프트웨어융합대학원 : 인공지능전공 2023. 8
발행연도
2022
작성언어
한국어
주제어
발행국(도시)
서울
형태사항
v, 88 ; 26 cm
일반주기명
지도교수: 이민석
UCI식별코드
I804:11014-200000692603
소장기관
현대 소프트웨어 개발 프로세스에서 널리 채택된 애자일(Agile)은 스프린트(Sprint)라는 짧은 개발 사이클을 반복해 빠른 시장의 변화와 요구사항에 유연하게 대처하는 개발 방법론으로서 테스트 자동화 및 테스트 코드 작성의 중요성이 강조된다.
테스트주도개발(TDD:Test-Driven Development)은 애자일의 주요 실천 방법중 하나로써 "테스트가 개발을 주도한다"라는 의미로 테스트 코드를 먼저 작성한 후에 해당 테스트를 통과하는 코드를 작성하는 과정을 반복하는 방식이다. 그러나, TDD 개발 방식은 개념상으로는 매우 단순하지만, 초보 개발자와 전통적 개발 방식에 익숙한 이들에게는 상당한 시간과 노력이 필요하게 된다[1][2].
2022년 11월 발표된 OpenAPI 사의 ChatGPT는 LLM(Large Language Model)기반 대화형 생성 AI 서비스로서 프로그래밍 분야에서도 다양한 기능들과 함께 뛰어난 성능을 보여주고 있다[3]. 이에 본 논문에서는 애자일(Agile)의 TDD 방식으로 개발 진행시 ChatGPT를 테스트코드 자동 생성 도구로 활용하는 방안에 대해 제안한다.
본 실험에서는 회원가입 시 입력받은 아이디, 비밀번호, 이메일, 휴대폰 번호 등에 대한 Validation을
체크하는 프로그램을 ChatGPT를 이용하여 TDD 방식으로 테스트 코드를 생성해 보고, 이를 실제 개발
환경에서 실행하여 테스트 결과를 확인하였다. 실험 결과, ChatGPT와 소통하면서 순차적으로 테스트 코드를 작성할 수 있었고 일부 테스트 케이스에서 잘못된 코드로 인해 오류가 발생했지만, ChatGPT를 통해 오류 원인분석과 함께 수정된 코드를 제시받아 문제를 해결함으로써, ChatGPT를 테스트코드 자동 생성 도구로 활용할 수 있다는 충분한 가능성을 확인할 수 있었다.
그러나 실제 프로젝트 수행 시 훨씬 더 복잡한 환경과 구조, 다양한 기능의 테스트 케이스들이 존재하므로, 이에 관한 다양한 연구와 검증을 통해 ChatGPT와 같은 생성형 AI가 소프트웨어 개발자들의 생산성 향상과 소프트웨어 품질 향상에 큰 도움이 될 것으로 기대한다.
Widely adopted in modern software development processes, Agile is a development methodology that emphasizes the importance of test automation and writing test code in short development cycles called sprints to flexibly respond to rapid market changes and requirements.
Test-driven development (TDD) is one of the main practices of Agile, which means "tests drive development," and it involves writing test code first and then iterating on code that passes those tests. However, while TDD development is very simple in concept, it can take a lot of time and effort for beginner developers and those who are used to traditional development methods[1][2].
OpenAPI's ChatGPT, announced in November 2022, is an LLM-based interactive generation AI service that shows excellent performance with various functions in the programming field[3]. In this paper, we propose how to utilize ChatGPT as an automatic test code generation tool when developing with the TDD method of Agile.
In this experiment, we created a test code using ChatGPT to check the validation of the ID, password, email, mobile phone number, etc. entered when signing up, and then executed it in the actual development environment to check the test results.
In our experiments, we were able to use a program with relatively simple logic to communicate with ChatGPT and write test code sequentially.
Although some test cases resulted in errors due to incorrect code, ChatGPT provided us with corrected code along with an analysis of the cause of the error, and we were able to solve the problem, showing that ChatGPT can be used as an automated test code generation tool.
However, there are much more complex environments, structures, and test cases of various functions in real projects, so we expect that generative AI such as ChatGPT will help software developers improve productivity and improve software quality through various studies and verifications.
분석정보
서지정보 내보내기(Export)
닫기소장기관 정보
닫기권호소장정보
닫기오류접수
닫기오류 접수 확인
닫기음성서비스 신청
닫기음성서비스 신청 확인
닫기이용약관
닫기학술연구정보서비스 이용약관 (2017년 1월 1일 ~ 현재 적용)
학술연구정보서비스(이하 RISS)는 정보주체의 자유와 권리 보호를 위해 「개인정보 보호법」 및 관계 법령이 정한 바를 준수하여, 적법하게 개인정보를 처리하고 안전하게 관리하고 있습니다. 이에 「개인정보 보호법」 제30조에 따라 정보주체에게 개인정보 처리에 관한 절차 및 기준을 안내하고, 이와 관련한 고충을 신속하고 원활하게 처리할 수 있도록 하기 위하여 다음과 같이 개인정보 처리방침을 수립·공개합니다.
주요 개인정보 처리 표시(라벨링)
목 차
3년
또는 회원탈퇴시까지5년
(「전자상거래 등에서의 소비자보호에 관한3년
(「전자상거래 등에서의 소비자보호에 관한2년
이상(개인정보보호위원회 : 개인정보의 안전성 확보조치 기준)개인정보파일의 명칭 | 운영근거 / 처리목적 | 개인정보파일에 기록되는 개인정보의 항목 | 보유기간 | |
---|---|---|---|---|
학술연구정보서비스 이용자 가입정보 파일 | 한국교육학술정보원법 | 필수 | ID, 비밀번호, 성명, 생년월일, 신분(직업구분), 이메일, 소속분야, 웹진메일 수신동의 여부 | 3년 또는 탈퇴시 |
선택 | 소속기관명, 소속도서관명, 학과/부서명, 학번/직원번호, 휴대전화, 주소 |
구분 | 담당자 | 연락처 |
---|---|---|
KERIS 개인정보 보호책임자 | 정보보호본부 김태우 | - 이메일 : lsy@keris.or.kr - 전화번호 : 053-714-0439 - 팩스번호 : 053-714-0195 |
KERIS 개인정보 보호담당자 | 개인정보보호부 이상엽 | |
RISS 개인정보 보호책임자 | 대학학술본부 장금연 | - 이메일 : giltizen@keris.or.kr - 전화번호 : 053-714-0149 - 팩스번호 : 053-714-0194 |
RISS 개인정보 보호담당자 | 학술진흥부 길원진 |
자동로그아웃 안내
닫기인증오류 안내
닫기귀하께서는 휴면계정 전환 후 1년동안 회원정보 수집 및 이용에 대한
재동의를 하지 않으신 관계로 개인정보가 삭제되었습니다.
(참조 : RISS 이용약관 및 개인정보처리방침)
신규회원으로 가입하여 이용 부탁 드리며, 추가 문의는 고객센터로 연락 바랍니다.
- 기존 아이디 재사용 불가
휴면계정 안내
RISS는 [표준개인정보 보호지침]에 따라 2년을 주기로 개인정보 수집·이용에 관하여 (재)동의를 받고 있으며, (재)동의를 하지 않을 경우, 휴면계정으로 전환됩니다.
(※ 휴면계정은 원문이용 및 복사/대출 서비스를 이용할 수 없습니다.)
휴면계정으로 전환된 후 1년간 회원정보 수집·이용에 대한 재동의를 하지 않을 경우, RISS에서 자동탈퇴 및 개인정보가 삭제처리 됩니다.
고객센터 1599-3122
ARS번호+1번(회원가입 및 정보수정)