기본 콘텐츠로 건너뛰기

소프트웨어 테스팅 개선 모델 - TMMi와 TPI Next

최근들어 국내에는 소프트웨어 테스팅 개선 모델 중 하나인 TMMi에 대한 관심이 나날이 높아지고 있습니다.

그래서 간단하게 소프트웨어 테스팅 개선 모델에 소개해볼까 합니다.

테스트 모델은크게 2가지로 나누어 생각해볼수 있습니다.

하나는 컨텐츠 기반 모델이고 다른 하나는 테스트 개선 모델입니다.

컨텐츠 기반 모델은 테스트 프로세스에서 우리가 해야할 것이 무엇인지를 제시하는 모델입니다.

예를들면 테스트 프로세스에서는 계획도 하고 설계도 하고 결함보고서도 적어야 하고 이런 일련의 수행해야할 것들을 제시하는 모델이 컨텐츠 기반 모델입니다.

대표적인 컨텐츠 기반 모델로는 'Critical Test Processes(CTP)', 'Systematic Test and Evaluation Process(STEP), 'Test Management Approach(TMAP Next)' 등이 있습니다.

테스트 개선 모델은 일반적으로 이러한 컨텐츠 기반 모델의 내용을 포함하고 있고, 추가적으로 컨텐츠 기반 모델에서 제시하는 수행해야할 것들을 어떻게 할 것인가를 제시합니다.

테스트 개선 모델은 대체로 현재 프로세스를 진단하고 개선사항을 도출하고 그러한 개선사항들을 어떤 순서에 따라 진행해야할 것인지 제시하는 구조로 되어 있습니다.

여기서 개선사항들은 대부분 컨텐츠 기반 모델에서 제시하는 내용들과 동일합니다.

대표적인 테스트 개선 모델로는 'TPI Next'와 'TMMi'를 들 수 있습니다.

그 외에도 TAP, TOM, TIM, SQR, V2M2 등과 같은 다양한 모델들이 있습니다.

이러한 테스트 개선모델들은 벤치마크 측정 방법들을 포함하고 있습니다.

국내에는 TMMi가 대세이고 가장 널리 알려져 있지만 외국에서는 이와 함께 TPI Next도 각광을 받는 모델 중 하나입니다.

이 두 모델을 간략하게 비교하자면 아래와 같습니다.

우선 TMMi는 아래와 같은 특징들을 가집니다.

가장 큰 특징은 TMMi는 CMMi와 아주 밀접한 관계를 가집니다. 아마 국내에서 TMMi가 빠르게 소개되고 널리 인식된 계기가 CMMi와의 밀접한 연관성 때문일것입니다.

그리고 TMMi는 정적 테스팅을 포함한 모든 테스트 레벨을 다룹니다.

TMMi는 테스트 프로세스 개선에서 하향식(Top-down) 방식으로 접근합니다.

반면 TPI Next는 TMap Next가 기반으로 CMMi와의 연관성이 거의 없습니다.

외국에서는 TPI Next와 CMMi 그리고 TMMi와의 관계를 설정한 자료들이 돌아다니고 있지만 좀 억지스러운 부분이 많습니다.

그리고 TPI Next는 테스터들의 활동 영역에만 초점이 맞추어지다 보니 상위 레벨의 테스트 레벨만을 다룹니다. 즉, 단위나 정적 테스팅과 같은 레벨에 관한 내용이 없습니다.

그리고 TMMi는 비영리 조직이 주도하고 있지만 TPI Next는 한 회사에서 만들어진 모델입니다.

TPI Next는 TMMi와는 반대로 상향식(Bottom-up) 방식으로 구성되어 있습니다.

우리가 테스트 프로세스를 개선하기 위해 모델을 선택할 때에는 그 모델의 신뢰도라든지 공인성이라든지 이런걸 따져보게 되는 경우가 많습니다.

하지만 그런것보다는 개인적으로는 자신의 조직과 상황에 맞는 모델을 선택하는 것이 가장 좋다고 생각합니다.

