개념
이름 그대로 "생명주기 전체"를 다룬다
이 모듈에서 지금까지 본 도구들은 모두 한 칸짜리 도구 였다. TestRail·Testmo는 테스트 관리, Bugzilla·MantisBT는 결함 관리, Xray·Zephyr Scale은 Jira 안에서 테스트 관리 — 각자 맡은 영역이 분명했다.
HP ALM(Application Lifecycle Management)은 전제가 다르다. 이름에 있는 그대로, 소프트웨어 생명주기의 여러 단계를 하나의 시스템에 통합 한다. 원래 Mercury의 TestDirector에서 출발해 HP Quality Center를 거쳐 지금은 Micro Focus를 인수한 OpenText가 제공하는데, 현장에서는 세대와 무관하게 그냥 "ALM" 또는 "QC"라고 부른다.
[요구사항 관리] → [테스트 계획] → [테스트 실행] → [결함 관리] → [릴리스 관리]
└────────────────── 하나의 DB, 하나의 링크 체인 ──────────────────┘모듈 2(레슨 5)의 추적성 매트릭스를 도구가 강제한다
모듈 2(레슨 5)에서 요구사항 추적성 매트릭스 를 배웠다. 요구사항이 바뀌면 어떤 테스트가 영향받는지 놓치지 않기 위해 표를 손으로 관리했다. 모듈 7(레슨 1)에서는 TestRail 같은 테스트 관리 도구가 이 연결을 일부 자동화한다는 것도 봤다.
ALM은 이 연결을 끊어질 수 없는 구조로 만든다. 요구사항 모듈에 등록한 항목에 테스트 계획의 케이스를 붙이고, 그 케이스의 실행 결과가 결함 모듈의 결함을 낳는다. 그러면 이런 질문에 클릭 몇 번으로 답이 나온다.
| 질문 | ALM이 답하는 방식 |
|---|---|
| 이 요구사항은 몇 % 테스트됐나? | 요구사항 → 연결된 케이스의 실행 상태 집계 |
| 이 결함은 어느 요구사항에서 나왔나? | 결함 → 실행 → 케이스 → 요구사항 역추적 |
| 이번 릴리스에 미검증 요구사항이 있나? | 릴리스 범위 안에서 커버리지 0인 항목 필터 |
왜 여전히 금융·공공의 표준인가
"낡았다"는 평판에도 ALM이 살아남은 이유는 취향이 아니라 규제 다. 금융·의료·항공처럼 감사(audit)를 받는 산업에서는 "테스트를 했다"가 아니라 "했다는 것을 증명할 수 있다" 가 요구된다. 감사인이 요구사항 하나를 짚으면, 그것을 검증한 테스트 케이스와 실행 기록, 실행한 사람, 실행 시각, 발견된 결함과 그 종결 근거까지 한 화면에서 나와야 한다.
- 완결된 추적 체인 — 요구사항부터 결함 종결까지 한 DB 안에서 이어진다
- 감사 로그와 전자 서명 — 누가 언제 무엇을 바꿨는지 남고, 승인 절차를 강제할 수 있다
- 권한 분리 — 테스트 설계자·실행자·승인자의 역할을 시스템이 구분한다
여러 SaaS 도구를 연동해서 비슷한 그림을 만들 수는 있다. 하지만 그 경우 "연동이 끊기지 않았음"까지 감사에 설명해야 한다. 시스템 하나로 끝나는 쪽이 설명이 훨씬 짧다.
솔직한 단점
- 무겁다. 설치형 서버 기반이라 도입·운영에 별도 인력이 붙는다
- 비싸다. 사용자 단위 라이선스 비용이 SaaS 도구와 자릿수가 다르다
- 느리고 구식이다. 옛 버전은 브라우저 플러그인을 요구했고, 지금도 최신 SaaS 도구의 반응 속도에는 못 미친다는 평이 많다
그럼에도 잘 바뀌지 않는 이유는 전환 비용 이다. 수년치 요구사항· 케이스·실행 이력·감사 기록이 이미 그 안에 쌓여 있고, 사내 프로세스와 감사 대응 절차가 그 화면에 맞춰져 있다. 걷어내는 비용이 불편을 참는 비용보다 크면, 조직은 합리적으로 유지를 택한다. QA가 배워야 할 것은 "ALM이 좋다/나쁘다"가 아니라 이 계산이 조직마다 다르게 나온다는 사실 이다.
실무에서 왜 필요한가
직접 쓰지 않더라도 ALM을 이해해야 하는 이유가 두 가지다.
첫째, 면접과 실무에서 만난다. 금융권 SI, 공공 프로젝트, 대기업 품질보증 조직의 채용공고에는 아직 ALM/QC가 자주 등장한다. 이때 필요한 건 화면 조작 숙련도가 아니라 "요구사항–테스트–결함을 하나의 체인으로 관리한다"는 개념을 이해하고 있느냐다.
둘째, 가벼운 도구를 쓸 때 무엇이 빠졌는지 알게 된다. TestRail만 쓰는 팀에서 "이 요구사항이 얼마나 검증됐는지" 답이 안 나온다면, 그건 도구의 한계가 아니라 요구사항을 어디에도 등록하지 않았기 때문일 수 있다. ALM이 강제하는 구조를 알면, 어떤 도구를 쓰든 그 구조를 스스로 만들어낼 수 있다.