👨🏻💻 QA이야기
왜 QA의 연봉은 오르지 않는가 💰
왜 QA의 연봉은 오르지 않는가 💰
2020.05.08🤔 왜? 국내 IT 인력의 연봉은 꾸준히 올라가고 있다고 한다. 개발자의 연봉이 3천만 원대에서 5천만 원, 7천만 원대로 쭉쭉 상승해가고, 해외 대기업 출신 스타 개발자들이 연봉 1, 2억을 받는 동안, QA의 연봉은 제자리걸음이다. 오히려 테스터의 포지션이 더 많고, QA가 테스터 대우를 받으며 연봉이 낮아져 가고 있다. Quality란 분명 어떤 제품에서도 뺄 수 없는 중요한 것임에도 불구하고, 그것을 담당하고 이끌어 나아가는 QA의 위치는 매우 산만하고 불안정하며, 대우 또한 하락하고 있다고 볼 수 있다. “좋은 QA를 찾기는 어렵다”라고 말하는 회사들은 봤어도, 그에 맞는 대우를 해주는 곳은 없다. 해외에서 QA 연봉은 개발자와 같은 레벨이다. 그만큼 중요하다는 것을 인지, 그에 맞는 대우를 하..
피해야 할 6가지 QA의 성향 🧍
피해야 할 6가지 QA의 성향 🧍
2020.05.03☑️ 수행자 유형 어떤 사람은 수동 테스트 스크립트를 실행하고 완료되면 확인하는 것을 좋아한다. 테스트의 통과 결과를 보고 만족감을 느끼는 것이다. QA가 테스터 취급을 받으며 가장 쉽게 빠지는 유형이기도 하다. 이러한 사람들은 간혹 소프트웨어가 어떻게 작동하는지 제대로 이해하지 못하는 경우를 특히 신경 쓰지 않는다. 단순히 테스트의 시간 내 완료 상태 그리고 결과에 만족한다. 테스트를 하는 소프트웨어를 이해하지 못하고 테스트 스크립트만 실행한다면, 중요한 버그가 누락되는 경우가 생기곤 하며, 이를 찾아내면 테스트 스크립트를 추후에 업데이트한다. 조금 이상한 현상을 보더라도, 스크립트에 명시되어있지 않다면 그냥 넘어가게 되는 이상현상 정도로 인지 할 뿐이며, 분석은 다음으로 넘긴다. 이것은 QA가 아닌 ..
테스트의 성공과 성장 ⭐
테스트의 성공과 성장 ⭐
2020.04.28🧍 업글인간 사람들에게 성장과 성공 둘 중 어느 것을 더 추구하냐고 물어본다면 많은 사람들이 여러 가지 이유에서 성장이라고 답할 것이다. 업글인간이라는 신조어가 있다. 목표의 달성으로 끝나는 성공, 마침표가 아닌 계속해서 조금씩 발전해 나아가는 자기 계발 형태의 성장을 추구하는 사람이라는 뜻이라고 한다. 말 그대로 사람이 업그레이드가 된다는 것이다. 매년 핸드폰 OS 버전도 꾸준히 업그레이드가 되듯이. 개인적으로 또 다른 이유를 대자면, 성장은 오롯이 내 기준으로 판단 가능하지만, 성공은 내 기준이 될 수도, 다른 사람들은 각자의 기준으로 판단될 수도 있다고 생각한다. 남의 눈치를 많이 보는 한국 사회에선, 사실상 성공을 없애지 않을 수 없다. 하지만 성공을 중시한 목표를 두고 성장을 찾아보는 것이 아닌..
기술적 전략에서 🤼 팀 능력 전략으로
기술적 전략에서 🤼 팀 능력 전략으로
2020.04.27⚙️ 기술적 전략은 Adjust - 때에 맞춰 변화시키는 것 테스트 전략을 수립한다고 하면, 보통 어떠한 방법론, 기술을 언제 그리고 어떻게 적용할 것인가가 대부분 초점에 맞춰진다. 그리고 그 기술적 전략에 맞게 사람들이 배치되게 된다. 기술적인 부분은 그때마다 가장 적절한 전략이 수립된다. 프로젝트 또는 스프린트 내에서의 소프트웨어 내에 변경될 범위, 크기, 안전 위험 분석 등을 바탕으로 테스트 전략을 맞춰 계획하고, Regression (회귀) 테스트, Exploratory (탐색적) 테스트, User Acceptance (사용자 인수) 테스트, Smoke (스모크) 테스트 등 여러 가지 방법들을 알맞은 때에 실행하는 계획 등을 세운다. 이 부분은 QA 직군의 어느 정도 연차가 있다면 적어도 어느 정..
알고리즘과 휴리스틱의 차이 💡
알고리즘과 휴리스틱의 차이 💡
2020.04.24📋 테스트 케이스의 효율성 소프트웨어의 높은 Quality를 위해 테스트를 진행할 때, 테스트 케이스를 작성하여 이에 따라 테스트를 실행하고, 실패율로 품질을 측정하는 방식을 선택하는 회사들이 많다. 하지만 현재까지 제품의 모든 경우의 수가 고려되고 전부 테스트 케이스로 옮겨지는 것은 사실상 현실적으로 불가능하며, 이러한 부분은 따라서 수치로 계산되지 못한다. 그렇다면, 이러한 테스트 결과 수치가 소프트웨어의 품질을 증명한다고 할 수 있을까? 테스트 케이스는 시간이 지나며 제품의 기능이 발전하고 늘어날 수록, 같이 늘어난다. 그만큼 테스트 수행 시간도 늘어나기 때문에, 결국 부분적 회귀 테스트를 테스트 전략을 많이 선택한다. 이러다 보면, 오랫동안 건드려지지 않는 위험요소가 적은 부분도 있을 테고, 그 ..
한국에선 왜 🏆 ISTQB 자격증에 목메는가
한국에선 왜 🏆 ISTQB 자격증에 목메는가
2020.04.21🌐 ISTQB란? International Software Testing Qualifications Board의 약자로, 국제 소프트웨어 테스팅 자격 협회이다. 이곳에서 여러 가지 자격증들을 제공하며, Foundation, Advanced, Expert 레벨들과 Core, Agile, Specialist 스트림으로 나뉘어있다. 보통 기본 Foundation Level (FL)를 주로 취득하며, Advanced Level Test Manager를 취득하는 사람들도 있다. 꽤나 비용이 든다. 🗑️ 필요성에 대한 논쟁 해외 QA 또는 테스트 직군 관련 채용을 보면, ISTQB가 필수인 곳은 찾아보기 힘들고, 그나마 대부분은 추천을 한다 하지만 50% 정도에 불과하다. 왜일까? 해외 QA나 테스팅 커뮤니티에서는..
Kotlin으로 ☕ Espresso UI 테스트 기반 잘 다지는 법 #2 - Matchers
Kotlin으로 ☕ Espresso UI 테스트 기반 잘 다지는 법 #2 - Matchers
2020.04.19🏤 나만의 관리소 만들기 Espresso에서 Matcher란 어플리케이션 내 element들의 패턴을 해석하여 원하는 작업을 수행하는 엔진이다. 이는 기본 Espresso 라이브러리에서 곧장 불러다가 사용이 가능하지만, 매번 패키지를 import 하고, 여러 가지 작업을 연달아 수행하다 보면 코드가 굉장히 지저분하고 길어질 수 있다. 베이스 Interface를 생성하여 이를 관리해주면, 테스트 코드가 보다 보기 쉽고 간편해지며, 관리 또한 수월해진다. BaseViewMatchers.kt interface BaseViewMatchers { fun onView(viewMatcher: Matcher): ViewInteraction = Espresso.onView(viewMatcher) fun onData(vi..
팀원으로서의 🙋🏻 Quality
팀원으로서의 🙋🏻 Quality
2020.04.16🏦 La Casa de Papel - 종이의 집의 교수가 돼보자 QA (Quality Assurance)는 개발 과정에서 모든 순서에 개입되게 된다. 다시 말해 QA 포지션에서 일하는 사람은, 매우 다양하고 여러 사람들과 계속해서 대화하며 일을 하게 된다. 효율적인 Communication, 일에 관한 의사소통이 효율적으로 되는 사람이 되는 것이 중요하다. 듣고 분석하여 전달하는 능력을 키우는 것이 좋다. 한 발자국 더 나아가자면, 쉽게 말하면 눈치가 빠른 사람, 다른 말로는 미리 경우의 수를 생각하는 사람이 돼라. 넷플릭스에서 스페인 드라마 'La Casa de Papel - 종이의 집'을 보면, '프로페서 - 교수'는 항상 수많은 경우의 수를 미리 예상해놓고 그에 따른 대책을 준비해 미리 의사소통을 ..
Kotlin으로 ☕ Espresso UI 테스트 기반 잘 다지는 법 #1 - 테스트 케이스
Kotlin으로 ☕ Espresso UI 테스트 기반 잘 다지는 법 #1 - 테스트 케이스
2020.04.12⚙️ 기본 설정 Espresso (에스프레소) 는 구글에서 제공하는 안드로이드 UI 테스트 라이브러리이다. 3.x 버전부터는 AndroidX Library에 통합되어 제공되고 있다. 기본적인 설정은 안드로이드 개발 코드 안에서 직접 환경설정할 수 있다. build.gradle android { defaultConfig { testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } } // https://developer.android.com/jetpack/androidx/releases/test def androidxTest = '1.2.0' def espresso = '3.2.0' dependencies { ... androidTestI..
🤖 테스트 자동화는 왜 중요한가?
🤖 테스트 자동화는 왜 중요한가?
2020.04.11🚀 모든 것은 애자일 방법론에서부터 Agile methodology (애자일 방법론)을 도입하려는, 도입한 이유를 확실히 짚고 넘어가 봐야 한다. 간단하게는 대부분 계속해서 지속적으로, 자주 유저에게 업데이트된 잘 작동되는 소프트웨어를 배포하고 싶고, 개발 중간 언제든지 요구사항의 변경에 대해 빠르게 대응할 수 있는 환경을 원하는 팀이 애자일을 도입한다. 애자일을 도입하면, 조금씩의 변경을 소프트웨어에 구현시키고 배포하는 것을 반복할 수 있게 된다. 장점은, 변경하는 양과 크기가 작기 때문에 문제 발생에 대한 리스크도 적어지며, 그에 따른 새로운 배포 버전의 안정성이 올라가게 된다. 기본적인 사이클을 보면 기획 + 디자인 + 개발 + 테스트 이다. 이 사이클을 보다 빠르게 자주 하려면, 주어진 시간에 따..
Quality의 부서는 ⛳ 대체 어디인가?
Quality의 부서는 ⛳ 대체 어디인가?
2020.04.10⚔️ Engineering 대 Product 해외에서는 테스터 포함 QA 엔지니어 공고들을 보면, 90% 이상이 Engineering에 소속되어있다. 한국에서는 유독, QA가 심지어 엔지니어 타이틀을 달고서도 Product에 소속되어있는 공고들이 대부분이다. 왜일까? 우선 Engineering의 정의부터 살펴보자: 과학적, 경제학적, 사회적 원리와 실용적 지식을 활용하여, 새로운 제품, 도구 들을 만드는 것 또는 만드는 것에 관한 학문이다. Engineering은 안정성, 경제성, 보안성 등 실용적인 관점에서 평가 및 판단을 하며, 이를 실천하는 사람을 엔지니어, 또는 기술자라고 부른다. 소프트웨어 개발을 생각해보자. 높은 품질의 제품을 만드는 것, 이것은 Engineering인가 아닌가? 품질 (Pro..
Quality 🧠 마인드셋 트레이닝
Quality 🧠 마인드셋 트레이닝
2020.04.09🌎 Quality란 어디에나 있고, 내 책임이 있다. Quality란 단순히 어떤 제품의 질이 좋고 규격에 맞는가를 나타내는 게 아니다. Quality가 Product quality인 품질(品質)이라고 왜곡된 번역 때문에 잘못 이해하는 사람들이 대다수이다. Quality는 단순히 제품뿐 아니라 그 제품을 만들기 위한 활동, 과정 및 결과물 모두를 의미한다. 따라서 quality는 단순히 제품을 만든 사람 혹은 테스트한 사람의 책임이 아니라, 처음 기획 한 사람부터 제품 제작에 참여한 모든 사람들의 책임이다. 📦 품질 (品質) - Product Quality 품질을 좌우하는 것은 테스트 결과인가? 아니다. 품질은 처음 어떻게 기획되었는가부터 어떻게 디자인이 되었는가, 어떻게 개발되었는가 그리고 어떻게 테스..