Core Concepts
업데이트된 앱 기능을 효율적으로 테스트하기 위해 이전 버전의 앱 모델을 지속적으로 적응시키는 접근법
Abstract
이 논문은 업데이트된 앱을 효율적으로 테스트하는 CALM(Continuous Adaptation of Learned Models) 기법을 제안한다. CALM은 이전 버전의 앱 모델을 재사용하고 동적/정적 분석을 통해 모델을 지속적으로 적응시킴으로써 업데이트된 기능을 효과적으로 테스트한다.
주요 내용은 다음과 같다:
이전 버전 앱 모델과 새 버전 앱 모델의 차이를 분석하여 모델을 업데이트한다.
비결정적인 추상 상태 전이를 처리하기 위해 레이아웃 기반 추상 전이를 도입한다.
상태 폭발을 방지하기 위해 확률적 액션 시퀀스를 사용한다.
온라인 및 오프라인 모델 개선을 통해 모델을 지속적으로 최적화한다.
업데이트된 메서드를 실행한 후의 화면만 엔지니어에게 제공하여 테스트 오라클 비용을 최소화한다.
실험 결과, CALM은 동일한 화면 수 제한 하에서 기존 접근법보다 업데이트된 메서드와 명령문을 더 많이 실행할 수 있었다. 특히 작은 규모의 업데이트에서 이 차이가 더 크게 나타났다.
Stats
95%의 앱 장애는 시각적 검사가 필요하다.
앱 업데이트의 95%는 작은 규모의 변경사항만 포함한다.
Quotes
"자동화된 앱 테스팅 기술은 전체 앱을 검증하므로 리소스를 낭비한다."
"기존 접근법은 충돌이나 데이터 손실만 감지하지만, 기능적 결함의 95%는 시각적 검사가 필요하다."