나의 서비스기획 이야기

[나의 서비스 기획 이야기] 출시 막바지 고려 요소: 테스트와 배포

거인의서재 2023. 4. 27. 21:58

    "서비스 오픈"은 기획의 가장 마지막 단계이다. 기획서를 작성하고 개발 작업이 끝나면 오픈일이 맞추어 서비스가 짠하고 오픈이 될 것 같지만 개발이 끝났다고 해서 오픈이 저절로 되는 것은 아니다. 오픈을 하기에 앞서서 고려해야 하는 사항이 아직 2가지 남아있다. '테스트'와 '배포'이다. 업무 경험이 없거나 신입 기획자인 경우 '배포'는 특히 낯설다. 어렵고 대단한 무언가는 아니지만 알고 있으면 좋다.

 

    기획서를 작성하고 나면 개발 작업이 시작된다. 개발이 끝나면 완성된 결과물을 테스트하고 잘못된 부분을 수정해야 한다. 이를 테스트라 부르기도 하고 QA 혹은 디버깅이라고 부르기도 한다. 그런데 테스트를 어떻게 할까? 고객들이 사용하는 앱에서 직접 할 수 있을까? 그렇지 않다. 업데이트한 걸 무작정 고객들이 사용하는 앱에 공개하게 되면 고객들도 오류를 경험할 수 밖에 없다. 그래서 테스트 환경이라는 것이 존재한다. 서비스에서 무언가를 수정하게 되면 개발 서버, 스테이징 서버를 거쳐 실서버에 반영한다. 개발 서버와 스테이징 서버라고 하는 것은 테스트용으로 만들어둔 앱 혹은 웹 페이지라고 생각하면 된다. 이는 내부 직원들만 이용이 가능하며 고객들에게는 보여지지 않는 화면이다. 

 

    개발 작업이 끝나고 나면 우선 개발 서버에 작업물을 올린다. 개발 서버는 연습장의 개념에 가깝다. 그러니까 디자인도 정교하지 않게 되어 있고, 데이터도 아무렇게나 들어가있다. 기능을 확인하는 목적이 강해서 덜 정교하게 만들어져 있다. 네이버에도 아마 개발 서버가 있을 것이다. 네이버의 개발 서버에서 네이버 홈페이지를 본다면 각종 광고 이미지들이 가짜 이미지들로 채워져있을 것이고, 네이버 뉴스 기사란은 개발자와 기획자들이 일기장처럼 끄적여둔 문구들로 가득할 것이다. 여기서 1차 테스트를 진행한다. 1차 테스트 결과에 문제가 없다면 2차 테스트 환경인 스테이징 서버에 작업물을 반영한다.

 

    스테이징 서버는 실제 고객들이 보는 화면과 매우 유사하게 구성한다. 왜냐하면 스테이징 테스트가 끝나면 고객들이 사용하는 서버에 작업물을 올려야 하기 때문이다. 데이터도 조금 더 그럴싸하게 올려두는 경우가 많다. 스테이징 서버 테스트는 일종의 리허설이라고 보면 된다. 그래서 고객이 느끼는 것과 유사한 관점으로 서비스를 바라볼 수 있다. 스테이징 서버에서 테스트를 하면서 1차 테스트에서 미쳐 발견하지 못했던 오류를 찾아내기도 한다. 그러나 테스트를 하는 입장에서는 스테이징 테스트는 개발 테스트의 반복이다. 동일한 테스트를 한번 더 하는 것이기 때문이다. 그래서 실제로는 고객 입장에서 서비스를 본다기 보다는 오류가 있는지 찾아내는데 집중하는게 보통이다. 스테이징 테스트에서도 이상이 없다면 실서버에 배포를 하게 되고 이제 고객들은 업데이트된 서비스를 만날 수 있게 된다.

 

    기획과 개발의 결과물은 [개발 서버 --> 스테이징 서버 --> 실서버] 순으로 배포가 이루어지는 것이다. 그런데 배포라고 하는 것이 기획자가 원하는 대로 진행되는 것이 아니다. 배포에도 시간이 소요가 되고, 배포라는 것은 보통 회사에서 정해둔 주기가 있다. 아무때나 배포를 자유롭게 해버리면 서비스에 예기치 못한 문제들이 발생할 수 있기 때문이다. 그래서 매주 ㅇ요일과 ㅇ요일 ㅇㅇ시에 정기배포를 한다고 정해두는 경우가 보통이다. 개발자들은 자신의 작업물에 대한 배포를 요청하고 배포 담당자는 각 배포물이 서비스에 영향을 주지는 않을지 검토한 뒤에 배포를 진행한다. 그래서 스테이징 테스트가 끝났다고 해서 당일 혹은 다음날 바로 고객들에게 배포를 할 수 있는 것은 아니다. 이는 개발 서버와 스테이징 서버에 배포를 할 때에도 마찬가지이다. 그래서 사전에 개발자와 협의 후, 배포 시기를 결정해두어야 한다. 물론, 개발 서버와 스테이징 서버 배포는 자유로운 편이지만 규모가 큰 프로젝트인 경우 여러 개발자가 시기를 맞추어 같은 시간에 배포를 해야될 필요성도 존재한다. 프론트팀에서 스테이징 배포를 했는데 백엔드 팀에서 배포를 하지 않았다면 기능은 작동하지 않는다. 문제는 스테이징 서버를 나만 쓰는 것이 아니기 때문에 스테이징에서 오류가 났을 경우 다른 프로젝트에서 진행하는 테스트에 방해가 될 수도 있다.

 

    기획자는 생각보다 많은 요소들을 고려해야 한다. 그 중 테스트와 배포는 초보자가 놓치기 쉬운 요소이다. 머리 속에 흐름을 한번만 그려둔다면 프로젝트를 진행할 때 도움이 될 것이다.

 

 

2023.04.27

 

반응형