만약 전사적인 차원에서 테스트 프로세스를 개선하고 구축하기 원한다면 TMMi가 좋은 선택이 될 것입니다.

반면에 아웃소싱 업체나 개발 후 테스트만을 수행하는 조직에서 테스트팀만의 개선을 도모한다면 TPI Next도 충분히 좋은 선택이 될 수 있습니다.

하지만 이러한 모델을 선택하고 프로세스와 팀을 진단하고 개선하기 전에 반드시 선행되어야 할 것은 이러한 모델들의 기초를 이루는 기반 지식을 깊이 이해할 필요가 있다는 것입니다.

선무당이 사람을 잡는다고 이런 이해없이 이런 모델들을 도입하였다가는 아마 99%의 확률로 돈과 시간과 노력만 들이고 실제 개선되는 효과는 극히 미미할 확률이 높습니다.

지금 프로세스와 팀을 변화시켜야 한다고 느끼신다면 지금이 가장 최선의 시기입니다. 지금이라도 테스트에 대해서 꾸준히 공부하고 다른 조직 또는 테스터와 정보를 교환하려는 노력을 게을리 하지 않으셨으면 합니다.

댓글

이 블로그의 인기 게시물

피드백 루프: AI 시대 테스터가 지켜내야 할 핵심 엔진

소프트웨어 개발과 테스팅 현장에서 가장 자주 언급되지만, 막상 시스템이 복잡해질수록 쉽게 경시되곤 하는 핵심 개념이 바로 '피드백 루프(Feedback Loop)'입니다. 코드를 수정하고, 빌드하고, 테스트 결과를 확인하고, 다시 개선하는 그 순환 과정의 속도와 정확도가 결국 소프트웨어의 품질을 결정짓기 때문입니다. 품질 전문가 매슈 하이저(Matthew Heusser)가 자신의 블로그 Quality Remarks에 기고한 "One Loop After Another" 아티클은 바로 이 피드백 루프의 다층적 구조와, AI 시대에 우리가 놓치지 말아야 할 품질 검증의 본질을 날카롭게 되짚어 줍니다. (출처: Quality Remarks - One Loop After Another / Matthew Heusser) https://qualityremarks.com/one-loop-after-another/ 매슈 하이저는 소프트웨어 개발 생태계가 단순히 하나의 커다란 테스트 루프로 돌아가는 것이 아니라, 시간 축과 관점에 따라 겹겹이 쌓인 '연쇄적인 피드백 루프들(One Loop After Another)'로 이루어져 있다고 설명합니다. 초단기 루프 (Inner Loop): 개발자가 코드를 작성하는 몇 초~몇 분 단위의 루프입니다. 단위 테스트(Unit Test)나 IDE의 Linter, AI 자동 완성이 즉각적인 피드백을 주는 영역입니다. 단기 루프 (Daily / CI Loop): 커밋과 푸시가 이루어지고, CI/CD 파이프라인에서 통합 테스트와 정적 분석이 실행되는 몇 시간 단위의 루프입니다. 중기 루프 (Iteration / Exploration Loop): 스프린트 단위로 탐색적 테스팅(Exploratory Testing)을 수행하고, 실제 사용자 시나리오나 엣지 케이스를 사람이 직접 검증하며 시스템의 유기적 작동을 확인하는 며칠~몇 주 단위의 루프입니다. 장기 루프 (Outer / Market Loop): 실제 ...

에이전틱 AI 프로젝트에서 테스터의 5가지 핵심 원칙

