AI QA 어시스턴트를 직접 구축하세요 — LangChain 및 OpenAI로 테스트 이해 자동화
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:
- 콘텐츠를 검색 가능한 청크로 나눕니다.
- 의미론적 임베딩을 생성합니다.
- FAISS 벡터 DB에 저장합니다.
- 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.loaders의 Document 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 키를 추가합니다.