큐밋 인사이트 - 기술 Blog
소프트웨어 테스트 수명 주기(Software Testing Life Cycle, STLC)는 소프트웨어가 출시되기 전에 테스트 과정을 체계적으로 수행하는 절차를 의미합니다. 즉, 단순히 오류를 찾는 단계를 넘어, 소프트웨어 품질을 보장하기 위한 일련의 활동이에요. 💻 STLC는 기획 단계부터 종료까지 일정한 단계를 거치며, 각 단계마다 명확한 산출물과 목표가 존재합니다. 덕분에 테스트 과정이 체계적으로 진행되고, 품질 향상과 리스크 최소화에 크게 기여합니다.
"테스트는 그냥 개발 끝나고 해도 되지 않나?"라고 생각할 수 있지만, 사실 STLC는 단순한 테스트 절차가 아닌, 프로젝트 성공을 위한 중요한 프로세스 입니다!
STLC (소프트웨어 테스팅 수명 주기) | SDLC (소프트웨어 개발 수명 주기) | |
정의 | 소프트웨어 품질을 검증하기 위한 구조화된 테스트 단계 시퀀스 | 소프트웨어를 설계, 개발, 배포 및 유지 관리하는 전체 프로세스 |
초점 | 소프트웨어가 요구 사항을 충족하는지 검증 및 검증 | 처음부터 끝까지 완전한 소프트웨어 제품 제공 |
단계 | 요구 사항 분석, 테스트 계획, 테스트 케이스 설계, 환경 설정, 테스트 실행, 테스트 종료 | 요구 사항 수집, 설계, 개발, 테스트, 배포, 유지 관리 |
진입점 | 소프트웨어 요구 사항이 정의된 후 시작 | 새로운 소프트웨어에 대한 비즈니스 요구 사항이나 아이디어로 시작 |
종료 지점 | 최종 테스트 후 테스트 종료 및 승인으로 종료 | 소프트웨어 사용 중지 또는 전환으로 종료 |
이해관계자 | 테스터, QA 리드, 자동화 엔지니어 | 개발자, 디자이너, 제품 소유자, QA, DevOps |
결과물 | 테스트 계획, 테스트 사례, 테스트 스크립트, 버그 보고서, 테스트 요약 | SRS, 디자인 문서, 소스 코드, 배포 계획, 사용자 매뉴얼 |
품질에서의 역할 | 소프트웨어가 기능적으로 올바르고 기능적으로 올바른지 확인 | 테스트를 한 단계로 통합하여 소프트웨어 제품 구축 |
사용 도구 | TestRail, Selenium, JIRA, Postman, TestNG, Cypress | JIRA, Git, Jenkins, IDE, Docker, Kubernetes, SonarQube |
👉 쉽게 말해, SDLC는 제품을 만드는 과정, STLC는 그 제품이 제대로 동작하는지 확인하는 과정이라고 이해하면 됩니다.
즉, 툴마다 세부 용어와 단계 수는 조금씩 다르지만, 핵심 프로세스는 거의 동일합니다. 👍
👉 [ 관련 글 ] 앱 품질을 위한 SW 검증 노하우_엔지니어 인터뷰
Q1. STLC와 SDLC는 동시에 진행되나요?
A. 네, 맞습니다. STLC는 SDLC의 각 단계와 밀접하게 연계되어 병행되며, 소프트웨어 개발 진행 상황에 따라 유기적으로 테스트 활동이 조정됩니다.
Q2. STLC는 꼭 모든 단계가 필요할까요?
A. 프로젝트 성격에 따라 일부 단계가 축소되거나 생략될 수 있지만, 핵심 프로세스는 반드시 포함되어야 합니다.
Q3. 자동화 테스트도 STLC에 포함되나요?
A. 물론이죠. 최근에는 Selenium, Katalon 등 자동화 툴을 활용해 테스트 효율을 크게 높이고 있습니다.
🔗 Katalon: 소프트웨어 테스팅 수명 주기: 전체 가이드
🔗 TestRail: 소프트웨어 테스팅 수명 주기(STLC):테스트 최적화를 위한 모범사례