카테고리 없음

1주차 TIL - Vol.3

게임취업하고싶은 사람 2024. 12. 18. 15:21

1. 소프트웨어 및 플랫폼

(1) 로봇 프로그래밍 및 제어

  1. ROS (Robot Operating System)
    • 용도: 로봇 제어, 센서 데이터 수집 및 처리, 상태 모니터링.
    • 사용 방법:
      • ROS 패키지 설치 후 센서 및 액추에이터를 연결.
      • ROS 토픽(topic)을 통해 데이터를 실시간 스트리밍.
      • 메시지 및 서비스 통신을 사용하여 로봇 동작 분석.
  2. PLC 소프트웨어 (예: Siemens TIA Portal, Allen-Bradley RSLogix)
    • 용도: 자동화 시스템의 프로그래밍 및 모니터링.
    • 사용 방법:
      • PLC 코드를 작성하여 프로세스 흐름 제어.
      • HMI(Human Machine Interface)와 연결하여 실시간 모니터링.
      • 디버깅 도구로 자동화 시스템 동작 확인.

(2) 데이터 분석 및 시각화

  1. MATLAB/Simulink
    • 용도: 로봇 동작의 모델링, 시뮬레이션 및 이상 동작 분석.
    • 사용 방법:
      • 센서 데이터를 MATLAB으로 수집하고 이상 패턴 분석.
      • Simulink를 이용해 로봇의 제어 시스템 시뮬레이션.
      • PID 튜닝 및 제어 알고리즘 최적화.
  2. Python 데이터 분석 라이브러리 (Pandas, NumPy, Scikit-learn)
    • 용도: 대규모 센서 데이터 처리 및 머신러닝 기반 오류 탐지.
    • 사용 방법:
      • 센서 데이터 로그를 가져와 Pandas로 전처리.
      • Scikit-learn으로 고장 예측 모델 생성.
      • 시각화 도구(Matplotlib, Plotly)로 결과 분석.
  3. Tableau/Power BI
    • 용도: 로봇 동작 및 품질 데이터를 실시간 대시보드로 시각화.
    • 사용 방법:
      • 데이터베이스에서 자동화 시스템 데이터를 가져옴.
      • 주요 KPI(정확도, 반복성, 속도) 시각화.
      • 대시보드를 통해 팀원 간 실시간 공유.

(3) 모니터링 및 로그 관리

  1. SCADA 시스템 (Supervisory Control and Data Acquisition)
    • 용도: 산업 자동화 시스템의 상태 모니터링 및 제어.
    • 사용 방법:
      • 센서와 SCADA를 연결하여 기기 상태 데이터를 실시간 수집.
      • SCADA 화면에서 이상 동작 알람 설정.
      • 데이터 히스토리 분석으로 반복적인 문제 추적.
  2. Kibana/Elasticsearch
    • 용도: 로그 데이터 관리 및 분석.
    • 사용 방법:
      • 로봇 및 자동화 장치의 이벤트 로그를 Elasticsearch에 저장.
      • Kibana를 통해 데이터 시각화 및 이상 탐지.
      • 대시보드에서 동작 이력 및 실시간 상태 확인.

(4) 시뮬레이션 및 디지털 트윈

  1. ANSYS, SimScale, 또는 Dassault Systèmes DELMIA
    • 용도: 로봇 및 공정의 디지털 트윈을 생성하여 동작 시뮬레이션.
    • 사용 방법:
      • 로봇의 3D 모델링 및 물리적 환경 데이터를 입력.
      • 예상되는 동작 및 불안정 요소 시뮬레이션.
      • 개선 사항을 제안하고 실제 로봇에 반영.
  2. Gazebo
    • 용도: 로봇 동작을 가상 환경에서 시뮬레이션.
    • 사용 방법:
      • ROS와 통합하여 로봇의 동작을 시뮬레이트.
      • 센서 및 액추에이터의 가상 데이터를 통해 QA 진행.

