LabHub

SI 프로젝트 프로세스 · 요구사항 정의와 추적 · 실습

요구사항 추적표 만들고 커버리지 검증하기

LabHub 에서 이어서 보기

목표

인터뷰 정리본에서 요구사항을 뽑아 번호를 붙이고, 요구사항 추적표(RTM)를 만든 뒤,
커버리지와 누락 항목을 스크립트로 검증할 수 있게 됩니다.

왜 중요한가

SI 프로젝트에서 요구사항 ID 는 요구사항정의서 → 화면정의서 → 프로그램목록 →
테스트 시나리오 → 검수확인서를 꿰는 유일한 실입니다. 이 실이 끊긴 자리에서
"개발됐는데 테스트 안 된 기능"과 "요구사항에 없는데 만들어진 기능"이 나옵니다.
그리고 그 발견은 항상 검수 2주 전에 일어납니다. 500 건짜리 추적표를 눈으로 대조하는
건 불가능하므로, 현장에서는 결국 누군가 이 검증을 스크립트로 만듭니다.
그 누군가가 되는 것이 이 실습입니다.

단계

1. /root/req 디렉터리를 만들고 /opt/lab/fixtures/si-process/req-src.md
/root/req/req-src.md 로 복사합니다.
2. /root/req/requirements.csv 를 만듭니다. 첫 줄은 정확히
req_id,category,title,priority,source 이고, 데이터는 8 행입니다.
req_idREQ-001 ~ REQ-008, priority// 중 하나,
categorysource 는 비어 있으면 안 됩니다.
3. /root/req/rtm.csv 를 만듭니다. 첫 줄은 req_id,screen_id,program_id,test_id.
화면 ID 는 SCR-001 형식, 프로그램 ID 는 PGM-001 형식, 테스트 ID 는 TC-001 형식입니다.
REQ-001 ~ REQ-008모두 최소 한 번 등장해야 합니다.
4. /root/req/coverage.sh 를 만듭니다. 인자 두 개(요구사항목록 추적표)를 받아
coverage=NN% 한 줄만 출력합니다(소수점 없이 내림). 실행 권한을 주세요.
5. /opt/lab/fixtures/si-process/rtm-vendor.csv 는 협력사가 보내온 추적표입니다.
여기에 등장하지 않는 요구사항 ID 를 한 줄에 하나씩, 오름차순으로
/root/req/orphan.txt 에 적습니다.
6. /root/req/change-log.csv 를 만듭니다. 첫 줄은
chg_id,req_id,before,after,requested_by,approved,date.
2 행 이상이고, approvedY 인 행과 N 인 행이 각각 최소 하나씩 있어야 합니다.
req_id 는 요구사항 목록에 있는 것만 씁니다. date2026-08-11 형식입니다.
7. /root/req/report.md 를 작성합니다. ## 요구사항 현황, ## 커버리지,
## 미추적 항목, ## 변경 이력 네 개의 h2 제목이 있어야 하고,
4 단계에서 계산한 커버리지 값과 5 단계에서 찾은 요구사항 ID 가 본문에 그대로 들어가야 합니다.
8. /root/req/verify.sh 를 만듭니다. 인자 두 개(요구사항목록 추적표)를 받아
정합성 검사를 하고, 이상이 없으면 첫 줄에 OK 를 출력하며 종료코드 0,
이상이 있으면 NG 로 시작하는 줄을 출력하며 종료코드 1 이어야 합니다.
검사 항목: (1) 추적표의 모든 req_id 가 요구사항 목록에 존재, (2) test_id 중복 없음.

참고

단계 8개

  1. 작업 디렉터리와 원본 확보
  2. 요구사항 목록 CSV 작성
  3. 추적표에 설계·프로그램·테스트 연결
  4. 커버리지 계산 스크립트
  5. 협력사 추적표의 누락 요구사항 찾기
  6. 요구사항 변경 대장 작성
  7. 요구사항 현황 리포트
  8. 추적표 정합성 검증 스크립트