AI QA 어시스턴트를 직접 구축하세요 — LangChain 및 OpenAI로 테스트 이해 자동화

발행: (2025년 12월 16일 오전 01:45 GMT+9)
5 min read
원문: Dev.to

Source: Dev.to

Why This?

QA 엔지니어는 JSON 또는 Jira/Xray에 있는 테스트 케이스, .feature 파일의 BDD 스펙, Markdown 요구사항, .txt.html 로그, Allure 리포트, PDF 등 다양한 도구와 폴더에 흩어져 있는 파일들을 다룹니다. 이러한 모든 파일을 검색하는 것은 느리고, 반복적이며, 오류가 발생하기 쉽습니다.

Solution: 테스트 아티팩트를 모두 이해하고 자연어 질문에 답변해 주는 AI 기반 봇, 실제 어시스턴트처럼 동작합니다.

What This Bot Does

  • Ask questions such as:
    • “What are the test steps in TC‑002?”
    • “Summarize login test cases.”
    • “What does the PDF say about edge cases?”
  • Supported file types:
    • .json – 구조화된 테스트 케이스
    • .feature – BDD 시나리오
    • .md, .txt, .html – 요구사항, 로그, 리포트
    • .pdf, .docx – 사양 문서
  • How it works:
    1. 콘텐츠를 검색 가능한 청크로 나눕니다.
    2. 의미론적 임베딩을 생성합니다.
    3. FAISS 벡터 DB에 저장합니다.
    4. OpenAI를 사용해 자연어 응답을 생성합니다.

Tech Stack

  • LangChain – 데이터 로딩, 청크화, 검색을 오케스트레이션합니다.
  • OpenAI – QA 친화적인 답변을 생성합니다.
  • FAISS – 빠른 의미론적 벡터 검색.
  • Python – 구현 언어.

How to Use It

1. Clone the repository

git clone https://github.com/aiqualitylab/AI-QA-Assistant-Bot.git
cd AI-QA-Assistant-Bot

2. Install dependencies

pip install -r requirements.txt

3. Set your OpenAI API key

Create a .env file in the project root:

OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

You can obtain an API key from the OpenAI platform.

4. Run the assistant

python bot.py

첫 실행 시 문서가 인덱싱되고, 이후 실행에서는 저장된 인덱스를 재사용합니다. 다음과 같은 메시지가 표시됩니다:

🤖 QA Assistant Ready! Ask anything (type 'exit' to quit')

이제 질문을 입력하면 즉시 AI 기반 답변을 받을 수 있습니다.

Example Use Cases

  • “What’s in TC‑003?”
  • “Summarize all test cases about checkout.”
  • “What do the logs say about payment errors?”
  • “Give me test steps for login with invalid credentials.”

Behind the Scenes

  • langchain_community.loadersDocument loaders가 다양한 포맷을 처리합니다.
  • Recursive chunking은 큰 텍스트를 겹치는 청크로 나눕니다.
  • OpenAIEmbeddings는 청크를 벡터로 변환합니다.
  • FAISS는 이를 의미론적으로 인덱싱하고 검색합니다.
  • RetrievalQA는 가장 일치하는 문서에 대해 질문을 실행합니다.

Why It Matters

QA 엔지니어는 이제 다음을 할 필요가 없습니다:

  • 수백 줄을 Ctrl + F로 찾기.
  • Jira, Confluence, Allure, Git 등 여러 도구를 오가며 작업하기.
  • 로그와 테스트 케이스를 수동으로 연관 짓기.

이 어시스턴트를 통해 더 똑똑하게 일할 수 있습니다.

Demo Available

자신의 테스트 아티팩트와 함께 로컬에서 시도해 보세요. 레포를 클론 👉 https://github.com/aiqualitylab/AI-QA-Assistant-Bot

QA Assistant Bot Overview

테스트 케이스, feature 파일, 로그, 사양 등 다양한 형식의 문서에 대해 OpenAI + LangChain을 활용해 자연어 질문에 답변하는 AI 기반 QA 엔지니어 어시스턴트입니다.

Purpose

  • “What are the steps in TC‑001?” 혹은 “List test cases for login.” 같은 자연어 질문에 답변하기.
  • 테스트 사양과 로그를 빠르게 이해하기.
  • 여러 포맷(JSON, Markdown, PDF 등)에서 검색하기.
  • 문서 이해를 자동화하고 수작업을 줄이기.

Supported File Types

파일을 data/ 폴더에 넣으세요. 봇이 읽고 인덱싱할 수 있는 형식:

  • .json – 테스트 케이스
  • .feature – BDD 스펙
  • .md – 요구사항
  • .txt – 로그
  • .html – 리포트
  • .pdf – 테스트 문서
  • .docx – 워드 사양

Installation

1. Clone the repo

git clone https://github.com/aiqualitylab/AI-QA-Assistant-Bot.git
cd qa-bot

2. Set up Python environment

Python 3.10+이 설치되어 있는지 확인한 뒤, 요구사항을 설치합니다:

pip install -r requirements.txt

3. Create .env

앞서 설명한 대로 OpenAI 키를 추가합니다.

Back to Blog

관련 글

더 보기 »