품질 보증
LAB 메인으로 돌아가기
QA 검사를 자동화하는 법
자동화 엿보기
자동화는 분명 품질 보증 절차를 원활하고 더 효율적이게 할 수 있지만, 자동화에 필요한 실제 작업은 높은 기술력을 필요로 하여 종종 벅차게 느껴질 수 있습니다. 그래서 우리는 어떻게 자동화 초기 단계를 구축하고 게임에 적용할 수 있을지 파악하는 것을 우선순위로 둡니다. (인하우스로 제작하거나 위탁할 경우에 모두 해당됩니다)
그럼 자동화에 대해 자세히 알아보겠습니다.
자동화하고 싶은 것이 무엇인지 처음부터 정확히 정하는 것이 중요합니다. 그 결정을 내리려면 해당 게임과 엔진, 그리고 사용하는 소프트웨어에 대해 잘 이해해야 합니다. 거기서 자동화가 가능한 모듈 및 기능을 분별해야 합니다.
큰 영향을 줄 수 있고 고려할만한 것들로는 기능 테스트, 회귀 테스트 및 테스트 프로세스 (무엇을 자동화할 수 있는지 알려면 블로그 포스트 참조) 등이 있습니다.
이러한 요건을 염두에 두고, 부합하기 위한 전략 시스템을 구축해야 합니다. 그러려면 강력하고 적용 가능한 자동화 프레임워크가 필요합니다.
더 단순하게 말하자면, 자동화 프레임워크는 프로그램 코드를 사용하여 수동 검토자가 작성한 까다롭지 않고 쉬운 언어 테스트 케이스를 테스트 시나리오로 보여줍니다. 프로그램 코드는 테스트 케이스에 따라 설명된 행동을 수행하고 결과를 출력합니다.
하지만 기능 및 설계에 흔히 변화가 있기 때문에, 가능한 적응성이 뛰어난 모듈 방식의 프레임워크를 선택해야 합니다. 그러면 설계에 변화가 생겼을 때 테스트 스위트를 가능한 신속히 업데이트할 수 있을 것입니다.
자동화할 부분과 사용할 프레임워크를 분명히 생각해두고, 작업에 필요한 툴이 무엇인지 생각해 보겠습니다. 사용하는 프레임워크와 생성할 개별 자동화 스크립트는 플랫폼 및 자동화 유형에 따라 다양한 툴을 필요로 합니다. 다음과 같은 자동화 툴이 있습니다.
자신만의 자동화 스크립트를 만들어 봅시다. 검토자들은 정확히 여러분이 시험하려는 것을 꼼꼼하게 기록해야 하며, 그러면 기술자들이 그러한 테스트 케이스를 자동화 스크립트로 변환할 수 있습니다.
처음에 흔히 하는 실수는 기록한 수동 QA 기술자의 행동을 자동화 가동 중에 다시 돌려보는 것입니다. 그러면 마치 도입하기 쉽고 간단한 방법으로 지식을 재사용할 수 있는 것처럼 보입니다. 하지만 경험에 따르면, 대부분의 기록된 시험은 시스템이 바뀌는 경우 소용이 없게 됩니다. 기록 소프트웨어로 생성된 로그는 종종 관리가 되지 않으며, 시스템 업데이트를 할 때마다 소용이 없게 되어 다시 기록할 필요가 있습니다.
테스트 케이스를 작성하여 자동화 스크립트로 변환하는데 시간을 사용한 이유는 바로 이 단계를 위해서입니다. 실행 버튼을 누르고 해당 자동화 스크립트들을 자신의 게임에 설정하십시오.
새로운 모든 게임 빌드에 자동화 테스트를 수행하면, 몇 시간 안에 그 빌드가 수동 품질 보증을 위한 준비가 되었는지 확인할 수 있습니다. 테스트 팀에게 전달되기 전에 해당 빌드가 부적합하다는 것을 발견하면 시간을 상당히 절약할 수 있습니다.
자동화를 초기 설정 및 가동하고 나서도 모든 것이 원활하게 돌아가게 하려면, 관리에 상당한 노력이 필요합니다.
자세하게 말하자면 관리란 새로운 변화가 도입될 때 각 자동화 테스트 케이스의 성공률 및 개별 스크립트를 자주 확인하는 것을 의미합니다. 버전 관리 역시 매우 중요합니다. 매번 업데이트마다 버전을 달리 하면, 언제 스크립트가 잘못되었는지 금방 알아채고, 원인을 찾아내어 그에 따라 수정할 수 있습니다.
넓게 보았을 때, 시스템 변화 및 새로운 요건을 따라가려면 프레임워크 역시 지속적으로 관리해야 합니다.
인하우스 Vs. 아웃소싱(외주 위탁) 자동화
자동화 초기 설정하는 방법을 알아 보았습니다. 하지만 시작하기 전에, 인하우스과 아웃소싱 중에 자신에게 가장 좋은 방법이 무엇인지 아는 것이 중요합니다. 두 가지 모두 분명한 장점과 단점이 있습니다. 검토해야 할 내용은 다음과 같습니다.
네. 이러한 검토를 해보면 자신의 게임에 가장 적합한 방법을 결정할 수 있습니다. 하지만 각 방법의 장점과 단점을 이해하는 것 역시 중요합니다.
포괄적인 비교
아웃소싱 (외주 위탁)
인하우스