샘 알트만: "지금 당신이 o3보다 더 똑똑하다고 생각하세요?" : 오호츠크 리포트
55check.com
네트워크 테스트 (Network Test)
네트워크 테스트는 제품 개발 기간 중에 진행되는 기술 검증 테스트 중 하나로 네트워크 단절/전환, 약한 네트워크, 국가별 네트워크 상황, 네트워크 성능 등을 의도적으로 세팅하여 여러 네트워크 환경에서 서비스할 제품의 작동상 오류가 없는지, 의도하지 않은 동작이 발생되지 않는지 등 문제 및 오류를 발견하기위한 활동입니다.
---------- ❆ ----------
개발된 소프트웨어를 좋은 네트워크 환경에서만 작동시 노출되지 않는 숨은 결함을 찾기위한 일련의 테스트 절차로 결함과 문제 식별에만 목적을 두지 않고 여러 네트워크 환경에서 품질을 개선하기 위한 활동까지 포함하여 테스트를 진행하는 것이 중요합니다.
이유는, 테스트 주체가 선정한 네트워크 범위가 정량 수준을 벗어나거나 매우 제한적인 상황에서만 발생되는 오류가 발견될 경우 발견된 결함을 수정하는데 소비되는 리소스와 시간 비용이 높아지면 효율적이고 효과적인 개발활동을 했다고 보기 어렵기때문입니다. 이런 경우 결함을 수정하는데 초점을 두기보다 예외상황에서 발생될 수 있는 개선 활동과 대안에 초점을 두고 문제 발생시 즉각적으로 대응할 수 있는 방안을 준비하는 활동이 더 나은 결과를 얻을 수 있습니다.
네트워크 테스트 전 서비스할 제품의 타겟 유저와 국가, 해당 국가의 네트워크 상황 조사, 네트워크 목표수준과 한계수치에서 제품 동작과 데이터 보호 안정성이 요구되는 수준을 만족하는지 품질 검증 목표를 선정하고, 예상되는 문제를 예측하고 식별하기위한 테스트 시나리오/예상결과치 준비, 테스트 상황에 적합한 테스트 도구 선정 등 철저한 사전 준비가 필요합니다.
네트워크 테스트 종류
1) 네트워크 단절 테스트
네트워크를 사용하지 못하는 상황(ex_비행기모드, wifi/LTE/3~5G off)으로 네트워크 단절 상태에서 제품의 반응을 확인하여 타임아웃 정책 수립 및 발생될 네트워크 이슈에 대한 대비 시나리오 확립하는데 목적이 있습니다.
#타임아웃 정책이란, 제품 사용 중 네트워크 단절 상황이 발생될 경우 소프트웨어의 지연을 허용할 특정한 시간, 미리 정해둔 시간의 끝에 이벤트를 발생하거나 대기를 중단시키는 등 네트워크로 인해 발생될 수 있는 문제를 예방하고 해결하기위한 조치를 의미합니다.
예) 네트워크 단절 시 n회 접속 시도 후 네트워크 오류 팝업을 노출하고 네트워크 재 연결시 특별한 이벤트 없이 제품을 정상 이용 가능 하도록 조치한다.
2) 네트워크 전환 테스트
WIFI ↔ LTE/3~5G로 전환되는 상황 (ex_wifi 연결상태에서 wifi 사용을 중지 시 인터넷이 잠시 단절되고 LTE/3~5G로 연결된다)을 조작하여 네트워크가 잠시 단절되었다 다른 네트워크로 전환 후 연결된 경우 제품의 동작을 확인합니다.
3) 네트워크 부하 및 성능 테스트
네트워크 부하 및 성능을 의도적으로 발생시켜 각 상황에서의 제품 동작을 확인한다.
Edge Network : 상시 네트워크 통신이 없을때 큰 문제없이 제품 이용 가능해야 한다.
Bad Network : 네트워크 상황이 좋지 않아 제품 이용 가능/불가능 상황이 상시로 존재하는 상태로 제품의 가장 주요기능에서 발생되는 이슈가 없는지, 의도하지 않은 동작이 발생되지 않는지 확인한다.
Delay / Loss : 제품 이용이 불가능한 상황으로 제품의 가장 주요 기능에서 의도하지 않은 동작이 발생되지 않는지 확인한다.
네트워크 테스팅 도구
인터넷 속도 체크 : SPEEDTEST
네트워크 성능 체크
속도 조절, 부하, 지연상황을 세팅하여 네트워크 테스트를 수행할 수 있습니다.
- Mac : Network Link Conditioner
- Window : NEWT(Network Emulator Toolkit (MSDN))
네트워크 테스트 Q&A
Q. 네트워크 테스트를 해야하는 이유
A. 서비스하는 제품이 한국 뿐만 아니라 대만, 일본, 미국 등 글로벌 국가를 타겟으로 서비스할 예정이라면 한국의 좋은 네트워크 환경에서만 테스트할 경우 글로벌 국가의 나쁜 네트워크 환경에서 제품이 어떻게 동작하는지, 어떤 오류를 발생시키는지 등 환경에따른 제한적 장애나 리스크를 모른채 서비스하게 될 것입니다. 이는 유지보수 비용을 증가시키는 원인이 될 수 있습니다. 서비스할 제품을 서비스할 국가의 네트워크 상황에서 테스트 하지 않는다면 스스로 품질에 대한 확신을 얻을 수 있다고 자신할 수 없을 것입니다.
Q. 출시를 앞둔 회사의 제품은 한국에서만 서비스할 예정인데 그럼에도 네트워크 테스트가 필요할까요?
A. 한국의 네트워크 환경은 세계 최고라고 말해도 과언이 아닐정도로 네트워크 상태가 우수합니다. 하지만 이것은 네트워크가 반드시 연결되어있는 환경에 국한됩니다. 아무리 좋은 환경의 네트워크라 할지라도 LTE ↔ WIFI 간 전환, 지하나 엘리베이터 등 닫힌 공간에서의 단절, 도시를 벗어나 산이나 바다 등 약한 네트워크 환경에서 발생될 수 있는 지연 등 상황을 벗어날 수는 없습니다. 이런 예외상황에서 발생될 수 있는 숨은 결함을 찾기위한 테스트 절차를 필요없다고 할 수 있을까요. 숨은 결함이 가진 이슈 영향범위를 예측할 수 없기때문에 개발단계의 제품 검증 절차에서는 테스트를 수행해보시길 권장합니다.
Q. 네트워크 테스트로 발견한 숨은결함 사례(모바일게임)
A. (1) 게임 내 콘텐츠 중 일부 레벨을 달성하면 게임에서 사용할 수 있는 재화와 같은 아이템을 보상으로 지급하는 경우가 있습니다. 아이템 보상을 지급하는 시점에 네트워크 단절 ↔ 연결을 여러번 시도할 경우 보상이 무한으로 지급되는 이슈
(2) 비싼 비용을 지불하고 산 희귀 아이템으로 보스몹을 잡는 중 네트워크 상태가 급격히 나빠져서 아이템만 사용하고 보스몹을 잡지 못하는 이슈
네트워크 테스트를 수행하지 않았다면 발견되기 어려운 이슈였고, 유저가 나쁜의도를 갖고 어뷰징할 수 있거나 회사의 재산적 손해와 신뢰 하락의 결과를 가져올 수 있는 이슈입니다.
Q. 조직이나 협업부서에서 네트워크 테스트의 필요성을 모를 경우 어떻게 대처하면 좋을까요?
A. 두 가지 방안을 말씀드릴 수 있습니다.
첫째, 이슈를 예측해서 발생될 수 있는 이슈나 타사 사례를 제시하여 예방을 목적으로 정책수립과 테스트 진행을 제안하는 것.
둘째, 실 테스트를 수행하여 발생된 이슈와 대응 방안 또는 개선점에 대한 내용을 공유하는 것. 상황에 따라 두 가지 방안으로 대응할 수 있습니다.
첫번째 방안에서 언급한 예측 가능한 이슈 또는 사례로 사용할 만한 예시는 앞선 질문 ‘숨은 결함'에서 예시로 말씀드렸던 사례를 사용할 수 있고, 추가로 글로벌 국가를 대상으로 서비스할 예정인 제품의 경우 네트워크 환경에 따라 유저 이탈율이 높아질 수 있다는 점, 애플리케이션이 멈추거나 무한루프에 빠지는 경우가 발생될 수 있음 등의 사례를 공유하고 이슈에 대한 대응 방법과 개선 방안에 대한 의견을 전달함으로 결정권자들이 충분히 내용을 인지한 상황에서 가장 좋은 의사결정을 할 수 있도록 가이드 하는 것이 필요합니다.
두번째 방안을 진행하기 위해서는 네트워크 테스트 수행을 위한 추가 리소스와 시간이 필요하다는 장애물이 있습니다. 시간과 리소스가 부족한 상황에서 네트워크 테스트를 수행할 현실적 방안이 없는데 다른 이들의 의견을 무시하고 테스트 수행을 강요하거나 밀어붙일수는 없습니다.
하지만 품질에 대한 범위와 전략에 대한 책임과 권한은 품질 관리자에게 있음을 잊지 않아야 합니다. 합리적이고 수용할만한 내용과 사례로 네트워크 테스트가 필요한 이유를 설명하고 주어진 시간과 리소스 안에서 품질을 향상 시킬수 있는 전략을 고민하다보면 (예를들어 투입인원을 적절히 분배하여 테스트 유형별로 같은 기간안에 병행으로 테스트를 진행하거나, 기능 우선순위와 중요도에 따라 테스트 수행 차수별로 테스트 유형을 배치하는 등) 방법을 반드시 찾기 마련입니다.
다음 내용이 궁금하다면?
이미 회원이신가요?
2023년 11월 8일 오전 5:41