본문 바로가기
게임/게임 스터디

[용어 정리] 게임 실무 기본 개념 - 개발 및 QA

by PARK JAE 2021. 7. 21.
728x90

게임 회사에 인턴, 신입 사원으로 들어가면 업무에 관한 여러 단어가 실린 용어집을 받는다.
열성적인 게이머가 게임을 업으로 삼기 위해 게임사에 출사표를 던지기도 하지만 '캔디크러쉬사가', '꿈의 집' 등 메이저한 캐주얼 게임 정도만 가볍게 플레이해본 지원자도 적지 않다. 상황이 이렇다 보니 회사가 나눠주는 용어집에는 '몬스터', '인벤토리'처럼 게이머라면 누구나 알 법한 내용들이 가득하다.


기초적인 단어는 원활한 의사소통의 밑거름이다. 그러나 이것만 안다고 능사는 아니다.
실제로 나는 어릴 때부터 꽤 열심히 게임을 즐겨왔고 개발 용어도 조금은 알고 있다 생각했다. 그런데 막상 입사해보니 생전 처음 듣는 말이 사방에서 쏟아졌고 그런 단어는 교육 자료에 담겨있지 않았다 🥺

 

아래는 실무 중 개발자, 테스터들과 대화하기 위해 익힌 넓고 얕은 개발 용어 및 지식들이다. 아직 배울 게 산더미처럼 많긴 하지만!

개발

  • API (Application Programming Interface)
    애플리케이션들이 서로 상호작용할 수 있도록 매개체 역할을 하는 인터페이스.
  • SDK (Software Development Kit)
    소프트웨어 개발 도구 모음. 운영 체제, 소프트웨어등을 위한 프로그램을 만들 수 있도록 제공되는 일련의 툴.
  • SQL (Structured Query Language)
    데이터베이스 시스템에서 정렬, 탐색을 활용해 자료를 전문적으로 처리하는 데 쓰이는 언어.
  • 나스 (Network Attached Storage, NAS)
    네트워크 결합 스토리지. 회사 등에서 인터넷을 통해 데이터를 주고받는 저장 장치다.
  • 데이터베이스 (Database, DB)
    여러 사람이 공유 및 사용할 목적으로 통합, 축적, 관리하는 데이터의 집합.
  • 라이브러리 (Library)
    소프트웨어 개발에 쓰이는 함수, 기능의 집합.
  • 리팩토링 (Refactoring)
    겉으로 보이는 변화 없이 내부 구조를 개선하는 작업. 유지보수의 의미도 지니고 있기 때문에 가독성을 높이는 데 초점을 둔 클린 코드보다 상위 개념.
  • 매트릭 대시보드 (Metric Dashboard)
    데이터를 시각화하여 분석, 모니터링에 도움을 주는 오픈소스 분석 도구. 그라파나 (Grafana), 키바나 (Kibana)가 대표적이다.
  • 프론트엔드 개발자 (Front-end Developer)
    유저가 직접 마주하는 웹 페이지 화면, 클라이언트 영역 등 서비스의 앞단을 담당하는 개발자. 
  • 백엔드 개발자 (Back-end Developer)
    유저에게 보이지 않는 서버 영역 등 서비스의 뒷단을 담당하는 개발자.
  • 풀스택 개발자 (Full-Stack Developer)
    프론트엔드, 백엔드 기술을 모두 이해하고 다룰 수 있는 개발자.
  • 컴파일 (Complie)
    개발자가 작성한 코드를 기계어로 번역하는 것.
  • 빌드 (Build)
    컴파일된 내용을 모아 실행 가능한 파일로 만드는 것.
  • 서버 (Server)
    서비스 제공자. CPU, 하드 디스크, 주변 기기 등의 자원을 공유한다.
  • 소프트웨어 생명 주기 (Software Release Life Cycle)
    소프트웨어 개발 단계의 총체. 일반적으로 프리 알파 → 알파 (Alpha) → 베타 (Beta) → RC(Release candidate) → 출시 순. 참고로 나이틀리(Nightly)는 이슈를 해결하거나 콘텐츠를 업데이트하기 위해 매일매일 배포되는 버전이다.
  • 인터넷 데이터 센터 (Internet Data Cenger, IDC)
    수많은 서버가 입주하고 있는 물리적 공간이자 해당 서버들이 문제없이 동작하도록 관리해주는 서비스.
  • 애저 (Azure)
    마이크로소프트에서 제작한 클라우드 컴퓨팅 플랫폼.
  • 오픈소스 (Open Source Software)
    누구나 자유롭게 확인, 수정, 배포할 수 있는 코드.
  • 커밋 (Commit)
    버전 관리 프로그램 깃(Git)에서 버그 수정, 기능 추가 등 의미 있는 변화를 데이터베이스에 기록하는 것.
  • 클라이언트 (Client) 
    서비스 요구자. 네트워크 통신을 활용해 서버에 접속하고 서버에 붙어있는 데이터베이스를 활용한다.
  • 통합 개발 환경 (Integrated Development Environmnet, IDE)
    소프트웨어 개발과 관련된 모든 작업을 처리할 수 있는 소프트웨어. 비주얼 스튜디오 (Visual Studio), 이클립스 (Eclipse), 라자루스 (Lazarus) 등을 예로 들 수 있다.
  • 프레임워크 (Framework)
    소프트웨어를 개발하기 위한 요소, 규약을 제공해주는 소프트웨어.
  • 플러그인 (Plug-in)
    특정 기능을 해결하는 데 사용하기 위해 미리 만들어놓은 코드, 데이터.
  • 햄버거 버튼 (Hamburger button)
    햄버거와 닮은 버튼. 대체로 인터페이스 최상위 모퉁이에 위치하며 선택 시 메인 메뉴가 나타난다.
  • 라디오 버튼 (Ratio Button)
    옵션 단추로도 불리는 버튼. 유저가 다수의 선택 사항 중 하나를 선택할 수 있다.
  • 토글 (Toggle)
    오로지 두 가지 선택지만 있는 상태에서 하나의 설정 값으로부터 다른 값으로 전환하는 스위치.

 

