[논문 리뷰] What we know about software testability: a survey.
이 논문은 소프트웨어 테스트 가능성과 관련된 208건의 연구에 대한 체계적 문헌 맵핑을 제시하며, 특히 가시성과 제어 가능성과 같은 요소들이 테스트 가능성에 영향을 미치는 핵심 지표, 기법, 요인들을 규명한다. 현재의 테스트 가능성 측정 및 향상 방법을 종합하여 실무자와 연구자들이 소프트웨어 프로젝트에서 테스트의 효율성과 효과성을 높이기 위한 실천 가능한 통찰을 제공한다.
Software testability is the degree to which a software system or a unit under test supports its own testing. To predict and improve software testability, a large number of techniques and metrics have been proposed by both practitioners and researchers in the last several decades. Reviewing and getting an overview of the entire state-of-the-art and -practice in this area is often challenging for a practitioner or a new researcher. Our objective is to summarize the state-of-the-art and -practice in this area and to benefit the readers (both practitioners and researchers) in preparing, measuring and improving software testability. To address the above need, we conducted a survey in the form of a systematic literature mapping (classification) in this area. After compiling an initial pool of 303 papers, a systematic voting was conducted among the authors, and our final pool included 208 papers. The area of software testability has been comprehensively studied by researchers and practitioners. Approaches for measurement of testability and improvement of testability are the most-frequently addressed in the papers. The two most often mentioned factors affecting testability are observability and controllability. Common ways to improve testability are testability transformation, improving observability, adding assertions, and improving controllability. The results could help practitioners measure and improve software testability in their projects. To assess potential benefits of this review paper, we shared its draft version with two of our industrial collaborators. They mentioned that they found the review useful and beneficial in their testing activities. Our results can also benefit researchers in observing the trends in this area and identify the topics which need further investigations.
연구 동기 및 목표
- 연구자와 실무자 모두가 소프트웨어 테스트 가능성 분야의 최신 기술적 수준과 실무적 수준을 종합적으로 이해할 수 있도록 제공하기 위해.
- 소프트웨어 시스템 내에서 테스트 가능성 측정 및 향상에 대해 가장 자주 다뤄진 접근 방식을 규명하기 위해.
- empirical 문헌 기반으로 테스트 가능성에 영향을 미치는 핵심 요인들, 예를 들어 가시성과 제어 가능성 등을 부각하기 위해.
- 실제 소프트웨어 프로젝트에서 테스트 가능성 측정 및 향상에 실무자들이 증거 기반 기법을 활용할 수 있도록 지원하기 위해.
- 미래 연구를 위한 방향을 제시하기 위해 연구자들이 연구의 격차와 새로운 추세를 식별할 수 있도록 안내하기 위해.
제안 방법
- 소프트웨어 테스트 가능성에 관한 연구를 분류하고 분석하기 위해 체계적 문헌 맵핑(SLM)을 수행하였다.
- 관련 학술 데이터베이스 및 출처에서 최초 303篇의 논문을 확보하였다.
- 저자들 간의 체계적 투표 절차를 통해 208건의 고품질이며 관련성이 높은 논문을 선별하였다.
- 테스트 가능성 측정, 향상 기법, 영향 요인 등의 주제별로 논문을 분류하였다.
- 일반적으로 사용되는 지표, 변환 기법, 핵심 테스트 가능성 요인들에 대한 통합된 분석 결과를 도출하였다.
- 실무자 협력자를 통해 검증하여 실제 적용 가능성에 대한 유용성을 입증하였다.
실험 결과
연구 질문
- RQ1문헌에서 소프트웨어 테스트 가능성 측정에 대해 가장 자주 다뤄진 접근 방식은 무엇인가?
- RQ2소프트웨어 테스트 가능성에 가장 크게 영향을 미치는 요인들은 무엇이며, 기존 연구에서는 어떻게 다루고 있는가?
- RQ3실제 현장에서 소프트웨어 테스트 가능성 향상을 위해 가장 흔히 사용되는 기법은 무엇인가?
- RQ4현재의 테스트 가능성 연구 트렌드는 산업 현장의 요구와 실무 방식과 얼마나 일치하는가?
- RQ5소프트웨어 테스트 가능성 분야에서 향후 연구를 위한 격차와 기회는 무엇인가?
주요 결과
- 테스트 가능성에 영향을 미치는 요인 중 가장 자주 언급된 두 가지 요소는 가시성과 제어 가능성이다.
- 테스트 가능성 전환, 가시성 향상, 어설션 추가, 제어 가능성 향상이 가장 흔한 향상 전략이다.
- 테스트 가능성 측정과 테스트 가능성 향상이 문헌에서 가장 자주 다뤄지는 주제이다.
- 산업 협력자들로부터 리뷰의 유용성과 이점이 확인되어 실무 적용 가능성에 강력한 근거를 확보하였다.
- 결과는 실무자들이 테스트 가능성 기법을 적용할 수 있도록 통합된 기반을 제공하며, 연구자들이 미개척된 연구 방향을 식별하는 데에도 기여한다.
- 체계적 맵핑 과정을 통해 208건의 관련 논문을 성공적으로 식별하고 분류하여 분야에 대한 종합적이고 신뢰할 수 있는 개괄도 확보하였다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.