2. 작동 방법 요약

  1. 센서 데이터 연결 및 수집:
    • 로봇 또는 자동화 장치의 센서(온도, 진동, 위치, 전류 등)를 소프트웨어로 연결.
    • 실시간 스트리밍 데이터를 로깅하거나 데이터베이스에 저장.
  2. 데이터 분석 및 알고리즘 적용:
    • 결함 예측 및 이상 탐지 알고리즘 개발.
    • 데이터 전처리 및 이상치 제거.
  3. 결과 시각화 및 보고:
    • 실시간 대시보드 생성 또는 보고서를 자동 생성.
    • KPI를 기준으로 QA 프로세스 진행.
  4. 시뮬레이션 및 검증:
    • 시뮬레이션 환경에서 QA 결과를 검증하고 개선점을 도출.
    • 디지털 트윈 활용 시 실험 비용 절감.

게임 QA/QC에서는 오류를 테스트하고 발견된 내용을 정리하기 위해 다양한 소프트웨어와 도구를 사용합니다. 주요 소프트웨어와 그 사용 방법은 다음과 같습니다.

1. 오류 관리 및 추적 도구

(1) JIRA

  • 용도: 버그 추적, 작업 관리, 테스트 진행 상황 모니터링.
  • 주요 기능:
    • 버그와 문제를 티켓 형태로 생성하고 상태(예: Open, In Progress, Fixed) 관리.
    • 우선순위 지정 및 할당.
    • 스프린트 계획과 연계하여 QA 프로세스를 통합 관리.
  • 사용 방법:
    • 발견된 버그를 세부 정보(재현 단계, 환경, 스크린샷 등)와 함께 등록.
    • 상태 변경, 담당자 할당, 해결 여부 업데이트.

(2) Bugzilla

  • 용도: 오픈소스 버그 추적 및 관리.
  • 주요 기능:
    • 이슈 관리 및 버전별 결함 추적.
    • 재현성 높은 오류와 일반적인 문제 분리 관리.
  • 사용 방법:
    • 버그 등록 시 우선순위와 심각도를 지정.
    • 팀원 간 이슈 공유 및 해결 상황 추적.

(3) Trello

  • 용도: 간단한 QA 관리와 버그 추적.
  • 주요 기능:
    • 카드를 생성하여 발견된 문제 기록.
    • 상태(예: To Do, Doing, Done) 기반으로 작업 진행.
  • 사용 방법:
    • 발견된 문제를 카드 형태로 생성하고 첨부 파일(스크린샷, 동영상) 추가.
    • 팀원 간 코멘트 및 상태 업데이트.

2. 테스트 관리 도구

(1) TestRail

  • 용도: 테스트 케이스 작성, 실행 및 결과 관리.
  • 주요 기능:
    • 테스트 케이스 작성 및 관리.
    • QA 실행 후 결과 보고.
    • 자동화 테스트와 통합 가능.
  • 사용 방법:
    • 각 테스트 케이스에 재현 단계, 기대 결과를 기록.
    • 테스트 실행 후 성공 여부 및 실패 시 로그 남김.

(2) Zephyr (JIRA 통합형)

  • 용도: 테스트 케이스와 JIRA 연동을 통한 관리.
  • 주요 기능:
    • 테스트 케이스 관리 및 실행 결과 추적.
    • QA 진행률 및 결함 비율 시각화.
  • 사용 방법:
    • JIRA와 연동하여 오류와 테스트 상태를 동기화.
    • 테스트 결과를 바탕으로 자동으로 버그 등록.

(3) PractiTest

  • 용도: 클라우드 기반 테스트 관리 및 협업 도구.
  • 주요 기능:
    • 테스트 케이스와 발견된 버그의 연결.
    • 대시보드를 통해 테스트 진행 상황 시각화.
  • 사용 방법:
    • 발견된 오류와 관련된 테스트 케이스를 연동.
    • 클라이언트 및 서버 환경을 구분하여 테스트 결과 기록.

3. 버그 재현 및 디버깅 도구

