Proven by Intelligence
보이지 않는 안전을 인텔리전스로 증명하다.
기술 인사이트를 만나보세요.
이번 포스팅에서는 VectorCAST 2026 버전에서 새롭게 추가된 AI 기반 기능 Reqs2x에 대해 설명해 드리겠습니다.
"
소프트웨어 품질을 확보하기 위해 단위/통합시험은 필수입니다.
"
특히 자동차, 국방/항공, 철도, 의료 등 고신뢰 시스템에서는 요구사항 기반 테스트와 추적성 확보가 반드시 필요합니다.
그런데 실제 현업에서는 이런 문제가 종종 발생합니다.
X 요구사항은 정의되어 있지만, 이를 검증할 테스트 케이스가 없음
X 테스트 케이스는 존재하지만, 요구사항과의 추적성이 확보되지 않음
X 테스트 케이스를 개발 후반에 몰아서 작성하게 됨
결국 이 과정에서 많은 시간을 소모하게 됩니다.
이러한 문제를 해결하기 위해 VectorCAST 2026버전에서는 Reqs2x라는 AI기반 테스트 자동화 기능이 추가되었습니다.
핵심 변화
기존에는 코드 분석, 요구사항 작성, 테스트 케이스 작성 모두 수작업으로 진행되었습니다. 이 과정은 많은 시간이 소요되며, 작업자에 따라 품질에 편차가 발생할 수 있습니다.
Reqs2x는 AI를 활용하여 소스 코드로부터 요구사항을 생성하고, 이를 기반으로 테스트 케이스 초안을 자동 생성합니다. 또한 요구사항을 기반으로 테스트 케이스가 생성되기 때문에 추적성까지 확보할 수 있습니다.
중요한 Point
“AI는 대체가 아니라 가속이다.”
Reqs2x를 사용하면 요구사항과 테스트 케이스를 대신 생성해주는 것이라고 생각할 수 있습니다.
하지만 Reqs2x의 목적은 완성된 것을 생성해내기 위한 것이 아니라, 검토 가능한 초안을 빠르게 생성하는 것입니다. 사람이 해야 할 작업이 “작성”보다는 “검토와 보완”에 집중될 수 있도록 지원하는 기능입니다. 초기 생성 시간을 단축하여 검토와 보완에 집중할 수 있게 되며, 이를 통해 효율적인 프로세스로 전환할 수 있게 해줍니다. Reqs2x를 사용하여 테스트에 필요한 시간을 획기적으로 줄일 수 있게 되는 것입니다.
Reqs2x
VectorCAST Reqs2x 도구 세트는 대규모 언어 모델(LLM)을 기반으로 다음과 같은 기능들을 제공합니다.
✅ code2reqs : 소스코드를 분석하여 자연어 요구사항 생성
✅ reqs2tests : 요구사항을 분석하여 테스트 케이스 생성
✅ panreq : 요구사항과 소스 코드 간 추적성 추론
Reqs2x는 단순한 LLM을 호출이 아니라 아래와 같은 흐름으로 구성됩니다.
1. 요구사항 입력
- 코드 분석을 통한 자연어 요구사항 생성 가능
- RGW(Requirements Gateway)기능을 통해 외부 요구사항 연동 가능(Codebeamer, DOORS 등)
2. 코드 분석 + 추적성(Traceability)
- LLM과 정적 분석을 통해 어떤 코드가 어떤 요구사항을 구현하는지 자동 매핑
3. 테스트 케이스 자동 생성
- AI가 요구사항을 분석하여 입력 값, 기대 값 등 실행 가능한 테스트 케이스 생성
- tst 파일로 생성하여 추가 작업 없이 기존 VectorCAST 시험 환경에서 사용 가능
Reqs2x는 정적 분석도 함께 활용하여 동작하기 때문에 필요한 코드(함수)만 선별 분석하여 현실적인 테스트 케이스를 생성할 수 있습니다. 이를 통해 속도를 개선하고 오류를 줄일 수 있습니다.
또한 AI 출력 형식을 제한하여, 요구사항 생성 시 비정상적인 결과 생성을 최소화하고 있습니다. 예를 들어, AI 분석 결과 불확실한 항목이 있는 경우, 이를 비워두어 엔지니어가 직접 검토하고 보완할 수 있도록 합니다.
Reqs2x에서는 아래와 같은 LLM을 지원하고 있습니다.
✅ Azure_OpenAI
✅ OpenAI
✅ Anthropic
✅ LiteLLM
현재 사용하고 있는 LLM을 Reqs2x에 적용하여 사용하실 수 있습니다.
Reqs2x를 사용해보자!
Reqs2x를 사용하기 위해서는 다음이 필요합니다.
O VectorCAST 2026 환경
O LLM 연결 설정
VectorCAST를 사용하고 계신 경우라면 최신 버전의 라이선스와 툴 버전으로 업그레이드가 진행되어야 합니다. VectorCAST 2026 버전을 사용하고 있는 경우, LLM 연결을 위해 사용하고 있는 LLM의 API Key가 준비되어야 합니다.
위의 환경이 준비된 상태에서 Command Line Interface를 통해 Reqs2x를 사용할 수 있습니다. 이제 실제로 Reqs2x를 사용하는 방법을 살펴보겠습니다.
1. LLM Configuration 설정
Reqs2x를 사용하기 위해 환경 변수를 설정해야 합니다. 모든 환경 변수는 VCAST_REQS2X_ 접두사를 사용하여 등록해야 합니다.
> Azure OpenAI
------------------------------------------------------------------------------
set VCAST_REQS2X_AZURE_OPENAI_API_KEY=<your-api-key>
set VCAST_REQS2X_AZURE_OPENAI_API_VERSION=<api-version>
# e.g., 2024-12-01-preview
set VCAST_REQS2X_AZURE_OPENAI_BASE_URL=<endpoint-url>
# e.g., https://my-resource.openai.azure.com/
set VCAST_REQS2X_AZURE_OPENAI_DEPLOYMENT=<deployment-name>
# e.g., my-gpt4o-deployment
set VCAST_REQS2X_AZURE_OPENAI_MODEL_NAME=<model-name>
# e.g., gpt-4o (실제 사용되는 모델명)
--------------------------------------(소스 코드 형태로 입력 부탁드립니다.)
> OpenAI
------------------------------------------------------------------------------
set VCAST_REQS2X_OPENAI_API_KEY=<your-api-key>
set VCAST_REQS2X_OPENAI_MODEL_NAME=<model-name> # e.g., gpt-4.1
--------------------------------------(소스 코드 형태로 입력 부탁드립니다.)
> Anthropic
------------------------------------------------------------------------------
set VCAST_REQS2X_ANTHROPIC_API_KEY=<your-api-key>
set VCAST_REQS2X_ANTHROPIC_MODEL_NAME=<model-name>
# e.g., claude-3-5-sonnet-20241022
--------------------------------------(소스 코드 형태로 입력 부탁드립니다.)
> LiteLLM
------------------------------------------------------------------------------
set VCAST_REQS2X_LITELLM_MODEL_NAME=<model-name>
# e.g., ollama/qwen3:30b-a3b (provider를 포함한 모델명)
# provider 설정을 위한 LiteLLM 자체 환경 변수 구성 필요
--------------------------------------(소스 코드 형태로 입력 부탁드립니다.)
위의 방법으로 환경변수를 설정하여 LLM에서 필요한 설정을 진행할 수 있습니다.
LLM 사용에 필요한 구성이 올바르게 적용되었는지 확인하려면 “llm2check”를 통해 확인할 수 있습니다.
O 정상인 경우
------------------------------------------------------------------------------
$ llm2check
The current LLM model configuration is usable.
--------------------------------------(소스 코드 형태로 입력 부탁드립니다.)
X 설정이 잘못되었거나, LLM모델에 접근할 수 없는 경우
------------------------------------------------------------------------------
$ llm2check
The current LLM model configuration is NOT usable. Problem: Could not
determine supported parameters for model gpt-3.5-turbo...
--------------------------------------(소스 코드 형태로 입력 부탁드립니다.)
2. code2reqs - 요구사항 생성 도구
code2reqs는 VectorCAST로 구성한 환경에 있는 소스 코드를 분석하고, 이를 바탕으로 각 함수의 요구사항을 생성합니다. LLM을 통해 구현된 함수를 테스트 가능하 요구사항으로 분해합니다.
- 저수준 요구사항(Low-Level Requirements): 구현된 함수로부터 도출된 요구사항
- 고수준 요구사항(High-Level Requirements): 관련된 저수준 요구사항들을 단위(Unit)별로 묶어 추상화한 요구사항
------------------------------------------------------------------------------
$ code2reqs [-e <environment>] [--export-csv <path>] [--export-excel <path>] [--export-repository <path>]
e.g.
$ cd “environment path”
$ code2reqs –export-csv [path]\reqirement.csv
--------------------------------------(소스 코드 형태로 입력 부탁드립니다.)
3. panreq - 요구사항과의 추적성 추론 도구
panreq는 요구사항을 CSV, Excel, RGW(Requirement Gateway)등으로부터 기존 요구사항이 코드의 어떤 부분과 연결되었는지에 대한 추적성(traceability) 데이터를 생성합니다.
기존 요구사항이 있을 때, 각 요구사항과 코드에 대해 자동으로 추적성 링크를 생성할 경우 유용하게 사용할 수 있습니다. 특히 RGW에 대해 추적성을 추론하는데 활용됩니다.
------------------------------------------------------------------------------
$ panreq <source_path> <target_path> --target-format <format> [--target-env<env_path>] [--infer-traceability]
e.g. RGW에 추적성 정보 추가
$ panreq [path]\requirements.csv
[RGW path] --target-format rgw --target-env
TUTORIAL_C --infer-traceability
--------------------------------------(소스 코드 형태로 입력 부탁드립니다.)
4. reqs2tests - 테스트 케이스 생성 도구
reqs2tests는 요구사항을 기반으로 테스트 케이스를 생성합니다. VectorCAST 환경에서 바로 사용할 수 있도록 .tst파일을 생성합니다.
------------------------------------------------------------------------------
$ reqs2tests [path]\requirements.csv --export-tst tests.tst
(RGW기반 tst생성 시 옵션 추가 --requirement-keys)
--------------------------------------(소스 코드 형태로 입력 부탁드립니다.)
* 벡터코리아 공식블로그 : 네이버 블로그
마무리하며...
Reqs2x는 테스트를 자동으로 수행하는 기능이 아니라, 요구사항과 테스트 케이스 생성을 빠르게 시작할 수 있도록 지원하는 기능입니다.
이를 통해 작성 시간을 단축하고, 리뷰 중심의 효율적인 테스트 프로세스를 구축할 수 있습니다.
지금까지 VectorCAST 2026에서 출시된 Reqs2x에 대해 살펴보았습니다.
