앱 테스트 종류 및 진행 방법에 대해 알아보겠습니다 2편
이 전 시간 앱 개발 기획에 대해
알아보는 시간을 가져보았는데요,
오늘은 그에 이어서 앱 테스트에 관련하여
알아보는 시간을 가져보도록 하겠습니다.
[분석] → [기획] → [앱 테스트] → [서비스 오픈]
이 순서가 앱 개발의 보편적인 프로세스라고
이 전 시간에 안내를 드렸었는데요,
오늘은 이 중 [앱 테스트]에 관련하여
알아보려고 합니다.
출시 전 가장 중요한 액션이 무엇이냐고
묻는다면 오류 / 버그 등을 확인하는
테스트라고 말씀드릴 수 있는데요,
종류도 매우 다양한 편이고
진행 방식도 다르기 때문에
오늘의 포스팅을 참고하여 개발 진행 상황을
파악해 주시면 더욱 안정적인 앱 개발이
가능하실 테니 참고하여 주시기 바랍니다.
▼ 애플리케이션 개발 기획 1편 ▼
앱 기획 디테일하게 해야 하는 방법 안내드립니다 1편
스타트업 / 중소기업 / 중견기업 / 대기업 기업 유형을 막론하고 모든 기업들이 구현하길 희망하는 서비스가 있습니다. 바로 애플리케이션, 앱이죠. 여러분들이 당장 앱 스토어만 접속하셔도 얼
launching-box.tistory.com
개발 단계 테스트 알아보기
구현된 앱 서비스를 왜 테스트해야 할까요?
너무나 당연한 질문처럼 느껴지실 수도
있지만 생각보다 명확하게 답하지
못하시는 분들이 꽤 많이 계십니다.
당장 얼마 전, 국민 채팅 앱이라고 불리는
카카오 데이터 센터에 화재 사고가 발생하면서
앱 사용에 어려움이 발생하는 사고가 있었죠.
이때 사용자들의 반응을 확인하셨나요?
굉장히 냉담하고 차가웠습니다.
물론, 데이터 센서 관리가 미흡하여
일어났던 사고였기는 했지만 그런 부분들을
제외하고 보아도 "사용에 어려움"이 발생하면
사용자는 서비스에 대해 불만을 제기하게 됩니다.
*너무나 당연한 수순이긴 합니다.
우리가 여기서 주목해야 하는 점은
기업이 "카카오"라는 대기업이었다는 점입니다.
고정 사용자 층이 매우 탄탄한 카카오임에도
불구하고 불만 표출을 피해 갈 수 없었는데
분명한 사용자 층을 아직 확보조차 하지 못한
스타트업의 서비스가 출시하자마자
반복적으로 버그와 오류가 발생하게 된다면
과연 사용자로부터 만족도와 신뢰도를
이끌어낼 수 있을까요?
우리가 출시 전 테스트를 진행하는 이유는
- 오류를 최대한 방지하기 위해
- 이에 연결되어 사용자로부터 신뢰를 이끌기 위해
- 확보한 사용자를 매출로 유도하기 위해
진행한다고 생각해 주시면 됩니다.
*결론적으로는 서비스의 완성도를 향상시키기 위함이죠.
개발 단계 테스트
소프트웨어는 개발 단계에 따라서
4가지로 나눠서 살펴볼 수 있는데요,
지금부터 하나씩 알아보겠습니다.
■ 1. 단위 테스트
인터페이스 / 오류 처리 경로 등을
검사할 수 있는 테스트로, 코딩 직후에
진행하며 모듈이나 컴포넌트에 포인트를
맞춰 진행되는 테스트가 단위 테스트입니다.
이때, 사용자의 요구사항을 최우선으로
고려하여 진행되어야 하며, 단위 테스트를
진행함으로써 제품의 품질을 유지하고
개발 프로세스를 개선할 수 있다는
장점이 있습니다.
■ 2. 통합 테스트
1번에서 진행한 단위 테스트를 통해
테스트가 완료된 모듈들을 결합하여
시스템을 완성하는 과정에서 진행되는
테스트로, 이 과정에서 모듈 간의
인터페이스와 관련된 오류 / 결함을
발견하고 해결할 수 있습니다.
통합 테스트는 전체 시스템의 작동을
확인하고 사용자의 요구사항을 만족시키기
위해 중요한 역할을 하는데, 이때 동작의
정확성과 문제점을 빠르게 파악하고
해결하는 것에 도움을 줍니다.
■ 3. 시스템 테스트
실행 가능성 검증을 위해 진행되는 테스트로,
개발된 소프트웨어가 실제로 실행 가능한지를
확인하는 테스트입니다. 이때, 최대한
실제 사용 환경과 유사한 환경에서 테스트를
진행하며 환경적인 리스크를 최소화하는
방향으로 진행됩니다.
*기능적 요구사항 / 비기능적 요구사항으로
구분하여 각각을 만족하는지를 테스트.
▶ 기능적 요구사항
시스템이 요구하는 기능과 서비스에
관련된 요구사항을 의미합니다.
▶ 비기능적 요구사항
기능적 요구사항에서 다루지 못한
품질적인 요소를 의미합니다.
- 반드시 만족해야 하는 요구사항이므로
객관적인 측정이 필수이며, 현실적인
구현이 가능한 수준이어야 합니다.
■ 4. 인수 테스트
사용자의 요구사항을 충족할 수 있는지를
중점으로 진행되는 테스트입니다. 이때,
중요한 점은 "사용자"가 직접 테스트를
진행한다는 점입니다.
*알파 테스트 / 베타 테스트 둘로
나눠서 진행할 수 있습니다.
▶ 알파 테스트
오류 + 사용상의 문제점이 있다면
사용자와 개발자가 함께 확인하는 테스트.
▶ 베타 테스트
사용자가 제품을 사용하며 발견한 오류를
개발자에게 통보하는 식의 테스트.
앱 테스트
애플리케이션 테스트는
검증 테스트 / 기반 테스트 / 단위 테스트로
분류할 수 있습니다.
■ 1. 검증 테스트
개발을 담당한 개발사나 외주 개발사 입장에서는
의도대로 앱의 기능들이 구현되었는지를 확인하고
실행이 가능한지를 검증하는 테스트입니다.
의뢰사의 입장에서는 기획했던 내용이
결과물에 반영되어 있는지를 확인하는
테스트로, 이 과정을 통해 최종적으로
제품과 기획이 부합하는지를 검증합니다.
■ 2. 기반 테스트
명세 / 구조 / 경험을 기준으로 테스트를
세분화하여 진행할 수 있습니다.
기반 테스트에서는 테스트를 진행하는
테스터의 경험에 따라 효율성과 효과성의
정도에 변동이 생길 수 있다는 점을
인지하고 계시면 좋습니다.
▶ 2-1. 명세 기반 테스트
주어진 명세를 바탕으로 중대한 결함이
없음을 확인하는 테스트를 의미하는데,
요구사항 분석서와 설계서를 기준으로
테스트 케이스를 만들어 진행하는 테스트.
▶ 2-2. 구조 기반 테스트
소프트웨어 내부 흐름에 맞게 테스트 케이스를
제작하여 테스트를 진행하는 테스트.
특정 커버리지 달성을 위해 테스트를 설계하고
테스트 케이스를 도출하는 테스트를 의미.
▶ 2-3. 경험 기반 테스트
테스터가 진행했던 비슷한 스타일의 앱 혹은
구현된 기능들에서의 경험 / 직관을 활용하여
테스트 케이스를 추출하는 테스트를 의미.
이렇게 앱 개발 프로세스 중 매우 높은
중요도를 자랑하는 "앱 테스트"에 대해서
알아보는 시간을 가져보았는데요,
개발에서 끝나는 것이 아니라 다양한
테스트를 활용하여 발생할 수 있는
버그 및 오류를 최소화하고 완성도가
높은 결과물을 만들어내는 것이 매우 중요하니
오늘의 포스팅을 꼭 기억해 주시기 바랍니다.
앱 테스트에 관련하여 안내드린 제시요는
IT 아웃소싱 중개 플랫폼입니다.
만약 앱 개발 관련하여 개발 전문 인력을
찾고 계신다면 제시요로 많은 문의 부탁드립니다.