QA 컨퍼런스에서 여덟 번째 마지막 발표를 맡아주신 황재성 님의 발표 내용을 정리해 보도록 하겠습니다.
주제가 테스트 케이스의 우선순위를 선정하는 방법이라서 발표를 기대했습니다
테스트 케이스가 많아서 위험 기반 테스트를 도입해 보려고 노력했던 적이 있기 때문이죠
저는 리스크를 어떤 기준으로 선정해야할지 난해해서 적용하진 못했기 때문에 더 기대된 발표였습니다.
하지만 감히 말씀드릴 수 있습니다. 내용을 명확하게 이해하지 못했습니다 😭
그래도 조금 해봤던 작업이라 들을만 하겠는데!?라고 생각했지만 오산이었습니다 😂
그래도 후기를 조금이라도 써보겠습니다..!!
제가 작성하는 내용은 컨퍼런스 후기일 뿐입니다!
QA 컨퍼런스에 직접 참여하셔서 발표를 들어보시는 것을 정말 추천드립니다!
QA 코리아 컨퍼런스 : https://www.qa-korea.com/
황재성 님 링크드인 : 링크드인 연결 링크
QA 컨퍼런스의 여섯 번째 발표는 황재성 님이 발표해 주셨습니다. 많은 양의 Test case를 수행해야 하는 상황에서 어떤 전략으로 테스트를 수행하는 것이 효율적인지, 이런 우선순위를 정하기 위한 과정들에 대한 설명을 해주셨습니다.
발표 전에는 정말 잘 들어봐야지. 어떤 식으로 위험도 기준을 잡으셨을지 정말 궁금했습니다.
다른 후기에는 없는 소개에 대한 내용을 넣을 수밖에 없었습니다. 내용을 보면서 잘못 본 건가.. 자격증이 뭐가 있다는 건지 알려주시는 건가 생각이 들 정도로 제가 알고 있는 ISTQB 연관된 자격증은 전부 있으셨고 다른 자격증을 카테고리 별로 나눠서 설명해 주시는 것을 보고 정말 QA 전문가라고 말할 정도면 이 정도는 되어야 할 수 있을까라는 생각도 들었습니다 😥
Testcase의 우선순위 선정에 대한 얘기를 해주시기 전에 왜 이 업무를 진행하게 되었는지 설명해 주셨습니다.
리그레션 테스팅은 품질 유지를 위해 필요한 작업이며 반복적으로 수행되는 업무이지만, 결함이 언제 발견될지 예상하는 것은 어렵기 때문에 어떤 방식으로 업무를 진행하면 결함 발생을 예측할 수 있고, 결함을 빨리 찾을 수 있는지를 생각하게 되셨다고 합니다.
저도 테스트 업무를 진행할 때 큰 작업이 있을 때마다 1200~1500개의 TC를 반복적으로 테스트를 수행한 적이 있습니다. 테스트를 하다 보면 계속 발생하는 결함은 업데이트가 되어도 다른 방식으로 잔존해있는 경우가 있고, Side Effect의 영향으로 새로운 곳에서 결함이 발생하는 경우도 있습니다. 테스트를 반복적으로 하다보면 이런 쪽에서 결함이 있을 것 같은데?라고 생각하는 경우가 종종 있습니다. 실제로 예상대로 결함이 발견되어 내용을 전달한 적도 많이 있고요.
하지만 이런 경험으로 느낀 부분을 수치화해서 우선순위를 정한다..? 생각해보지 못한 아니 생각할 수 없었던 부분이었습니다. 이전에 우선순위를 정할 땐 새로 추가된 기능의 기간으로, 혹은 얼마나 테스트를 했었는지 체크해서 우선순위를 점차 내리는 방식은 해봤거든요. 근데 계산을 통한 우선순위 산정이라 이색적이었습니다.
제가 수행한 방식과는 비슷하면서 다른 느낌의 경험 기반 방법을 설명해 주셨습니다. 시험 이력을 차수 별 가중치를 적용하고, 추가적으로 테스트 수행시간을 비교하여 우선순위를 정하는 방식을 설명해주셨습니다.
직접 예시를 보여주시면서 우선순위 선정 과정을 설명해주셨습니다. 테스트 사이클마다 가중치를 입력하고, 성공 실패에 대한 결과와 조합하여 계산하면 각 테스트 케이스 별 우선순위 수치 값을 계산할 수 있다고 하셨습니다.
제가 했던 방식은 정말 단순한 방식이었는데 체계적인 계산법이 있는 줄은 몰랐습니다. 역시 고수의 향기가 느껴지는 자료였습니다.
그리고 APFD 검증 측정 방식에 대한 방법을 알려주셨는데요, 테스트 스위트 단위로 묶여있는 테스트 케이스가 얼마나 실패했는지 파악하고 계산식에 맞춰서 APFD 값을 계산한다고 하셨어요. APFD 값이 클수록 대상 테스트 케이스는 결함이 나올 확률이 높은 것 이기에 테스트 우선순위를 설정할 수 있다고 하셨습니다.
그리고 APFD 효과를 증명하기 위한 연구를 진행하셨다고 하셨습니다. 학습 데이터를 수집할 때 코드는 수집할 수도 없고 테스트 팀이 사용할 수 있는 것은 테스트 수행 결과 리포트이기 때문에 테스트 히스토리를 통한 데이터 수집을 진행하셨다고 하네요.
실험 방식은 실험 데이터를 수집하고, 수집한 데이터 중 9개의 피쳐를 도출하여 우선순위 산정을 해줄 모델에 적용하여 APFD 계산을 한 결괏값을 비교해 보는 방식으로 진행하셨다고 하셨습니다. 이 부분에서 말씀해 주신 내용을 명확하게 이해하진 못했지만... 간략하게 말하면 비교 데이터를 수집하고! 우선순위 모델들에 넣고 계산식을 돌려본 다음! 가장 좋은 모델을 파악해 보겠다! 이런 말씀이신 것 같습니다. (아닐 수 있습니다 😭)
다른 검증 페이지에서 8개의 모델의 검증 결과를 수치로 표시해 주셨지만 그래프가 가장 시각적으로 보기 좋아 보여서 이 그래프로 이해한 내용을 설명을 해보겠습니다.
일반 테스트 방식부터 경험 테스트 방식을 적용했을 때, 여러 모델을 적용했을 때 결함을 찾는 시간에 대한 그래프를 설명해 주셨습니다. 일반적인 테스트 방식을 수행하면 테스트를 수행하는 양도 많고 결함도 언제 많이 나올지 모르는 형식으로 그래프가 그려졌으며, 경험 기반은 결함이 집중된 항목을 조금 더 빨리 찾지만 머신러닝을 활용한 방식부터는 확연하게 차이나는 그래프를 볼 수 있었습니다.
히스토리 자료로 머신러닝을 학습하고, 우선순위를 정한 테스트를 수행한다면 테스트 시작과 동시에 결함이 집중된 부분들을 조기에 발견하여 Shift-Left 효과를 가져올 수 있다고 하셨습니다. 그만큼 머신러닝을 통한 우선순위 선정에 중요성을 강조하셨습니다.
이렇게 된다면 조기에 발견한 결함은 빠르게 처리할 수 있고, 매우 낮은 결함 발생도의 테스트는 수행하지 않아도 될 것 같네요.
결론으로는 리그레션 테스트를 수행할 때 머신러닝의 결과로 우선순위가 측정된 테스트 케이스 중 결함 발견 확률이 높은 항목을 우선적으로 테스트 수행한다면 결함에 대한 빠른 피드백을 전달할 수 있어서 효율적인 측면에서 많은 도움이 된다고 하셨습니다.
우선순위를 측정하기 위한 계산법이나 이론이나 계산식을 검증하기 위한 연구를 보면서 신세계를 경험한 느낌이었습니다. 우리가 편하게 쓰고 있는 공식이나 계산식, 혹은 전략도 많은 연구를 통해서 발견하고 증명하는구나라는 것을 느꼈습니다. 그리고 제가 했었던 위험도 기반의 테스트 케이스 우선순위 선정 방식은 정말 단순하게 생각했던 것이었구나라고 생각이 들었습니다 😅
업무의 효율성을 위한 노력이 정말 대단하신 것 같습니다 👍👍
이상 이번 컨퍼런스의 후기 작성을 마치도록 하겠습니다 😊
'IT Conference > QA Conference (2024, 3rd)' 카테고리의 다른 글
7. 결제 단말기 E2E 자동화 도입 및 운영 사례 (0) | 2024.07.09 |
---|---|
6. 쏘카 QA 프로세스로 AI챗봇 고객센터 시스템(AICC) 품질 높이기 (0) | 2024.07.08 |
5. 게임에서 데이터를 기반으로 QA하는 방법 (0) | 2024.07.08 |
4. QA 엔지니어와 협업하여 생성형 AI 프로덕트의 완성도 높이기 (0) | 2024.07.07 |
3. 키워드 기반 자동화 테스트 with 로봇 프레임워크 (0) | 2024.07.07 |