패키지 소프트웨어 테스트로 COTS 도입 품질 확보하기

COTS와 상용 패키지 도입·커스터마이징 과정에서 요구사항, 인터페이스, 성능, V&V와 ISO 9126 품질 특성을 검증하는 테스트 체계를 정리한다.

2026-08-14 · 최초 발행 2025-05-23

패키지 도입 전 확인해야 할 요구사항과 제품 명세의 간극

패키지 소프트웨어 테스트는 기업의 소프트웨어 요구사항과 기존 패키지 소프트웨어 명세 사이의 차이를 분석한 뒤, 자동 또는 수동 방식으로 평가하고 검사하는 과정이다. 상용 패키지(COTS: Commercial Off-The-Shelf)를 도입할 때 기업 환경에 맞는지 확인하는 필수 절차이기도 하다.

도입 과정에서 이루어지는 커스터마이징은 위험 요인을 남길 수 있다. 이를 미리 식별해 대응책을 마련하고, 운영 이후 발생할 수 있는 비용과 시간 낭비를 줄이는 것이 테스트의 목적이다.

변경 범위는 기본 기능과 커스터마이징을 나눠 본다

테스트 대상 모듈과 기능을 먼저 분명히 하고, 핵심 업무 기능에 우선순위를 둔다. 이때 패키지가 본래 제공하는 기능과 별도로 변경한 커스터마이징 영역을 구분해야 한다.

선택하는 테스트 유형도 요구사항에 맞춰 정한다.

  • 기능 테스트는 요구사항을 기준으로 기능이 정상 동작하는지 확인한다.
  • 성능 테스트는 응답 시간과 처리량 등을 검증한다.
  • 인터페이스 테스트는 외부 시스템과의 연동을 확인한다.
  • 보안 테스트는 접근 통제와 데이터 보호를 다룬다.
  • 사용성 테스트는 사용자의 편의성을 기준으로 평가한다.

변경사항이 다른 모듈에 미치는 직접·간접 영향을 식별하고, 회귀 테스트(Regression Testing)의 범위를 결정한다. 연계 시스템 사이의 데이터 흐름과 종속성도 이 분석에 포함된다.

패키지 변경사항직접 영향 모듈간접 영향 모듈테스트 케이스 식별회귀 테스트 실행영향도 검증

요구사항이 모호하면 먼저 명확하게 정리한다. 비즈니스 규칙과 패키지 기능 사이의 갭(Gap)을 분석하고, 요구사항 우선순위를 테스트 중요도와 연결한다. 이후 핵심 업무 프로세스, 입출력 데이터의 유효성, 예외 처리, 업무 규칙(Business Rule) 준수 여부를 검증한다.

테스트 목적도 분명해야 한다. 패키지 내부 구조를 어느 수준까지 이해할지 정한 뒤 블랙박스와 화이트박스 테스트의 적용 범위를 결정하고, 시스템 아키텍처를 파악해 취약점을 식별한다.

종료 시점은 테스트 케이스 실행률과 결함 발견률 같은 정량 기준, 주요 기능의 정상 동작과 사용자 만족도 같은 정성 기준을 함께 사용한다. 결함 심각도별 해결 기준도 사전에 정한다.

사용자 수용 테스트에서는 실제 업무 데이터로 시나리오를 실행하고 최종 사용자가 참여하도록 구성한다. UAT(User Acceptance Test) 체크리스트를 작성해 인수 기준을 확인한다. 자동화와 수동 테스트의 비율, 테스트 환경과 데이터, 일정 및 자원 배분, 도구 활용 방안도 이 단계에서 계획한다.

연계 시스템에서는 연결보다 데이터의 정확성을 먼저 확인한다

인터페이스 통합 테스트는 연결이 수립되는지 확인하는 데서 끝나지 않는다. 데이터 송수신의 타이밍과 순서, 장애 발생 시 복구 메커니즘까지 검증해야 한다.

데이터 형식(Format)의 일치 여부와 데이터 변환(Transformation)의 정확성을 확인하고, 대용량 데이터를 처리할 때도 무결성이 유지되는지 점검한다. 경계값과 특수 사례를 포함한 테스트 케이스를 설계하며, 인터페이스별 시나리오와 End-to-End 비즈니스 프로세스를 함께 검증한다.

외부시스템패키지 소프트웨어외부시스템패키지 소프트웨어데이터 포맷 검증처리 결과 검증수신 데이터 검증데이터 요청데이터 응답데이터 처리처리 결과 전송

성능 검증은 응답 시간부터 장기 운영 안정성까지 다룬다

응답 속도에서는 화면 렌더링 시간과 사용자 인터랙션에 대한 반응 시간을 측정하고, 목표 응답 시간의 달성 여부를 확인한다. 처리 속도에서는 일괄 처리(Batch Processing) 작업의 소요 시간, 데이터 처리 알고리즘의 효율성, 주요 트랜잭션 처리 시간을 살핀다.

처리량(Throughput)은 단위 시간당 처리 가능한 트랜잭션 수로 측정한다. 동시 사용자 수에 따른 처리량 변화 추이를 분석하고 목표 처리량 달성 여부를 검증한다.

부하량(Load)을 시험할 때는 CPU, 메모리, 디스크, 네트워크 등 시스템 자원의 사용률을 측정한다. 부하 증가에 따른 성능 변화 패턴을 분석하고, 피크 타임을 시뮬레이션해 대응 능력을 검증한다.