(1) Charles Proxy

  • 용도: 네트워크 트래픽 모니터링 및 디버깅.
  • 주요 기능:
    • API 호출 상태 및 서버 통신 문제 분석.
    • 게임 클라이언트와 서버 간 트래픽 로그 기록.
  • 사용 방법:
    • 모바일 또는 PC 게임의 네트워크 요청을 캡처하고 분석.
    • 오류가 발생한 API 호출 확인.

(2) Unity Profiler / Unreal Engine Profiler

  • 용도: 게임 성능 분석 및 오류 디버깅.
  • 주요 기능:
    • 프레임 드랍, 메모리 누수, GPU/CPU 병목 현상 분석.
    • 게임 내 이벤트 트리거 확인.
  • 사용 방법:
    • 특정 동작에서의 성능 문제를 기록.
    • 메모리 사용량과 렌더링 성능 데이터 추출.

(3) Sentry

  • 용도: 게임 크래시 리포트 및 디버깅.
  • 주요 기능:
    • 실시간으로 크래시 데이터를 수집.
    • 스택 트레이스를 통해 오류 원인 추적.
  • 사용 방법:
    • 게임 클라이언트에 Sentry SDK 통합.
    • 크래시 발생 시 로그 데이터 자동 수집.

4. UI/UX 테스트 및 자동화 도구

(1) Selenium

  • 용도: 웹 기반 게임이나 인터페이스 테스트 자동화.
  • 주요 기능:
    • 게임 웹 페이지 요소의 자동화 테스트.
    • UI 이상 여부 확인.
  • 사용 방법:
    • 게임 로비, 로그인 화면 등에서 반복 작업 자동화.
    • 테스트 결과를 보고서로 기록.

(2) Appium

  • 용도: 모바일 게임의 자동화 테스트.
  • 주요 기능:
    • iOS 및 Android 게임 UI 테스트 자동화.
    • 크로스 플랫폼 테스트.
  • 사용 방법:
    • 게임 앱의 동작을 스크립트로 작성.
    • 다양한 장치에서 테스트 실행.

5. 협업 및 커뮤니케이션 도구

(1) Slack / Discord

  • 용도: QA 팀 내 커뮤니케이션 및 문제 공유.
  • 주요 기능:
    • 버그 발생 시 관련 자료 즉각 공유.
    • 테스트 진행 상황과 피드백 관리.
  • 사용 방법:
    • 발견된 문제의 스크린샷과 로그를 공유.
    • 통합 봇으로 JIRA, Git 등의 업데이트 알림 수신.

(2) Google Sheets / Excel

  • 용도: 단순한 오류 목록 및 QA 진행 상황 관리.
  • 주요 기능:
    • 오류 기록과 상태 업데이트.
    • 통계적 데이터 정리 및 우선순위 결정.
  • 사용 방법:
    • 테스트 진행 상황을 표로 기록.
    • 정렬 및 필터링으로 우선순위 분석.

6. 시각적 증거 및 기록 도구

(1) OBS Studio

  • 용도: 게임 테스트 시 비디오 및 스크린샷 기록.
  • 주요 기능:
    • 게임 오류가 발생하는 순간의 비디오 기록.
    • 재현이 어려운 문제를 시각적으로 공유.
  • 사용 방법:
    • 테스트 시 녹화 후 특정 시간의 문제를 추출.
    • 스크린샷으로 문제 상황 설명.

(2) Snagit

  • 용도: 스크린샷 및 주석 추가.
  • 주요 기능:
    • 발견된 버그를 명확히 설명하기 위해 주석 추가.
    • 화면 캡처와 문제 설명의 시각적 자료 제공.
  • 사용 방법:
    • 오류 상황 캡처 후 화살표와 텍스트로 추가 설명.

요약