QA

  • 개발 QA (Game dev QA)
    개발 전 과정에 걸쳐 소프트웨어가 기획서에 맞게 구현되었는지 확인하고 버전을 관리하는 것.
  • 퍼블리싱 QA (Publishing QA)
    후작업 과정에서 테스트 케이스를 바탕으로 소프트웨어를 검수하는 것.
  • 서비스 QA (Service QA)
    운영 단계에서 유저에게 안내할 내용이 잘 반영되었는지 살펴보고 유저의 제보를 확인 및 내부 전달하는 것.
  • 기술 QA (Technical QA)
    소프트웨어가 기획서에 맞게 구현되었는지 기술적인 내용을 테스트하는 것.
  • 펀 QA (Fun QA)
    소프트웨어가 유저에게 즐거움을 줄 수 있는지 경험, 데이터, 알고리즘 등을 통해 테스트하는 것.
  • 기능 테스트 (Functional Test)
    시스템이 기획서에 명시된 바와 같이 작동하는지 확인하는 테스트.
  • 스트레스 테스트 (Stress Test)
    동시 사용자 수 등으로 인한 부하를 늘려가며 기능 및 성능을 확인하는 테스트. 부하 테스트라고도 한다.
  • 통합 테스트 (Integration Test)
    통합된 시스템 사이의 상호작용, 관련 인터페이스의 결함을 확인하는 테스트.
  • 애드혹 테스트 (Ad-hoc Test)
    공식적인 테스트 절차 없이 임의적으로 수행하는 비공식 테스트.
  • 샘플링 테스트 (Sampling Test)
    전수검사에 어려움이 있는 경우 전체에서 임의의 샘플을 뽑아 확인하는 테스트.
  • 버그 (Bug)
    예기치 못한 오류나 오작동.
  • 오류 (Error)
    유저가 입력한 내용이 요구 사항과 다를 때 발생하는 외부적 문제.
  • 예외 (Exception)
    오류를 미리 예측해 소프트웨어가 비정상적으로 동작하지 않도록 예방하는 것.
  • 버그 트래킹 시스템 (Bug Tracking System, BTS)
    프로젝트 관리와 버그 추적을 위해 사용하는 도구. 지라(JIRA), 레드마인(Redmine), 아사나 (Asana)  등이 대표적이다.
  • 테스트 시나리오 (Test Scenario)
    소프트웨어의 어떤 기능을 테스트할지 기술하는 것.
  • 테스크 케이스 (Test Case)
    테스트 시나리오 속 기능을 어떻게 테스트할지, 기대 결과가 무엇인지 자세히 기술하는 것.

 

놀랍게도 아직도 헷갈리는 것들이 있었다. 까먹으면 다시 봐야지 😅

728x90

댓글