Upload
sungmin-kim
View
2.222
Download
4
Embed Size (px)
DESCRIPTION
Document presented at Korea Game Conference 2014. Title is ''Software Enginner in Test' in Game Development' and sub-title is 'How can TERA verify too many scearios by automation ?' 블루홀 스튜디오의 김성민 입니다. 이번 Korea Game Conference 2014에서 발표한 자료를 공유합니다. 발표 주제는 'Software Enginner in Test' in 게임 개발 입니다.
Citation preview
“Software Engineer in Test” in 게임 개발
- TERA 는 테스트 자동화가 가능할까?
김 성 민([email protected])
Lead SET / 블루홀 스튜디오
그 동안의 다양한 시행착오를 함께 공유하는 자리입니다
• 게임 개발에서 테스트 자동화가 과연 가능할까? 를 고민하시는 분,
• 프로그래밍을 활용한 테스트에 관심이 많으신 분,
• 효율적인 개발 프로세스에 관심이 있으신 분들께 작게나마 도움이 되었으면 좋겠습니다.
1 부 (15:50 ~ 16:50)
1. 발표자 소개
2. Software Engineer in Test?
• Test Automation
• SET at Bluehole Studio
3. TERA Test Framework
• TeraPuppet
• TeraTest
• Selenium Integration
4. Q & A
Agenda
2부 (17:00 ~ 18:00)
1. Test Scenarios
2. CI & 배포 연동
3. 성과 측정
4. Summary 1. DEMO
2. 현재까지의 성과
3. 아쉬운 점
5. Q & A
Agenda
• LG Electronics : 3 years Project: 4 mobile devices
Sungmin Kim
• 새로운 개발을 좋아하는 11년 차 개발자 그리고 아내와의 여행을 좋아하는, 한 아이(곧 두 아이)의 아빠
Email: [email protected] / [email protected]
발표자 소개
• Realtime Worlds, Client Programmer : 1 year Project: My Worlds (Data Generation)
• Microsoft, SDET and SDE 2 : 5 years Project: Office 2010, Office 2013 (SharePoint Designer) Award: Gold Star Stock Awards (2011) with SPD Test Automation
• Bluehole Studio, Lead SET (2013.08 ~ 현재) : 1.5 years Project: TERA (Test Automation )
Software Engineer in Test
Software Engineer in Test
• 국내에선 다소 생소하나, 서구에선 보편적
– Blizzard, Riot, EA 등의 게임회사에서도 활발하게 SET 채용
– SET @ Blizzard, EA, Riot, Google, …
– SET @ Bluehole Studio
– SDET @ Epic Games, Microsoft Game Studios,…
• 테스트 분야의 프로그래머 (TEST ≠ QA)
– 테스트 자동화
– 코드 오류 검증
– 개발 단계에서의 이슈 조기 검증
– 프로그래밍을 통한 테스트
– Performance, Security 이슈 검증
– 지속적이고 & 정확한 이슈 관리
– 지식 전파 등
• 테스트 분야도 전문 프로그래머가 필요
Software Engineer in Test ?
Software Engineer in Test
• 컴퓨터가 사람 대신 검증 할 수 있는 일은 컴퓨터
를 통한 검증이 더 효율적
– 반복적인 작업 (Regression 확인)
– 정확한 수치 검증
– Performance, Security, Code Defects
• 개발 현황, 조직 구조, 프로젝트 성격 등에 따라
추구하는 방향은 전혀 달라질 수 있음
* 블루홀 스튜디오의 경우
– Test 가능한 Project는 1개 (TERA)
– 조직 구조: TERA Project 기준 150 여명 ( QA 조직 포함 )
– 성격: 게임 (MMORPG)
– 출시 국가: 6개 (한국, 중국, 대만, 일본, 북미, 유럽)
-> 현재 SET 인원 1명 ;
Software Engineer in Test ?
For software?
Software Engineer in Test
• 모든 것을 검증 할 순 없다.
– 재미
– UX
– 복잡한 환경의 멀티플레이
• 개발자와 QA의 보다 효율적인 업무 가능
• QA 조직과 개발 조직과의 협업이 매우 중요
• 1) 업무 효율성, 2) 커버리지 향상, 3) 개발 프로세스 개선
– 개발비 절감
– 테스트 효율화
– 유지보수 용이 (테스트 담당자인 김 아무개씨의 퇴사 후에도 이미 만들어진
자동화 시나리오는 수행 됨)
– 효과적인 자동화 테스트 프로세스 도입
– 새로운 분석 및 투자를 통한 개발 효율성 향상
Software Engineer in Test ?
재미
UX
Test Automation
테스트 자동화란?
Software Engineer in Test ?
Product의 장기적인 안정화와 비용 절감을 위한 중요한 요소
장기적으로 빠르고 안정적으로 이슈를 검증 & 테스트 자동화
를 기반으로 한 다양한 개발 방법론 도입 가능
유지보수에 용이하며 비용 절감 측면에서 효과적
기본 시나리오 검증 뿐 아니라, Security, Performance 및
Localization 테스트에도 용이
다양한 Coverage 측정을 통해 중복 작업 최소화를 통한 자동화
테스트 검증 비용을 측정할 수 있음
효율적인 자동화 테스트
Software Engineer in Test ?
Reference: http://xunitpatterns.com/Goals of Test Automation.html
DEMO
왜 국내에선 생소할까?
• 항상 바쁘다 (정말 바쁘다.)
• 채용 (당장 개발자 뽑기도..)
• 경험 부족 (나 말고 누군가의 시행착오가 필요하다.)
• 초기 개발 비용
• 프로젝트의 불완전한 미래
– 개발 중에는 검증을 중요시 하진 않더라
– 잦은 스펙의 변화
– 개발 Process 보다는 당장의 Output
– 수작업(일단 바쁘니..) vs 시스템 개발
Software Engineer in Test ?
자동화가 힘들다
바쁘다
Because Because
원래 이렇게 해왔다.
어떻게 하는지 모르겠다.
언제 접힐지 모른다.
다른 것도 할 것이 많다
기타 등등..
효율적인 SET 도입은 가능할까?
• 국내 개발 환경은 Microsoft 에서의 개발 환경 & 문화와 비교하여 차이가 제법 있음
• 프로젝트 성격과 국내 Online Game 개발 환경에 적합한 SET 역할 정리가 중요
Software Engineer in Test ?
SET at Bluehole Studio SDET at Microsoft
장점 • 회사의 충분한 지원
• 소규모(1인) 개발
• 다양한 개발을 할 수 있다
• 필요한 모든 것을 만들 수 있다.
• 최신의 기술적 시도 가능
• 이미 정착된 문화
• 여러 SDET / SDE 들과 관련한 정보 교류
• 프로세스 & 도구들이 잘 갖추어짐
• Career Path에 대한 방향 제시
단점 • 정착되지 않은 문화
• 기존 Process와 융화 필요
• 소규모(1인) 개발
• 신뢰성
• 변화를 꾀하는 것이 쉽지 않음
• 기존 프레임웍 위에서 수행
• 이미 정착된 문화
• 자율성
특징 • QA 조직 존재 (TERA의 경우)
• 비용 중시
• 모든 것을 만들어야 함
• QA 조직 없음 (Office 2010, 2013 개발의 경우)
• 커버리지 중시
• 개발 초기부터 계획된 라이브러리
효율적인 SET 도입은 가능할까?
전체의 변화보다는
Software Engineer in Test ?
1) 기술적인 접근을 통한 커버리지 확대
2) 테스트 자동화 수행을 통한 유지 보수로 인한 효율성 및 비용 절감
3) 개발 과정의 테스트 도입을 통한 이슈 조기 검증
을 목표로 진행을 시작한다면 안착 가능성이 높을 것이라 기대
SET at Bluehole Studio
• Microsoft 의 테스트 자동화 프로세스는 매우 매력적
• Bluehole Studio 에서 테스트 자동화 도입 중
• 게임에도 도입하면 어떨까? 의 호기심
• TERA는 테스트 자동화를 수행하기 매우 적절한 게임 (다양한 국가, 다양한 레거시 코드, 회사의 새로운 시도 등)
• 분명 더 나아질 것이라 믿고 시작
SET at Bluehole Studio
My SET History (2013.08 ~)
My SET History (2013.08 ~)
SET at Bluehole Studio
• 나홀로 SET, 무엇을 하였나?
– SET 직무 제안 및 역할 정리
– 테라 테스트 자동화를 위한 Tera Puppet 1.0 개발
– 테라 테스트 자동화를 위한 Tera Test 개발
– 웹 자동화를 위한 Selenium 선정 및 시나리오 작성 도구 개발
– 효율적인 BTS 시스템을 위한 JIRA 도입 및 설정
– QA 실 테스트 자동화를 위한 툴 개발
– QA실 테스트 자동화를 위한 지식 및 기술 전파
– 국가별 배포 시스템 연동을 통한 자동화 시나리오 수행
– 테스트 자동화 도입을 통한 개발 프로세스 효율화
– Client Performance 의 지속적인 측정
:
• 개발 진행 중 & 꾸준한 시도 중
SET at BHS
Software Engineer in Test ?
Bluehole Studio 에서의 모든 게임 Test Automation Framework 을 디자인하고 개발
QA 및 다른 개발자들과 협업을 통한 전체 테스트 전략 수립
개발자 테스트 및 Unit 테스트 도입 및 지원
효율적인 자동화 테스트를 위한 라이브러리 및 툴 개발
실제 소스코드를 기반의 Code Defect 검증 및 Security Test, Performance Test 및 관련 툴 개발, Code
Coverage 측정 등의 수행
새로운 기술을 항상 분석하여, 여러 프로젝트에 걸쳐 기술을 전파하고 효율적인 테스트 방법론 제시
23
Gathering requirements and Planning test automation framework
Designing and developing test automation framework
Executing test cases and supporting QA and developers
Maintenance
이런 부분이 다르더라
Game (TERA) Application (MS Office 2010)
테스트 자동화 시점 서비스 시작 이후 개발 초기 단계부터
로직 흐름 비동기 동기
검증 대상 Source Code + Data Source Code + Data
검증 요소 재미 + 기능 기능
상호 작용 여러 유저들과의 Play 검증 필요 없음
개발 규모 1년 6개월 * 1명 10년 이상 * ? 명
QA 별도의 QA 조직 있음 별도의 QA 조직 없음
국가 6 국가 30+ 국가
OS Windows 7 or Windows XP 모든 OS
Product 목적 취미 업무
이슈 발생 패치 + 보상 소송 가능성
업데이트 주기 빠름 (1 ~ 2주) 상대적으로 느림
SET at Bluehole Studio
협업
SET at Bluehole Studio
• SET
– Product 와 접목되어 수행될, 테스트 프레임 및 라이브러리 기획 및 개발
– 다른 개발자들이나 QA 분들이 사용하실 수 있도록 개발된 라이브러리의 템플릿 제공
– 새로운 기술 개발 및 솔루션 제공
– QA의 요구 사항을 통한 테스트 툴 개발
– 시나리오 & 코드 리뷰
• QA
– 시나리오 제작 및 이슈 분석
– 시나리오 관리 및 유지 보수
– 제작된 테스트 프레임 웍, 툴, 라이브러리 사용 피드백
– 툴 개발을 위한 기획서 작성
• DEV
– 테스트 자동화 시스템 및 시나리오의 업무 활용
– 개발자 테스트
– 결과 확인 및 이슈 수정
아직 초반
• 더 많은 개발과 프로세스의 도입 필요
– 계획 대비 20 정도의 길
– 나머지 80의 길
• 시행착오가 예상됨
– 관리
– 개발
– 개발자 테스트
– Unit Test
– 코드 커버리지 향상
– 데이터 커버리지 향상
– Server Performance 측정
:
SET at Bluehole Studio
TERA Test Framework
자체 개발 vs 외부 솔루션
• 외부 솔루션을 이용한 게임 테스트 자동화는 한계 발생
• TERA의 서버 & 클라이언트 코드를 완전히 이해하고,
실제 Product 코드 위에 테스트 자동화 시스템을 구축하자
– 실제 Product 코드에서 개발
– 누구나 시나리오를 만들 수 있는, 시나리오 제작 & 재생 방식의
통합된 프레임웍
– Unit Test 및 다양한 테스트 라이브러리 개발을 통한 추후 확장
용이
– .NET을 이용하여 개발 생산성을 높이자
– 필요한 경우 공개 라이브러리를 활용하자 (e.g. Selenium)
TERA Test Framework
IN-HOUSE
EXTERNAL
SOLUTION
Framework Overview
TERA Test Framework
TeraPuppet (Record & Playback for TERA)
- 녹화 / 재생을 통한 시나리오 제
작 및 실행
- 누구나 손쉽게 시나리오를 만들고 재생 가능
- 유지보수가 쉽다.
- 다소 제한적인 기능만 사용 가능하다는 단점
Selenium Integration (Record & Playback for Web)
- 웹 테스트를 위한 Open source
library인 Selenium을 활용한 테스트 자동화
- TeraPuppet 과 연동되어 게임 내
시나리오와 연동하여 웹 테스트
가능 - 웹 기반의 자동화 테스트에 유용
TeraTest (C# Library & Script)
- 테스트 라이브러리 기반
- C# 으로 구성되어 다양한 .NET 라이브러리의 활용 가능
- 대규모 데이터 시트를 활용한 자동화 검증이나 혹은 복잡한 계산이 필요한 경우의 자동화 시나리오 제작에 유용
- 시나리오 제작을 위해 라이브러리
개발이 별도 필요
Puppeteer (BlueholeTestWeb) - 웹 기반의 시나리오 관리 및 실행
CI with the test automation (TeraTestAgent) - TERA 배포시에 자동으로 테스트 자동화 시나리오가 수행되도록 개발
TERA
TeraPuppet
TERA Test Framework
31
• Record & Playback 방식
• 수행 중인 게임에서, 1) 클라이언트와 서버간의 주고 받는 패
킷, 2) 게임 내부의 UI Event, 3) Key Event, 4) Mouse Event, 5)
그 외의 다양한 기능을 구현하기 위한 Custom Action 등을 녹
화하고, 이들을 조합하여, 원하는 시나리오를 만든 후, 다시
재생하는 방식
• 직관적이므로 프로그래밍을 몰라도 누구나 쉽게 시나리오
제작 가능
• XML 기반의 시나리오로 구성
• 여러 상황을 재현하고 검증하기 위한 다양한 문법과 기능
• 녹화 기능, 스크린 캡쳐, 웹 자동화 연동, EXCEL 연동, DB
조작 등
TeraPuppet
TERA Test Framework
32
• Excel 등을 활용한 대용량 데이터 처리 가능
• 프로그래머들의 로그 툴이나, 디버깅 용도로도 사용
가능
• Packet과 Event를 많이 파악 할 수록 다양한 시나리
오를 만들 수 있음
• 규격화된 문법이 아닌, 자체 제작된 문법들을 사용하
므로 복잡한 기능의 검증을 위해서는 별도의 기능 구
현이 필요
• QA실에서 Tera Client의 검증의 경우는 Puppet을 활
용하여 다양한 자동화 시나리오를 제작 중
QA분이 만들어주신 Puppet 메뉴얼
TeraPuppet
TERA Test Framework
33
DEMO
TeraTest
TERA Test Framework
34
• C# 을 이용한 TERA 제어 & 검증
• 프로그래밍을 아는 사람이라면, 누구나 쉽게 스크립트
작성을 통해 TERA를 제어하고 검증할 수 있도록 라이브
러리를 만들자
• Native 코드로 개발된 TERA를 Managed World로 끌어오
기 위한 별도의 개발 필요
• 복잡한 시나리오나, 프로그래밍의 장점이 필요한 부분,
C#의 막강한 라이브러리를 필요로 하는 부분에 이용되
면 좋음 (e.g. 대용량 데이터를 이용한 검증, TeraPuppet으로 제작
이 힘든 시나리오)
TeraTest
TERA Test Framework
35
• C++ /CLI Layer
• C# (with WPF (Windows Presentation Foundation) 와 MVVM )
• 개발자들의 UnitTest 개발에 용이
• Puppet과 연동하여 다양한 Packet 재생 가능
• 대부분의 시나리오들이 이론상 구현 가능
• 다양한 Library 개발 중
– BOT
– DirectX 기반 Game UI 검증
TeraTest
TERA Test Framework
36
DEMO
AutoIt vs Selenium
• AutoIt 과 Selenium 중 확장성이 높은 Selenium 선정
• QA 팀의 프로그래밍 언어를 C#으로 선정
• 전사 대상으로 C# Study 진행
TERA Test Framework
AutoIt Selenium
코딩 난이도
(상, 중, 하) - -
확장성 중 상
커뮤니티
활성화 중 상
장점
• 최초 진입 장벽이 낮음
• 자체 Library 지원
• 코드 수정이 쉬움
• 자동으로 코드를 생성해주는 Firefox IDE
• 다양한 확장성 (Excel 연동, .NET 연동 등)
• 다양한 언어 지원 및 변환 (VBA, C#, Autoit 등)
단점 • AutoIt 자체 언어를 배워야 함
• C++ / C# 연동이 어려움
• IDE로 최초 작성시 코드 수정이 어려움
• 특정 언어(C#)을 배워야 함
Selenium Integration
TERA Test Framework
• Open Source Library인 Selenium 을 사용한 웹 테스트 자동화
• 웹의 경우 표준을 대부분 따르고, HTML 기반의 구조이므로
외부 자동화 라이브러리 도입이 용이하고 활용도 높음
(JavaScript 제외)
• 현재 웹 기반의 테라 운영툴의 검증에 사용됨
• SET가 Selenium Library 및 Puppet위에 수행될 수 있도록 개발
• QA 분들께서 이를 활용하여 다양한 시나리오 제작
• Puppet 이나 TeraTest의 연동 작업을 통해, 실제 게임에 융화
되어 검증 ( Puppet 으로 TERA 환경 설정 -> Selenium 명령어를 통한 검증 -
> Puppet으로 변경된 게임 결과 검증 )
Selenium Integration
TERA Test Framework
DEMO
• 2부 에서는..
– TERA Test Framework에서 사용되는 시나리오
– 배포 연동 (CI)
– 성과
– 데모
– 좋았던 점 / 아쉬운 점
– 요약
– Q & A
Q & A
2부 (17:00 ~ 18:00)
1. Test Scenarios
2. CI & 배포 연동
3. 성과 측정
4. Summary 1. DEMO
2. 현재까지의 성과
3. 아쉬운 점
5. Q & A
Agenda
Test Scenarios
테스트 자동화 시나리오
Test Scenarios
• 사람이 하는 일을 컴퓨터가 대신 할 수 있도록 테스트 시나리오 제작
• 기능을 잘 아는 사람이 시나리오를 제작 하는 것이 효과적
• 시나리오를 잘 만드는 것도 경험과 노하우가 중요
• 시나리오를 잘못 만드는 경우, 비용만 들고 효율성이 떨어지는 역효과
• 비교적 안정적인 컨텐츠를 대상으로 제작하는 것이 효과적
장 점 단 점
• 반 영구적으로 사용
• 기능을 잘 모르는 분들도 시나리오 수행을 통
해 안정적인 결과 확보
• 다양한 확장성 ( e.g. performance 검증)
• 시나리오 공유가 가능하면, 국가나 빌드의 추
가에도 비용 최소화
• 다양한 OS나 국가별 OS에서도 쉽게 검증 가능
• 시나리오 유지 보수 비용 발생
• 초기 시나리오 제작 비용 발생
• 사람이 테스트하는 것과 100% 동일 할 순
없음
TERA 테스트 자동화 시나리오 현황
Test Scenarios
• 5 개의 국가에서 수행 가능한 400 여 개 이상의 시나리오
– 국가: 한국, 중국, 일본, 유럽, 북미
– 목적: 빌드검증, 이슈 검증, 가배포, 세부 컨텐츠
– 대상: 신규 컨텐츠, 기존 컨텐츠, Performance
– 도구: TeraPuppet, TeraTest, Selenium Integration
• QA 분들의 다양한 제작 노하우로 꾸준히 시나리오 제작 중
• QA와 SET의 효율적인 역할 분담 중요
– QA: 시나리오 제작
– SET: 시나리오 제작 도구 개발 및 시나리오 Template 제공
• 개인이 개별 환경에서 별도로 돌리거나 CI (Continuous
Integration) & 배포연동 시스템을 통해 수행
시나리오 예제 (TeraPuppet)
Test Scenarios
시나리오 예제 (TeraTest)
Test Scenarios
시나리오 예제 (Selenium)
Test Scenarios
시나리오의 제작과 유지 보수는 테스트 자동화의 가장 중요한 요소
Framework Overview
TERA Test Framework
TeraPuppet (Record & Playback for TERA)
- 녹화 / 재생을 통한 시나리오 제
작 및 실행
- 누구나 손쉽게 시나리오를 만들고 재생 가능
- 유지보수가 쉽다.
- 다소 제한적인 기능만 사용 가능하다는 단점
Selenium Integration (Record & Playback for Web)
- 웹 테스트를 위한 Open source
library인 Selenium을 활용한 테스트 자동화
- TeraPuppet 과 연동되어 게임 내
시나리오와 연동하여 웹 테스트
가능 - 웹 기반의 자동화 테스트에 유용
TeraTest (C# Library & Script)
- 테스트 라이브러리 기반
- C# 으로 구성되어 다양한 .NET 라이브러리의 활용 가능
- 대규모 데이터 시트를 활용한 자동화 검증이나 혹은 복잡한 계산이 필요한 경우의 자동화 시나리오 제작에 유용
- 시나리오 제작을 위해 라이브러리
개발이 별도 필요
TERA CLIENT
Puppeteer (BlueholeTestWeb) - 웹 기반의 시나리오 관리 및 실행
CI with the test automation (TeraTestAgent) - TERA 배포시에 자동으로 테스트 자동화 시나리오가 수행되도록 개발
CI & 배포 연동
Continuous Integration 이란
CI & 배포연동
지속적으로 퀄리티 컨트롤을 적용하는 프로세스를 실행하는 것
소프트웨어의 질적 향상과 소프트웨어를 배포하는데 걸리는 시간을 줄이는데
지속적인 통합은 재작업을 줄여서 비용과 시간을 줄이는데 초점
Test Automation & CI 의 필요성
CI & 배포연동
Reference: http://www.embeddedinsights.com/channels/2012/03/19/unit-test-tools-and-automatic-test-generation/
TeraTest Agent
CI & 배포연동
• 개발자의 수정 사항의 수시 확인을 통한, 이슈의 빠른 검증이 중요
• 배포가 완료되면, 서버와 클라이언트를 설치 후, 자동으로 테스트 자동화 시나리오들을 검증
• 국가별로 다양하게 배포가 진행되고, 실제 QA 업무에 활용되므로, 안정적이고 신뢰성 있는 시스템 구
축 및 결과 전달이 중요
• TERA의 기존 배포 시스템에 맞물려 수행되기 위한 별도의 시스템
• C# (with WPF) 으로 개발
TeraPuppeteer
• TeraPuppet 시나리오를 원격으로 수행시켜주는 웹 기반의 시나리오 수행 도구
• 시나리오 수행 결과, 시나리오 현황, 자세한 로그 등을 관리
• 모든 테스트 자동화의 결과를 한 눈에 볼 수 있는 곳
• AngularJS & Bootstrap 으로 개발
CI & 배포연동
• 검증이 모두 완료되면, 정확하고 세부적인 검증 결과의 빠른 전달 필요
이슈 관리
CI & 배포연동
Web
BTS (JIRA)
• 실패한 결과 발생 시, SET 및 해당 시나리오 담당자 분들의 빠른 이슈 확인 필요
이슈 관리
CI & 배포연동
성과 측정
Code Coverage
성과 측정
• 테스트 시나리오들에 의해 코드의 몇 % 가 수행되었는지를 정확하게 측정하기 위한 방법
• Automation & Manual Test 이후 제품이 출시 가능한지를 평가 할 수 있는 중요한 지표
Code Coverage
성과 측정
Microsoft 에서의 테스트의 주요 측정 지표는 Code Coverage
• Office를 포함한 일반적인 Application은 코드를 통한 개발이 일반적
• Code Coverage 결과와의 사투
Code Coverage in 게임 개발
성과 측정
• Game의 경우는 Code Coverage 측정만으로는 한계
– 코드를 통한 개발 + 컨텐츠 데이터를 통한 개발
– Client + Server + Contents Data
• Packet Coverage
– Server 와 Client 의 전체 Packet 중 몇 % 의 Packet 이 테스트에 의해
검증 되었는지
– TERA의 경우, 보다 자세한 테스트 커버리지 측정을 위해, Code
Coverage 뿐만 아니라 Packet Coverage도 측정 중
• Data Coverage
– 전체 데이터 중 몇 %의 데이터가 테스트에 의해 커버되었는지
– 효과적인 Coverage 측정 방법 고민 중
Packet Coverage
Summary
DEMO
Summary
성 과
Summary
• QA 분들과 개발자 분들의 테스트 자동화 업무의 효율성을 인지
• 테스트 자동화를 통한 리소스 절약
• 비용대비 효율이 낮진 않음
• 기본 Packet 검증의 40%를 테스트 자동화로 검증 가능
• 5개 국가에 자동으로 테스트 자동화 시나리오 수행 중
• 일부 빌드는 자동화 테스트를 위주로 검증 확인 예정
• 회사의 관련 업무 지원
긍정적인 성과
Summary
많진 않지만 나름 알찬 랩 실의 테스트 자동화 머신들
긍정적인 성과
Summary
아쉬운 점
• 나홀로 개발
– 큰 장점이자 단점
– 개발에만 집중할 수 있는 여유 필요
• 아직은 정착되지 않은 문화
– 모든 것을 만들어야 함
– 다양한 시스템 & 프로세스 구축 필요
– 규모와 프로젝트 성격에 맞는 SET 안착 필요
• 협업
– 이해관계가 얽힌 기존 조직과의 효율적인 업무 협업은 쉽지 않음
– 협업을 위한 리소스가 투입 됨 (회의, 리뷰, 메일 작성 등)
– TERA 조직은 2007년 부터 잘 쌓아온 개발 및 QA 문화를 가지고 있음
– 조직에 많은 공헌을 할 수 있도록 꾸준한 고민과 노력 필요
Summary
마무으리
마무으리
• 여전히 실험 단계
• 성공과 실패의 갈림길에서 다양한 고민과 시행착오를 통해 더 나은 길을 찾아가는 중
Q & A
Software Engineer in Test 의 업무에 관심 있으신가요 ?