게임 QA/QC에서 사용하는 도구들은 문제 추적, 테스트 관리, 디버깅, 자동화, 협업, 시각적 증거 제공에 중점을 둡니다. JIRA, TestRail, Unity Profiler, Sentry 등은 업계에서 특히 널리 사용되며, 이 도구들을 통해 발견된 문제를 체계적으로 기록하고 해결 방안을 마련할 수 있습니다.

 

 

 

 
 

게임 QA/QC와 제조업 QA/QC는 각기 다른 산업 환경과 프로세스를 다루지만, 품질 관리와 문제 해결의 핵심 원칙은 유사하기 때문에 공통적으로 사용되는 소프트웨어가 몇 가지 있습니다. 이 소프트웨어들은 이슈 추적, 데이터 관리, 분석 및 커뮤니케이션을 지원하며, 양쪽 산업에서 효과적으로 활용됩니다.


공통적으로 사용되는 소프트웨어

1. 이슈 추적 및 프로젝트 관리 도구

  • JIRA
    • 게임 QA/QC:
      • 버그와 결함을 추적하며, 게임 개발팀과 QA 팀 간 협업.
      • 작업 우선순위 지정 및 스프린트 관리.
    • 제조업 QA/QC:
      • 생산 공정에서 발생하는 결함과 품질 문제를 티켓으로 관리.
      • 생산팀과 품질 관리팀 간 문제 해결 협업.
    • 공통점: 결함 추적 및 해결 과정에서 효율적인 커뮤니케이션과 상태 관리.
  • Trello
    • 게임 QA/QC: 테스트 작업과 버그 상태를 간단하게 카드 형식으로 정리.
    • 제조업 QA/QC: 공정별 문제와 개선 작업을 시각적으로 관리.
    • 공통점: 작업 흐름 관리 및 팀 협업 지원.

2. 데이터 분석 및 시각화 도구

  • Microsoft Power BI
    • 게임 QA/QC:
      • 게임 내 성능 데이터(프레임 속도, 메모리 사용량 등) 분석.
      • QA 테스트 결과를 대시보드로 시각화.
    • 제조업 QA/QC:
      • 생산 공정 데이터(결함률, 생산 속도 등) 분석 및 대시보드 생성.
      • 품질 지표를 시각적으로 관리.
    • 공통점: 데이터를 시각화하고 결함의 트렌드를 분석.
  • Tableau
    • 게임 QA/QC: 게임 테스트 결과 및 오류 발생 빈도를 분석하고 시각화.
    • 제조업 QA/QC: 생산 공정에서 발생한 결함 및 품질 문제를 대시보드로 제공.
    • 공통점: 대규모 데이터 세트를 효율적으로 시각화.

3. 로그 및 크래시 관리

  • Sentry
    • 게임 QA/QC: 게임에서 발생하는 크래시 데이터를 실시간으로 수집 및 분석.
    • 제조업 QA/QC: 제조 설비의 소프트웨어 오류나 로그 데이터를 수집하여 분석.
    • 공통점: 오류 발생 로그를 실시간으로 추적하고 원인 분석 지원.
  • Elasticsearch & Kibana
    • 게임 QA/QC: 게임 서버와 클라이언트 로그를 관리하고 문제를 시각적으로 확인.
    • 제조업 QA/QC: 제조 장비와 센서에서 발생하는 로그 데이터를 분석.
    • 공통점: 대량의 로그 데이터를 효율적으로 관리하고 분석.

4. 테스트 관리 도구

  • TestRail
    • 게임 QA/QC: 테스트 케이스를 작성하고 결과를 기록하여 버그를 추적.
    • 제조업 QA/QC: 생산 공정에서 수행되는 품질 테스트를 문서화하고 결과 관리.
    • 공통점: 테스트 계획과 실행 결과를 체계적으로 관리.
  • Zephyr (JIRA 통합)
    • 게임 QA/QC: JIRA와 연계하여 테스트 케이스를 관리하고 오류를 추적.
    • 제조업 QA/QC: 제조 공정의 품질 테스트를 JIRA와 연계하여 관리.
    • 공통점: 테스트 관리와 이슈 추적 통합.

