라모나 슈베링은 품질 보증에 대한 배경 지식을 갖춘 소프트웨어 엔지니어이자 Google 개발자 전문가입니다.
이 게시물에서는 자동화 테스트 블로그 시리즈의 일부로 커뮤니티 전문가를 중점적으로 다룹니다.
라모나 슈베링은 품질 보증 경험이 있는 소프트웨어 엔지니어입니다. 또한 웹 기술 분야의 Google Developer Expert이기도 합니다. 테스트 자동화에 열정적인 라모나는 콘퍼런스에서 발표, 기사 게시, 오픈소스 프로젝트 참여, 모임 조직 등 공공 교육 활동을 통해 테스트 자동화에 크게 기여했습니다.
Jecelyn: 웹 개발 및 테스트를 진행한 경로는 무엇이었나요?
라모나: 제가 발전을 향한 여정은 예술에 대한 열정으로 시작되었습니다. 고등학교 시절에는 게시하고 싶은 삽화를 그리고 그리는 데 많은 시간을 보냈습니다. 하지만 DeviantArt와 Animexx이 아닌 다른 프로그램을 사용하기 위해 웹사이트를 만들었습니다. 이를 통해 웹 개발에 대해 알게 되었습니다. 나중에 첫 직장에서 테스트 자동화에 대한 열정을 키웠습니다. 그래서 인간의 창의성과 경험이 필요한 일에 집중할 수 있도록 지루한 테스트 작업을 없애고 싶었습니다.
Jecelyn: 테스트 자동화 도구가 아주 많습니다. 어떻게 해야 모두 배우거나 선택해야 할 지 알 수 있을까요?
라모나: 정말 좋은 질문입니다. 가장 먼저 해야 할 일: 많은 자동화 프레임워크를 시험해 보는 것은 좋지만, 하나씩 모두 배워야 한다는 압박을 느끼지 마세요. 소규모 프로젝트를 빌드하는 것으로 시작하거나 첫 번째 소규모 테스트를 작성하여 프레임워크의 경험과 특이한 점이 마음에 드는지 확인해 보세요. 자신의 요구사항과 취향에 맞는 전략 한두 개를 선택하는 것이 좋습니다. 사용해 보고 특정 프레임워크의 개발자 환경이 마음에 드는지 확인하는 방식을 선호합니다. 사용하기에 문제가 없는 것 같은지 확인하려고 합니다. 테스트는 헤드스페이스가 아니라 습관으로 느껴져야 합니다. 물론 빌드하는 프로젝트와 요구사항에 따라 달라집니다.
Jecelyn: '아직 시간이 없습니다.'와 같이 절차가 끝날 때까지 테스트가 지연되는 경우가 많습니다. 그것에 관해 어떻게 생각하시나요?
라모나: 테스트 작성에 상당한 시간이 걸립니다. 테스트 기반 개발을 사용하기로 결정한 경우에는 더욱 그렇습니다. 하지만 테스트가 많은 시간을 소모한다는 것은 일반적인 오해라고 생각합니다. 테스트에는 많은 장점이 있습니다. 조기에 피드백을 받을 수 있으므로 버그를 조기에 수정할 수 있으므로 버그가 누적되지 않고 이후 단계에서 수정하는 데 더 많은 비용이 들지 않기 때문에 버그 수정 비용이 절감됩니다. 그 외에, 자동화를 많이 할수록 수동으로 테스트해야 할 필요가 줄어들지만 프로젝트 상태에 관한 유용한 개요를 확인할 수 있습니다. 따라서 제 생각에는 실제로는 반대입니다. 테스트를 활용하면 꾸준한 노력 없이도 시간을 절약하고 자신감을 얻을 수 있습니다.
Jecelyn: 귀사에서 테스트 자동화 문화에 관해 말씀해 주세요.
라모나: 현재 저희 팀에서는 테스트를 공동의 책임으로 여기고 있습니다. 모두가 힘을 합쳐 테스트해야 합니다. 우리는 'Quality at Speed'라는 프로세스를 구현했습니다. Atlassian에서 도입한 기능입니다 이 프로세스를 통해 테스터는 pull 요청에 테스트가 필요한지 여부를 결정하는 안전망 역할만 합니다. 따라서 개발자는 테스터가 모든 것을 처리한다는 생각에 의존할 수 없습니다. 대신 개발자와 테스터는 코치 역할을 하고 개발자에게 테스트 방법을 가르치는 우수한 엔지니어의 도움을 받습니다. 개발자는 변경사항에 필요한 테스트를 작성하고 품질 엔지니어가 필요하다고 판단하면 나중에 해당 테스트를 보완합니다. 이러한 접근 방식을 통해 개발자와 품질 엔지니어 간의 공감대가 높아졌고 이들이 함께 일하면서 책임을 분담할 수 있게 되었습니다.
Jecelyn: 강연, 글쓰기, 오픈소스 참여 등 다양한 커뮤니티 활동에 참여하고 있습니다. 시간과 균형을 어떻게 맞출 수 있을까요?
라모나: 회사가 공개 강연 활동을 지원한다는 것은 행운이라고 생각합니다. 덕분에 컨퍼런스에 참석하거나 강연 콘텐츠를 준비할 때 일을 쉬지 않아도 됩니다. 하지만 여전히 공적인 학습에 여가 시간 중 일부를 사용하고 있음을 인정해야 합니다. 시간을 효과적으로 관리하기 위해 매일 2시간을 할애하는 타임박스 전략을 채택했습니다. 예를 들어 오픈소스 프로젝트에 기여하거나, 기사를 작성하거나, 프레젠테이션 연습을 하는 등의 업무를 맡고 있습니다. 이 두 시간이 끝난 다음 날에는 충분한 여가 시간을 위해 휴식을 취하는 것이 중요합니다. 이 접근 방식이 계획대로 진행되지 않을 때도 있지만 일반적으로 중요한 일을 소홀히 하지 않고 업무, 커뮤니티 참여, 개인적인 삶 사이에서 균형을 잡는 데 도움이 되었습니다.
Jecelyn: 테스트 자동화 작업을 시작하기 전에 듣고 싶은 조언이 있나요?
라모나: 특정 솔루션 프레임워크에 지나치게 편중되지 말고 당면한 실제 문제를 해결하는 것보다 이를 우선시해야 합니다. Google의 궁극적인 목표는 사용자에게 최고의 품질과 사용자 경험을 제공하는 것이며, 모든 프레임워크가 이를 달성하는 데 도움이 됩니다. 따라서 프레임워크 전쟁에는 참여하지 않는 것이 가장 좋습니다. 테스트를 처음 시작할 때 먼저 테스트 및 테스트 자동화의 기본 사항을 학습하고, 필요한 경우에만 프레임워크를 도구로 사용하는 것이 좋습니다.
Jecelyn: 테스트 자동화와 웹 개발을 따라잡으려면 어떻게 해야 할까요?
라모나: 저는 뉴스 매체와 소셜 미디어를 모니터링하여 최신 트렌드와 혁신적인 아이디어를 확인하는 것을 즐깁니다. 하지만 관련 정보를 필터링하기가 어려울 수 있으므로 신뢰할 수 있는 출처와 개인 정보를 따르는 것이 좋습니다. 또한 Twitter 목록 및 북마크와 같은 기능을 사용하여 소스를 통합합니다. 제가 팔로우한 출처 목록 중 하나를 알려드리겠습니다. 컨퍼런스와 모임에 참석하는 것도 정보를 얻는 또 다른 방법입니다. 강연에서 배우고 다른 참석자와 대화할 수 있기 때문입니다.