테스트 관련 서적2018. 9. 6. 00:00


소프트웨어 테스트 실무 가이드
국내도서
저자 : NIPA(정보통신산업진흥원),STA테스팅컨설팅
출판 : STA테스팅컨설팅 2012.09.14
상세보기



테스팅이란 프로그램 또는 시스템이 사용자가 요구하는 기능이나 성능 또는 신뢰성 등으로 만족하는지 확인하기 위해 결함을 발견하는 활동.


소프트웨어가 정상적으로 변경되었는지 확인한다. 

- 변경 과정에서 의도치 않게 유입된 결함이 있는지 확인한다.

- 결함 수정 또는 기능 변경 후 주로 수행한다.

   확인/리그레션 테스팅


리스크와 리스크에 대한 대응을 모니터링 한다.

리스크 추적 p102


1. 주요 키워드 



 테스트 : 테스팅이란 프로그램 또는 시스템이 사용자가 요구하는 기능이나 성능 또는 신뢰성 등을 만족하는지 확인하기 위해 결함을 발견하는 활동이다. 


◎ V 모델 : V 모델은 개발 요구사항 정의, 시스템 분석 및 설계, 상세 설계, 구현, 테스트 등으로 이루어진 개발 수명 주기에서 각 개발 단계에 대응하는 테스트 단계를 정의한 이상적인 모델이다. 




◎ 총괄 테스트 계획서 : 총괄 테스트 계획서는 특정 테스트 단계의 테스트 계획 문서가 아니라 모든 테스트 단계를 총괄적으로 관리하기 위해 작성한 문서다. 




◎ 리스크 기반 테스팅 : 리스크 기반 테스팅은 개발 프로젝트 초기부터 리스크 수준을 낮추고 이해관계자에게 리스크 상태 정보를 제공하는 테스트 접근법으로 테스트 계획 수립 시 리스크 분석과 그 결과를 바탕으로 한 테스트 전략 수립이 핵심이다. 


◎ 테스트 계획 : 테스트 계획은 테스트 수명주기 전반에 관여하는 지속적인 작업이다. 테스트를 수행하면서 프로젝트 환경이 변하고 고객의 새로운 요구사항에 따라 상황은 바뀌기 마련이다. 테스트 계획은 프로젝트 자체 리스크는 물론 이런 환경 변화에 따른 리스크를 다룬다. 또 테스트 계획은 길제 수행 결과가 계획에 어긋나면 지속적으로 계획을 조정하고 테스트 수행을 제어하는 근거가 된다.




02. 요약 정리 


◎ 테스팅이란 프로그램 또는 시스템이 사용자가 요구하는 기능이나 성능 또는 신뢰성 등을 만족하는지 확인하기 위해 결함을 발견하는 활동을 말한다. 이 정의에 따르면 테스트는 프로그램 또는 시스템 개발 후 사용자 요구와 일치하는지를 확인해 결함을 발견하는 소극적인 활동이다. 


◎ 적극적인 테스트 활동

- 테스트는 결함 발견을 주로 하지만 결함 예방 활동을 포함함

- 프로젝트 초기에 개발과 함께 테스트를 계획하고 시작해 더욱 완성도 높은 품질을 확보함

- 결함 정보 및 정량적인 제품 리스크 정보를 제공함


◎ 비즈니스 애플리케이션과 여러 장치 등에서 소프트웨어 비중은 점차 증가하고 있다. 소프트웨어 오작동으로 금전적인 손실은 물론 시간 낭비나 사업적 이미지 손상, 심지어 상해나 사망에까지도 이를 수 있다. 이에 소프트웨어 품질이 곧 서비스 또는 제품의 품질이라는 인식 아래 소프트웨어 결함을 사전에 예방하고 결함을 발견하는 테스트 활동이 더욱 중요하게 되었다. 테스트는 소프트웨어 결함을 조기에 발견하고 제거해 장애를 최소화할 수 있는 가장 기본적이고 효과적인 방법이다. 


◎ 모든 테스트를 '테스트'라는 한 단어로 표현하기에는 테스트 종류가 너무 많다. 테스트는 목적과 시기, 테스트 대상, 테스트 방법 등에 따라 다양하게 구분할 수 있다. 가장 쉽게 테스트를 구분하는 기준은 ""프로그램 또는 시스템을 직접 구동 시키는가?""이며 이에 따라 동적 테스트와 정적 테스트로 구분한다. 


- 동적 테스트 : 프로그램이나 시스템을 직접 실행하면서 결함을 찾는 활동

- 정적 테스트 : 구현된 프로그램이나 시스템을 직접 실행하지 않으며 프로그램 소스나 산출물(문서)에서 결함을 찾는 활동 


◎ 리스크는 테스팅을 시작하는 시점을 결정하고 더 강력하고 깊이 있게 테스트 할 부분을 결정하기 위한 목적으로 사용되는 반면, 테스트는 의도하지 않은 결과를 초래하는 리스크를 줄이거나 의도하지 않은 결과로 야기되는 영향과 손실을 줄이기 위한 목적으로 사용된다. 테스트는 새로운 리스크를 식별하도록 지원하고 어떤 리스크를 감소시킬지 결정하는데 도움을 주며 실질적으로 리스크를 감소시킨다. 


◎ 리스크 기반 테스팅은 개발 프로젝트 초기부터 리스크 수준을 낮추고 이해관계자에게 리스크 상태 정보를 제공하는 테스트 접근법으로 테스트 계획 수립 시 리스크 분석과 그 결과를 바탕으로 한 테스트 전략 수입이 핵심이다. 결과적으로 분석된 리스크 정보에 따라 리소스의 활용도를 극대화하고 효과적으로 테스팅 목표를 달성할 수 있게 한다. 


◎ 리스크 분석은 리스크 분석 대상인 리스크 아이템에 대해 장애 발생 가능성과 장애로 인한 비즈니스 영향도를 분석해 리스크 아이템 간의 테스트 우선순위를 결정하는 것이다. 

결국 리스크 분석은 테스트 대상인 각 리스크 아이템에 대해 과거 프로젝트나 경험을 토대로 선정된 리스크 요소별로 스코어링함으로써 리스크 영역을 결정하는 과정이다. 리스크 분석의 최종 결과로 리스크 매트릭스를 생성할 수 있다. 즉 리스크 테이블의 각 리스크 아이템에 대해 장애 발생 가능성 리스크 점수 합계와 비즈니스 영향도 리스크 점수 합계가 리스크 매트릭스 해당 좌표에 맵핑된다. 


◎ 테스트 계획은 테스트 수명주기 전반에 관여하는 지속적인 작업이다. 테스트를 수행하면서 프로젝트 환경이 변하고 고객의 새로운 요구사항에 따라 상황은 바뀌기 마련이다. 테스트 계획은 프로젝트 자체 리스크는 물론 이런 환경 변화에 따른 리스크를 다룬다. 또 테스트 계획은 실제 수행 결과가 계획에 어긋나면 지속적으로 계획을 조정하고 테스트 수행을 제어하는 근거가 된다. 테스트 대상의 품질 상태를 파악하면서 테스트 목적과 목표 달성을 돕는 모니터링 활동의 근거가 된다. 


◎ 비공식 리뷰는 역할이 명확하지 않아도 된다. 리뷰 계획에는 두 가지가 있다. 프로젝트 일정에 리뷰 일정 등을 할당하는 '프로젝트 전체 리뷰 계획'과 리뷰 수행 별 '세부 리뷰 계획'이다. 


"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
Posted by 프리스케이터