SW 테스트 아웃소싱 업체들의 몸부림
여러분, 최조의 소프트웨어 테스팅 작업이 시작되던 시기는 언제쯤이었을까요?
개발이 가능하던 시점부터 일까요? 아니면 최초의 컴퓨터가 나오기 시작했을 때부터 일까요?
아니면 혹시 그때일까요?
컴퓨터에 벌레가 끼어서 죽었던 사건...?!
생각보다 최근인 1947년, 거대 계산기 에니악의 작동 오류가 발생했었는데요,
이 당시 기술자들은 문제의 원인을 찾기 위해 뒤적거리거나 여러 가지 부품을 들여다보곤 했을 겁니다.
그 괴정에서 "버그"라는 것을 발견했을 테니까요!
오, 이거 테스팅 아닌가요?
이 시점이 최초의 소프트웨어 테스트의 시작이었다면,
시간 대비 정말로 급속도로 발전한 분야라고 생각되는데요...!
그 과정은 하드웨어 오류, 소프트웨어 오류가 발생하면 기록하고 보고하는 식으로 진행되다가,
점차 매뉴얼화하여 따로 정리하고 보관하고 공유하며 점진적인 발전이 일어났을 것이라 예상됩니다.!
그 후 산업/생산 속도가 빨라짐과 동시에 컴퓨터가 어느 분야에서든 이용되기 시작하였고,
더 나아가 시스템이라는 개념 자체가 여러 분야와 어우러져 편리한 업무를 도와줄 수 있는 도구로 많이 발전하였죠...!
벌써 AI&자동화와 빠른 융합을 이루어 낸 분야이기도 하구요.
네이버에 "테스팅" 검색해 보시면 관련 기술을 제공하는 업체가 좌르륵 나오시는 것을 볼 수 있습니다(!!!)
이렇게 보니까 정말 놀라운 발전을 이루어내었군요 \( ˆoˆ )/
본격적으로 첨단 기술, 하이 테크놀로지와 융합하기 시작한 2010년대부터
대용량 데이터 처리, 클라우드 응용이 빈번한 현재까지, 수많은 소프트웨어 테스팅 분야에서 일어난 변화들을 조금 면밀히 관찰해 보면 한 가지 사실을 알 수 있는데요...!
지속적 통합(CI)과 지속적 배포(CD)를 통해 소프트웨어 개발 프로세스에서 코드 변경 사항을 자주 맞닥트리면서 이를 병합하고 테스트하는 기술인 CICD 개념과 더불어
개발팀과 운영팀의 활발한 협업을 통해 테스팅이 개발 과정과 병행되어 수행되기 시작한 DevOps 문화의 발전이 있었더라구요!
2015년 이후에는 인공지능(AI)과 기계학습(ML, 머신러닝) 기술이 급격히 발전하면서, 소프트웨어 테스팅 분야에서도 자동화와 지능화가 활발히 이루어졌죠.
제가 염탐(?)해 본 바로는... 꽤나 트렌디하다고 느껴지는 테스트 아웃소싱 업체에서 결함 예측, 테스트 케이스 자동 생성, 테스트 자동화 도구 개발 등에 선발주자로 적용을 시작했던 기억이 있습니다...!
지금은 일종의 패션처럼 너도 나도 입어보는 소재가 되어버린 전략 중 하나가 바로 테스트 자동화이지요.
그 전략 중에서도 수동 테스트에 투자되는 자원 중 일부를 자동화에 도입하거나, 전부 자동화에 투자를 하여 일부 테스트 로직을 상시 활성하시키는 경우도 많습니다.
자동화된 시스템에서는 복잡한 논리적 흐름이나 예외 상황을 모두 자동으로 처리하는 것이 어려울 수 있다는 점이 존재하죠.
수동 테스트는 더 많은 리소스를 필요로 하는 대신 복잡한 테스트 시나리오를 개인 기량을 통해 유연하게 다룰 수 있다는 유일무이한 강점이 있기도 하구요.
따라서 테스팅 조예가 깊은 고급 인력과 융합하여 테스트 자동화, AI 솔루션과 함께 서비스를 하는 형태가 장기적으로 봤을 땐 더 이득일 수 있습니다..!
심도 있는 검사와 인건비 절약을 동시에 추진하는 형태라고 볼 수 있죠.
글을 쓰다 보니 한 가지 의구심이 들기 시작했어요.
이렇게까지 무구한 발전을 이뤄낸 소프트웨어 테스팅 기술 분야가
이제는 포화상태에 점점 이르고 있다는 생각이 드는데요,
똑똑한 사람들이 만들어놓은 편리한 테스트 기술스택을 응용하기 시작하면서, 이전 2010년 때와는 다른 유행이 선도되고 있다고 생각합니다..!
이런 발전의 배경에도 나름의 사연이 있습니다....
테스트 아웃소싱 업체는 정해둔 범위의 리소스를 필수적으로 지원해야 하는 의무가 있는데요.
소프트웨어 테스팅의 가장 중요한 자원의 특징은
한정된 시간, 한정된 투입 인력, 그리고 인력의 시간 대비 공수(또는 능력)이지 않을까요?
담당자 입장에서는 적은 자원으로 최대한의 효율을 내고 싶을 테니, 그만큼 한정된 자원을 적절하게 이용해야 할 근거가 생기는 겁니다..!
이 외에도 고객의 요구 사항, 프로젝트 예산, 일정에 따라 테스트 범위를 유동적으로 조정하고 설계할 의무가 있습니다. 리소스 투자 대비 높은 개선율을 발휘해야 경쟁력 획득과 더불어 고객의 재구매 의사가 발현되기 때문이죠!
시간이 아무리 흘러도 유행은 바뀌되 이러한 사업 전략의 핵심은 변하지 않는 것 같습니다.
핵심이라는 말과 덧붙여, 개선이 필요한 업무 영역 별 취약점을 파악하고 업무의 우선순위를 적절하게 지정할 수 있는 품질 책임자와, 지속적인 개선 서비스가 필요한 부분을 추가로 지도할 수 있는 시선이지 않을까요?
저는 보았습니다... 더 나은 서비스를 어필하기 위한 치열한 수주 공방전을....
이런 포화상태에 대처할 수 있는 방안이 없지는 않죠..!
뺏고 뺏기는 이 상황에서 이것만큼은 꼭 내 것으로 만들기 위한 업체들만의 전략을 조금 유출하자면..!
각 산업 분야의 도메인 전문성을 강화하는 것입니다!
특정 분야에서는 우리가 제공하는 품질 검증이 짱이다!! 라고 어필하는 것이지요 ㅎㅎ
예를 들면, 높은 수준의 보안과 데이터 보호에 철저하고, 테스트 매뉴얼과 정책이 바로 잡혀 꼼꼼하고 안전하고 촘촘한 작업 측면을 어필하여 금융권을 사로잡는 전략이 있을 수가 있겠죠?
아니면 네트워크 기술에 대한 전문성 강조, 수많은 트래픽과 대규모 통신 공급망을 감당할 수 있는 업무 처리 능력을 강조하여 통신 분야에서 매력을 어필할 수 있겠구요.
어떤 앱이든 적용 가능한 UI 자동인식 AI 기술 보유를 강조하여 상당히 융통성 있는 솔루션을 통해 다수의 시장을 섭렵하고자 하는 전략도 있겠지요..!
더 나아가 아이디어와 내포하는 기능은 특출 나지만, 여유자금이 많은 그룹에 해당하지 않아 품질 저하성이 큰 소규모기업, 스타트업 공략에 나서서 기량을 발휘하기도 한답니다...!
사실 품질 활동이란 인력 풀이 적고 품질 개선 효과가 뛰어난 스타트업 쪽이 어느 도메인보다 필요한 작업이라고 생각하고 있거든요...!
도메인 전문성 강화 말고도 더 많은 도움을 제공할 수 있는 방향도 많이 있겠죠?
사업 관리자가 편하게 믿고 맡길 수 있도록 실시간 결과 모니터링, 실시간 업무 보고 진행하기와 같이
사무처리를 손쉽게 진행할 수 있게 문서를 자동으로 만들어주는 도구를 같이 제공할 수도 있을 거 같아요.
이 부분은 테스트 아웃소싱뿐만 아니라 다른 분야에서도 일정 수준 이상 요구되는 것 같아요.
간혹 사람들을 보다 보면 느끼는 데 있는데요,
실제 현장 내 발생 상황에 가담하고, 전문지식을 발휘하는 것도 중요하나
주어진 과업에 대한 처리 방식, 철저함, 알맞은 대답, 깔끔한 보고 등이 진짜로 중요해 보이더라구요
조금 심할 정도로 전문지식보다는 업무처리 능력을 더 선호하시는 것 같았습니다.
직장에 몸을 담은 지 얼마 지나지 않았지만
과거에 진행된 서비스 제공 스토리라인을 참고하다 보니 시장 동향 정도는 스스로 파악해보고 싶더라구요...!
사실 더 욕심을 내자면,
현재 왕성하게 발전하고 있는 서비스보다는,
앞으로 어떤 서비스 제공이 부상하게 될지 예측해보고 싶은 느낌이 큽니다.
그것이 가능할 만큼 성장할 수 있는 날이 언젠가는 다가오겠죠?
지금은 이렇게 글을 쓰는 것만으로도 도움이 되고 있다고 느껴집니다 :)