5. 협업 및 커뮤니케이션 도구

  • Slack
    • 게임 QA/QC: 버그와 테스트 진행 상황을 개발자와 QA 팀이 실시간으로 공유.
    • 제조업 QA/QC: 공정 중 발생한 품질 문제를 팀원과 즉시 공유.
    • 공통점: QA/QC 관련 실시간 소통 및 피드백 관리.
  • Google Workspace (Docs, Sheets, Drive)
    • 게임 QA/QC: 테스트 결과와 버그 보고서를 문서화 및 공유.
    • 제조업 QA/QC: 품질 관리 데이터와 보고서를 체계적으로 관리 및 협업.
    • 공통점: 데이터 공유와 협업의 중심 도구.

기타 소프트웨어

  • Python (데이터 분석 스크립트)
    • 게임 QA/QC: 로그 데이터와 성능 데이터를 분석하는 데 활용.
    • 제조업 QA/QC: 생산 공정의 센서 데이터 및 품질 통계 분석.
    • 공통점: 대규모 데이터 분석 및 자동화.
  • Confluence
    • 게임 QA/QC: QA 과정 및 테스트 케이스 문서화.
    • 제조업 QA/QC: 품질 관리 프로세스 및 SOP 문서화.
    • 공통점: QA/QC 지식 관리 및 프로세스 문서화.

결론

게임 QA/QC와 제조업 QA/QC 모두 결함 추적, 데이터 관리, 협업을 지원하는 JIRA, Power BI, Sentry, Slack 등의 소프트웨어를 공통적으로 사용합니다. 이러한 도구들은 다양한 산업 환경에서도 유연하게 적용 가능하며, 데이터 기반 의사결정과 품질 개선에 중요한 역할을 합니다.

 
 

 
 
 

게임 QA/QC에서 오류 방지와 해결을 위해 활용된 소프트웨어와 사례를 소개합니다. 이 사례들은 소프트웨어를 사용하여 오류를 추적, 방지, 해결하는 데 성공한 실제 적용 방법을 중심으로 설명합니다.


1. 소프트웨어: JIRA

사례: AAA급 게임에서의 버그 추적 및 관리

  • 배경: 한 대형 게임 스튜디오에서 개발 중인 오픈월드 게임은 복잡한 환경과 다수의 플레이어 상호작용으로 인해 테스트 중 다수의 버그가 발견되었습니다.
  • 문제: 수많은 버그를 체계적으로 관리하지 못해 중복된 보고와 해결 지연 문제가 발생.
  • 해결 방법:
    • JIRA를 통해 각 버그를 티켓으로 생성하고 상태(발견, 진행 중, 해결)를 관리.
    • 자동화된 워크플로를 설정해 QA 팀에서 발견된 버그가 개발 팀에 즉시 전달되도록 구현.
    • 우선순위 및 심각도 설정을 통해 중요한 문제를 빠르게 해결.
  • 결과:
    • 수백 건의 버그를 체계적으로 관리하며 해결율 90% 이상 달성.
    • QA와 개발 팀 간의 협업 개선 및 출시 지연 최소화.

2. 소프트웨어: Unity Profiler

사례: 인디 게임에서 프레임 드랍 문제 해결

  • 배경: Unity로 개발된 2D 게임이 특정 수준에서 심각한 프레임 드랍을 겪으며 사용자 경험에 문제를 초래.
  • 문제: 특정 레벨에서 렌더링 부하가 증가하고, CPU와 GPU가 병목현상을 일으킴.
  • 해결 방법:
    • Unity Profiler를 사용해 CPU, GPU, 메모리 사용량을 실시간으로 분석.
    • 렌더링 단계에서 불필요한 드로우 콜(Draw Call)과 과도한 파티클 사용을 발견.
    • 메모리 관리를 개선하고 렌더링 최적화를 수행.
  • 결과:
    • 프레임 드랍 현상이 60% 이상 감소하며 사용자 경험 개선.
    • 문제 해결 시간 단축으로 개발 일정에 차질이 없었음.

