테스트 자동화

배경
소프트웨어 테스트는 소프트웨어 개발에 소요되는 총 시간과 비용의 절반 이상을 차지할 정도로 많은 자원이 투입되는 프로세스이다. 따라서 테스트의 정확성을 유지하면서 시간과 비용을 줄일 수 있는 자동화 도구가 매우 중요하게 되었다.

테스트 자동화
테스트 자동화란, 사람이 하던 반복적 테스트 절차를 자동화 도구를 활용하여 테스트하는 것이다.
준비, 구현, 수행, 분석 등을 스크립트 형태로 구현함으로써 테스트 시간과 인력 투입의 부담을 최소화할 수 있고, 휴먼에러를 줄일 수 있다.
휴먼에러란?
인간의 실수로 발생하는 에러를 의미한다

테스트 도구의 장점
테스트 데이터의 재입력과 재구성 같은 반복 작업의 자동화를 통하여 테스트 인력과 시간을 최소화 한다.
향상된 요구사항 정의, 성능 및 스트레스 테스트, 품질 측정을 최적화 한다.
빌드 확인, 회귀, 다중 플랫폼 호환성, 소프트웨어 구성, 기본 테스트 등의 향상된 테스트 품질을 보장한다.

테스트 도구의 단점
도입 후 테스트 도구 전문가 양성 또는 고용이 필요하다.
초기에 프로세스 적용에 대한 시간, 비용, 노력에 대한 추가 투자가 필요하다.
비공개 상용 소프트웨어의 경우, 고가이며 인력과 교육에 대한 유지관리 비용이 높다.

테스트 자동화 수행시 고려사항
테스트 절차를 고려하여 재사용 및 측정이 불가능한 테스트 프로그램은 제외해야 한다.
설계 기준을 고려하여 반복적인 빌드에서 스크립트 재사용성이 가능해야 한다.
도구의 한계성으로 모든 수동 테스트 과정을 자동화 할 수 있는 도구는 없으므로, 용도에 맞는 적절한 도구 사용이 필요하다.
도구 환경 설정과 도구 습득 기간을 고려하여 프로젝트의 지연을 방지해야 한다.
테스트 엔지니어의 늦은 투입은 프로젝트의 이해 부족으로 불완전한 테스트를 초래할 수 있기 때문에, 프로젝트 초기에 적절한 투입 시기와 계획을 수립해야 한다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다