Tech

테스트 자동화를 위한 9가지 고려사항

소프트웨어 테스팅을 계획하고 수행하다 보면 어떠한 테스팅을 자동화 할 수 있을지 고민하게 됩니다. 이와 관련해서 어떤 블로거가 “어떠한 테스트를 자동화 할 수 있는가?” 라는 제목으로 올린 글이 있어서 해당 글을 의역하고 제 나름대로의 해석을 달아보았습니다.

automated-300x283

  1. 오직 기계(컴퓨터)만이 가능한 테스트인가?
    일반적으로 큰 데이터셋을 다뤄야 하는 테스트는 사람보다 기계가 훨씬 효율적입니다. 예를 들어 복잡한 수학, 수 백만번의 비교 연산, 부하/성능 테스트, 정밀도 계산 같은 영역이 이에 해당됩니다.
  2. 중요한 테스트인가?
    각각의 빌드, 배포, 릴리즈 전에 수행해야 할 필요가 있는 테스트인가요? 체크해야 할 리스트는 시간이 지나면서 늘어납니다. 자동화하지 않는 비용은 새로운 정보를 배우기 위한 테스팅에 시간을 덜 쓰게 만듭니다.
  3. 프리젠테이션 레이어 밑에서 자동화할 수 있는가?
    API 레벨에서의 자동화 테스트는 UI 레이어에서 수행하는 것보다 리소스를 훨씬 덜 소모합니다. 이런 종류의 자동화 테스트는 훨씬 더 빨리 피드백을 받을 수 있으며 훨씬 더 테스트를 잘 수행할 수 있습니다.
  4. 회기 테스트가 빈번하게 수행되는가?
    회기 테스트야 말로 자동화 테스트의 주된 목적입니다. 보통 회기 테스트는 지겹고, 단순하고, 반복적이기 때문이죠.
  5. 중대한 결함이 발생할 위험이 있는 항목인가?
    중대한 결함이 발생할 수 있는 모듈일수록 좀 더 많은 테스트를 필요로 합니다.
  6. 자동화테스트하기 적절한 항목인가?
    사용성이나 카리스마 같은 것은 자동화 테스트 할 수 없죠.
  7. ?개발팀에서 요청한 사항인가?
    개발팀에서 어떠한 항목을 자동화 할 지 상의해야 합니다. 개발팀에서 반드시 자동화해야한다고 생각하는 항목에 좀 더 가중치를 두십시오.
  8. 기존의 프레임워크와 패턴을 사용해서 자동화할 수 있는가?
    JUnit 같이 프레임워크에서 자동화 테스트를 지원한다면 훨씬 더 안정적이고 정확한 자동화테스트가 가능합니다.
  9. 결과가 단순하게 확인할 수 있는 항목인가?
    단순 확인 작업(Checks)은 사람에게는 그저 지겨운 일일 것입니다.

 

이미지 출처 😕http://www.precisetestingsolution.com/functional-automation-testing.php

 

Leave a Reply

Leave a Reply

Your email address will not be published. Required fields are marked *