3. 소프트웨어: Sentry

사례: 모바일 게임 크래시 추적 및 해결

  • 배경: 한 모바일 RPG 게임에서 특정 기기 환경에서만 발생하는 간헐적인 크래시가 보고됨.
  • 문제: QA 테스트 환경에서 크래시를 재현하기 어려워 정확한 원인을 파악하기 어려움.
  • 해결 방법:
    • Sentry SDK를 게임 클라이언트에 통합하여 크래시 데이터를 자동 수집.
    • 크래시가 발생한 스택 트레이스를 분석해 메모리 부족 문제와 잘못된 API 호출을 확인.
    • 패치 업데이트로 문제를 해결.
  • 결과:
    • 크래시 발생률이 80% 감소.
    • 사용자 불만 리뷰 감소 및 스토어 평점 향상.

4. 소프트웨어: TestRail

사례: 대규모 멀티플레이어 게임에서 테스트 관리

  • 배경: 멀티플레이어 온라인 게임(MMORPG)의 다양한 시나리오와 기능 테스트를 체계적으로 관리해야 하는 상황.
  • 문제: 수백 개의 테스트 케이스가 혼재되어 QA 팀 간 정보 공유가 비효율적.
  • 해결 방법:
    • TestRail을 통해 테스트 케이스를 작성하고 각 테스트의 상태(성공, 실패, 블록됨)를 기록.
    • 각 빌드별 테스트 결과를 비교 분석해 새로운 빌드에서 재발하는 문제를 방지.
    • 테스트 결과를 개발 팀과 자동으로 공유.
  • 결과:
    • 테스트 진행 속도가 30% 빨라지고, 중복 테스트 제거.
    • 빌드 릴리즈 전에 주요 결함이 해결됨.

5. 소프트웨어: Selenium

사례: 게임 웹 플랫폼의 자동화 테스트

  • 배경: 게임의 웹 기반 로그인 시스템과 상점 인터페이스에서 사용자 경험 문제가 자주 발생.
  • 문제: 반복적인 수동 테스트로 인해 QA 팀의 작업량 증가와 테스트 오류.
  • 해결 방법:
    • Selenium으로 로그인 및 구매 과정의 UI 테스트를 자동화.
    • 크로스 브라우저 테스트를 통해 다양한 환경에서의 오류를 확인.
    • 테스트 결과를 정기적으로 기록하고 대시보드에 공유.
  • 결과:
    • 수동 테스트 시간이 50% 이상 단축.
    • 정기적인 회귀 테스트를 통해 업데이트 이후 문제 발생률 감소.

6. 소프트웨어: Charles Proxy

사례: 네트워크 연결 문제 해결

  • 배경: 한 모바일 FPS 게임에서 간헐적인 서버 연결 문제로 플레이어 불만이 발생.
  • 문제: 특정 네트워크 환경에서 발생하는 문제를 QA 환경에서 재현하기 어려움.
  • 해결 방법:
    • Charles Proxy를 사용해 클라이언트와 서버 간의 네트워크 트래픽 캡처.
    • 비정상적인 패킷 손실과 API 응답 지연 문제를 발견.
    • 서버 타임아웃 설정을 조정하고 클라이언트의 네트워크 재시도 로직 개선.
  • 결과:
    • 연결 안정성이 크게 향상되어 사용자 불만 감소.
    • 트래픽 모니터링을 통한 사전 문제 감지 체계 구축.

결론

게임 QA/QC에서 JIRA, Unity Profiler, Sentry, TestRail, Selenium, Charles Proxy와 같은 소프트웨어는 오류 방지와 해결에 큰 도움을 줍니다. 이러한 사례들은 각 도구가 문제를 체계적으로 관리하고 해결 시간을 단축하는 데 기여했음을 보여줍니다. QA 프로세스에서 적절한 도구를 활용하면 품질을 높이고 출시 지연을 방지할 수 있습니다.