안정성(Stability)은 장시간 운영 시 메모리 누수 여부, 자원 회수(Resource Release)의 정상 작동 여부, 예외 상황에서의 시스템 복구 능력으로 확인한다.

V&V는 결함 수정과 회귀 검증까지 이어진다

V&V(Verification & Validation)는 테스트 계획에서 끝나지 않고, 발견한 결함을 수정한 뒤 변경 영향을 다시 확인하는 순환 과정이다.

테스트 계획에서는 목표와 범위를 정의하고, 전략과 방법론, 일정과 자원을 정한다. 위험 요소를 식별해 대응 방안도 마련한다. 이어 요구사항 기반 테스트 케이스를 도출하고 기능별·모듈별 시나리오를 작성한다. 테스트 데이터와 환경을 준비하며, 테스트 케이스의 우선순위를 설정한다.

실행 단계에서는 테스트 케이스에 따라 테스트를 수행하고 결과와 증거를 기록한다. 성능 지표를 측정·모니터링하며, 결함이 발견되면 심각도와 우선순위를 평가한다. 결과 분석에서는 실제 결과와 기대 결과를 비교하고, 결함 패턴과 원인, 테스트 커버리지를 분석해 종합 테스트 결과 보고서를 작성한다.

결함은 결함 추적 시스템(Issue Tracking System)으로 관리한다. 수정 우선순위를 정해 할당한 뒤, 수정된 결함에 대해 확인 테스트(Confirmation Test)를 수행하고 회귀 테스트로 변경 영향을 검증한다.

YesNo테스트 계획테스트 케이스 설계테스트 실행 측정결과 분석 보고오류 추적 수정모든 결함 해결?테스트 종료

ISO 9126으로 품질을 여러 관점에서 평가한다

ISO 9126 품질 특성은 패키지 소프트웨어가 기능을 제공한다는 사실만으로 충분한지 평가하지 않는다. 기능성, 신뢰성, 사용성, 효율성, 유지보수성, 이식성의 관점으로 품질을 나눠 확인한다.

기능성(Functionality)은 요구 기능을 정확히 제공하는 적합성, 의도한 결과를 산출하는 정확성, 다른 시스템과 정상 상호작용하는 상호운용성, 인가되지 않은 접근을 막는 보안성, 관련 표준과 규정을 준수하는 준수성을 포함한다.

신뢰성(Reliability)은 결함으로 인한 실패를 방지하는 성숙성, 장애 중에도 기능을 유지하는 고장허용성, 장애 후 성능과 데이터를 복구할 수 있는 복구성으로 평가한다.

사용성(Usability)은 시스템 구조와 작동 방식을 이해하기 쉬운 이해성, 사용자의 학습 편의성을 보는 학습성, 쉽게 운용할 수 있는 운용성, 사용자 인터페이스의 직관성을 보는 친밀성을 다룬다.

효율성(Efficiency)은 응답 및 처리 시간이 적절한지 보는 시간 효율성과 시스템 자원을 효율적으로 사용하는지 보는 자원 효율성으로 구성된다.

유지보수성(Maintainability)은 결함 원인을 분석하기 쉬운 분석성, 수정과 변경의 용이성을 보는 변경성, 변경 후 안정적인 작동을 확인하는 안정성, 변경 후 테스트하기 쉬운지 보는 시험성을 포함한다.

이식성(Portability)은 다른 환경으로 옮기기 쉬운 적응성, 설치의 용이성을 보는 설치성, 유사 소프트웨어로 대체하기 쉬운 대체성, 다른 시스템과 함께 운영 가능한지 보는 공존성으로 평가한다.

ERP와 CRM 도입에서 확인한 테스트 범위

국내 제조업체 A사의 SAP ERP 도입에서는 핵심 업무 프로세스 13개에 대해 E2E 테스트를 수행했다. 인터페이스 테스트로 레거시 시스템과의 연동을 검증하고, 성능 테스트로 월마감 처리 시간을 최적화했다. 그 결과 오픈 후 1개월 내 중대 결함 발생률 0.5% 이하를 달성했다.

금융권 B사의 Salesforce CRM 커스터마이징에서는 고객 데이터 마이그레이션의 정확성, 영업 프로세스 자동화 워크플로우, 모바일·웹·콜센터 채널의 통합을 테스트했다. 결과적으로 고객 응대 시간은 25% 단축되고 영업 기회 포착률은 30% 향상됐다.

SaaS와 자동화 환경이 바꾸는 테스트 체계

SaaS 형태의 패키지 소프트웨어가 늘면서 테스트 방법론도 변화하고 있다. 멀티테넌트 환경의 격리성 테스트 중요성이 커지고, 서비스 중단 없는 지속적 업데이트에 대응하기 위한 테스트 자동화의 필요성도 증가한다.

AI 기반 테스트에서는 머신러닝을 활용한 테스트 케이스 자동 생성, 이상 패턴 감지를 통한 결함 예측, 테스트 결과 분석 자동화가 활용 대상이 된다.

DevOps 환경에서는 CI/CD 파이프라인에 테스트 자동화를 통합하고 지속적 테스트(Continuous Testing) 체계를 구축해야 한다. 개발·테스트·운영 간 협업 모델도 함께 마련해야 한다.

패키지 소프트웨어COTS소프트웨어 테스트V&VISO 9126