지난 2년 동안 AI, 특히 LLM(대형 언어 모델)의 발전은 기존 문제를 보다 효율적으로 해결하는 것으로 나타났습니다. LLM이 창출할 수 있는 영향 중 하나는 소프트웨어 테스트 자동화 지원을 통한 것입니다. 많은 소프트웨어 팀에게 자동화는 결코 SDLC 주기의 일류 시민이 아니었으며 팀은 " 테스트 자동화 부채 "를 생성하는 테스트 사례를 자동화하기 위해 노력하고 있습니다. 테스트 자동화의 이러한 격차로 인해 품질 팀이 이러한 테스트 사례를 수동으로 확인하고 작성하는 데 많은 시간이 소요되고 결과적으로 엔지니어링 팀의 배송 속도가 느려집니다.
이러한 어려움을 피하기 위해 존재하는 유일한 탈출 경로는 테스트 사례를 더 빠른 속도로 자동화하는 것이지만 종종 다음과 같은 이유로 그렇게 할 수 없습니다.
위에서 언급한 모든 문제에는 소프트웨어 팀이 이를 어떻게 해결해야 하는지에 대한 별도의 문서가 필요하지만, 이 섹션에서는 QA 엔지니어가 ChatGPT 또는 LLM을 BDD(행동 중심 테스트)의 부조종사 로 활용하는 방법에 대해 설명합니다.
BDD 란 무엇입니까?
BDD(행동 중심 개발)는 사용자가 상호 작용할 때 경험하기를 기대하는 동작을 중심으로 애플리케이션을 문서화하고 설계하는 민첩한 소프트웨어 개발 방법론입니다. 이 논의의 맥락에서 YC 웹사이트에 BDD 기반 테스트를 적용하고 YC 해커 뉴스의 로그인 페이지를 출발점으로 생각해 보겠습니다.
위에서 언급한 페이지에서 예상되는 동작은 다음과 같습니다.
" 사용자가 로그인을 시도하고 https://news.ycombinator.com/login?goto=news 에 유효한 자격 증명을 입력하고 로그인을 누르면 사용자를 해커 뉴스 웹 사이트로 리디렉션해야 합니다 ."
BDD 지침에 따라 위의 동작은 가능한 테스트 사례가 될 수 있는 Gherkin 구문/단계로 작성될 수 있으며 오이를 프레임워크로 사용하면 동일한 Gherkin이 자동화될 수 있으며 이 동작은 더 이상 사람의 개입이 필요하지 않습니다 . 그러나 위 섹션에서 논의한 문제로 인해 QA 팀은 일반적으로 동일한 작업을 자동화하는 데 어려움을 겪지만 몇 가지 프롬프트를 작성하고 QA 팀이 Gherkin 단계 및 자동화를 전환할 수 있는 워크플로를 생성하여 LLM 의 기능을 활용할 수 있습니다. 오이 프레임워크에서 더 빠른 속도로.
Gherkin 구문 생성을 위한 워크플로
예를 들어 아래 이미지에서는 프롬프트를 사용하여 자연어로 표시되는 동작에 대한 gherkin 구문을 생성함으로써 GPT 모델을 미세 조정할 수 있는 방법을 보여주었습니다.
Gherkin 구문에서 오이 호환 코드를 생성하기 위한 워크플로
1단계: 엔지니어링하라는 메시지 표시
다음은 제공된 HTML 코드와 Gherkin 단계를 사용하여 적절한 자동화를 뱉어내기 위해 ChatGPT 콘솔에 작성할 수 있는 프롬프트입니다. 최종 출력으로 우리는 QA가 그대로 복사하여 붙여 넣을 수 있는 오이의 필요에 따라 단계 정의 형식으로 코드를 생성하도록 요청했습니다.
2단계: 자동화의 기반으로 사용해야 하는 관련 HTML을 삽입합니다.
아래에 설명된 대로 ChatGPT는 미세 조정 후 오이에 대한 단계 정의를 생성하는 데 사용할 수 있는 관련 HTML 및 Gherkin 단계를 요청합니다.
3단계: 단계 정의 생성
그 결과, GPT는 제공된 HTML에서 DOM 구조를 이해하고 관련 Gherkin 구문을 요청합니다. 위의 경우, 우리는 이미 있는 그대로 전달할 수 있는 Gherkin을 생성했습니다.
Feature: User Login Redirect Scenario: User logs in with valid credentials Given the user is on the login page of "https://news.ycombinator.com/login?goto=news" When the user enters valid credentials and presses the login button Then the user should be redirected to the "hacker news" website
최종 출력
마지막으로 워크플로 및 언급된 프롬프트에 따라 위에서 언급한 Gherkin 단계 및 시나리오에 대한 단계 정의 파일을 생성합니다. 이는 사소한 품질 검사 후 QA가 오이 프레임워크에서 복사하여 가정된 동작의 자동화를 강화할 수 있습니다. 테스트합니다.
AI의 출현과 부조종사의 출현으로 인간의 생산성은 향상될 것입니다. 그들은 기초적이고 일상적인 작업을 AI에 넘겨줌으로써 혁신의 경계를 더욱 넓힐 수 있을 것입니다. 그러나 기술, 마케팅, 영업 및 고객 성공 팀이 업무 흐름에서 LLM의 힘을 활용하려고 노력하고 있기 때문에 우리가 하는 모든 작업의 보조자로 보아야 한다고 생각하며 이를 사용하는 지능은 인간에게 상주할 것입니다. QA 엔지니어도 동일한 작업을 수행하여 생산성을 더욱 높이고 소프트웨어의 품질과 안정성을 보장하는 작업을 흥미롭게 만들 수 있습니다!