AI 코딩 에이전트와 자율형 에이전트가 빠르게 개발 워크플로우에 통합되면서, 단순히 코드를 잘 짜는 것을 넘어 '에이전트와 어떻게 협업하고 통제할 것인가'가 개발자와 아키텍트들의 가장 큰 화두로 떠올랐습니다. 윤석찬 님의 아티클 "AI 에이전트 시대, 개발자는 어떻게 일해야 하는가? – 프론티어 엔지니어링의 10가지 원칙"은 에이전틱 AI 시대에 엔지니어가 마주하는 패러다임 변화와, 실무 현장에서 일하는 방식을 어떻게 재정의해야 하는지 아주 명확한 가이드라인을 제시해 줍니다. (출처: channy.creation.net - 윤석찬 님의 블로그) https://channy.creation.net/blog/1989 비록 대규모 에이전트 오케스트레이션이나 초거대 인프라 시스템을 개인이 직접 구축하고 운용하는 것은 비용적·기술적으로 현실적인 한계가 있습니다. 하지만 개인 프로젝트에서 AI와 바이브 코딩(Vibe Coding)을 활용하며 겪었던 맥락 손실, 환각, 통제 불능의 경험들을 떠올려보면, 이 아티클이 제시하는 10가지 프론티어 엔지니어링 원칙은 소규모 개인 개발 환경에서도 대단히 깊은 공감을 불러일으킵니다. 이 글은 단순히 "AI 도구를 잘 쓰자"는 수준에 머무르지 않습니다. AI 에이전트가 생성해내는 불확실성 속에서 인간 엔지니어가 시스템의 맥락을 주도하고, 오작동을 제어하며, 품질의 키(Steering Wheel)를 쥐기 위한 구조적 사고법을 다룹니다. 그렇다면 프론티어 엔지니어링의 원칙을 바탕으로, 시스템의 신뢰성과 안전성을 검증해야 하는 테스터는 과연 어떤 실무 원칙을 세워나갈 수 있을까요? 윤석찬 님이 제시한 엔지니어링 원칙을 테스팅 관점으로 재해석해 보면, 다음과 같은 5가지 원칙으로 정리할 수 있을 것 같습니다. 1. 결정론적 검증에서 '경계선 및 허용 오차(Boundary)' 테스팅으로 전환하라 에이전트 기반 시스템은 같은 입력을 주어도 매번 다른 추론 경로를 거치는 확률적(Stoc...

에이전틱 AI 시대에 테스팅은?

 "소프트웨어 엔지니어링은 과연 끝난 것일까?" 최근 AI 코딩 에이전트와 바이브 코딩(Vibe Coding)의 급부상 속에서, 엔지니어들과 아키텍트들이 스스로에게 던지는 가장 뼈아픈 질문입니다. 이 질문에 대해 기술 현장의 날카로운 시선을 담은 이원국 님의 아티클 "소프트웨어 엔지니어링의 종말"과 arXiv 논문 "Agentic Software: How AI Agents Are Restructuring the Software Paradigm"은 아주 근본적인 패러다임의 변화를 짚어내고 있습니다. (출처: blog.wonkooklee.com - 소프트웨어 엔지니어링의 종말) https://blog.wonkooklee.com/blog/20260913_02/ (출처: arXiv - Agentic Software: How AI Agents Are Restructuring the Software Paradigm) https://arxiv.org/html/2606.05608v2 이원국님의 아티클과 논문에서 공통적으로 말하는 핵심은, 우리가 알고 있던 '인간이 직접 코드를 다듬고 작성하던 전통적 소프트웨어 엔지니어링'의 정체성은 종말을 고하고 있으며, 그 자리를 '에이전트 패러다임(Agentic Paradigm)'이 빠르게 대체하고 있다는 사실입니다. arXiv 논문 "Agentic Software"에서는 소프트웨어 구축의 단위가 단순히 결정론적(Deterministic) 알고리즘이나 코드에서, 목표를 스스로 자율 추론하고 도구를 호출하며 과업을 완수하는 'AI 에이전트 오케스트레이션'으로 이동하고 있음을 말하고 있습니다. 이제 개발자는 시스템의 메서드나 API 하나하나를 직접 타이핑하는 존재가 아닙니다. AI 에이전트가 코드를 생성하고, 실행하고, 테스트를 돌리고, 스스로 디버깅하는 일련의 자율 루프(Autonomous Loop)를 설계하는 '시스템...