ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 테스트 전략(Strategy) & 테스트 계획(Plan)
    테스팅 관련/개념 2020. 10. 5. 00:44

     

     

    소프트웨어 테스트 전략
    테스트의 일부로서 수행할 단계들을 정의해놓은 로드맵 
    → 이 단계들이 언제 계획, 수행되야하는지? 얼마나 많은 노력, 시간, 리소스들이 필요한지?

    = <테스트 접근방식 또는 아키텍처> <계획 단계의 또 다른 아티팩트>

    조직 내에서 수행하는 하나 이상의 프로젝트를 테스트하기 위해 포괄적인 요구사항을 나열한 문서
    테스팅을 어떤 방식으로 수행해야 하는지? 그 것이 어떻게 테스트 정책 연계되는지?

     

     

    테스트 전략 목적 ☞ 테스트 프로젝트의 주요 과제, 어려움들을 명확하게 하기위해

    프로세스에서 사용되는 정확한 시기에 따라 테스트 전략은 예방(Preventive) 또는 사후(Reactive)로 분류

     

     

    테스트 전략의 7가지 유형

    전략 특성 주된 포커스 영역 (Primary Focus Area) 이용 사례 (Use Case)
    분석적(Analytical) 예방 테스트 계획, 생성, 평가의 기준을 만들기위해 '리스크'와 '요구사항' 분석에 집중
    사전 분석 포함, 테스트 실행 '전' 문제 식별 - 초기에 저렴한 비용으로 결함 제거
    잘 정의된 제품을 스크래치로부터 만들 때, 일반적으로 프로젝트의 요구사항 및 설계 단계에서 공식 또는 비공식적 분석 기술 사용 (ex. 리스크 기반 테스팅 - 리스크 수준에 따라 테스트 설계, 우선순위 결정) 
    모델 기반(Model-Based) 예방 시스템은 사전 정의된 모델에 따라 테스트되며, 유효한 시스템으로 고려되기 위해서는 모델에 완전히 부합해야 함
    예. 비즈니스 프로세스 모델, 상태 모델, 신뢰서 성장 모델
    이미 존재하는 제품을 기준으로 두었을 때 또는 구형 시스템을 향상시킬 때 (ex. 전자 상거래 서버의 로드 및 응답을 위한 수학적 모델 구축 - 해당 모델을 기반으로 테스트)
    방법론적(Methodical) 예방 미리 계획된 체계적인 접근법(approach)을 커스텀하여 고수한다
    예. 소프트웨어 품질에 대한 산업 표준을 따라 체계적으로 테스트 설계, 구현 및 실행
    사전 정의한 테스트 셋이나 테스트 컨디션을 체계적으로 사용하는데 의존 (ex. 보편적이고 발생가능성이 높은 장애 분류, 주요 품질 특성 목록, 모바일 App이나 웹페이지에 대한 전사 룩앤필 표준)
    테스트 참여 초기 또는 후기 시점
    강력하게 규제되는 업계에서 필요조건에 부합하는 제품을 만들 때 자주 사용
    프로세스/표준 준수(Standard-Compliant) 예방 표준화된 전략에 의존 (약간 변경 또는 변경 X)
    예. IEEE 829 표준, 익스트림 프로그래밍, 애자일 방법론
    테스트 초기 또는 후기 참여 지점
    경험 또는 시간이 부족한 팀이 커스텀 테스트 처리 방법(approach)을 만들 때
    반응적 사후 사전 계획에 따라 실행하는 테스트 전략 X
    테스트 실행 중 발생하는 이벤트에 따라 반응적으로 수행
    가능한 한 많은 오류와 결점을 찾는 것을 우선으로 둠

    예. 공격 기반 접근법(attack-based approach), 탐색적 접근법(exploratory approach)
    테스트 실행 기간에 중점 - 예상하기 어려운 결함 및 결함 클러스터 위치 파악 가능
    최소한의 시간과 노력으로 문제를 찾고 고쳐야할 때
    전문가 조언 / 자문 사후 사용자/개발자가 테스트 영역을 정의 또는 테스트 수행에 의존
    일반적으로 테스트 가이드/수행을 <비테스터 그룹>에 의존하며, 초기 테스트 가치에 대한 인식 부족으로 인해 후반 단계 강조
    추가적으로 전문가의 가이드(guidance)를 필요로 하는 특정 도메인(domain-specific) 제품에 적용
    리그레션 기피 (Regression-averse) 사후 기존 기능에 대한 리그레션 테스트 기피 목표
    릴리즈 전/후에 수행되는 모든 기능성 테스트 자동화를 우선순위로 지정 (변경 사항이 있을 때마다 모든 테스트 다시 실행)

    회귀 결함 감지 절차(자동화)가 존재
    기능 출시 전에 자동화 기능테스트 (+ 초기 테스트 필요)
    이미 출시된 기능 테스트에 거의 전적으로 중점을 두기도 함
    실행되고 있는, 잘 구축된 제품에서 최적화

    테스트 전략

    테스트 작업을 수행하기 위한 전반적인 접근방식, 표준을 정의하는 상위 수준의 문서

    프로젝트 '전체'에 적용

     


    테스트 계획

    테스트 내용, 방법, 시기 , 대상 등을 자세히 설명하는 실질적인 접근법

    모든 테스트 단계를 개별적으로 다룸, 자주 업데이트

    테스팅 활동 조정에 사용, 달성할 테스트 목표와 달성하기 위한 방법과 일정을 설명하는 문서

     

    <테스트 계획에 영향을 주는 요소 = 테스트 정책 / 전략 / 범위 / 목적 / 용이성, 개발 수명주기 및 방법, 리스크, 제약, 심각도, 자원의 가용성>


    테스트 계획에 포함해야할 정보

    • 테스트 계획 식별자(identifier)
    • 소개
    • 참고 문헌 (관련 문서 목록)
    • 테스트 항목 (제품 및 해당 버전)
    • 테스트 할 기능
    • 테스트하지 않을 기능
    • 항목 통과 또는 실패 기준
    • 테스트 접근 방식 (테스트 수준, 유형, 기술)
    • 정지 기준(suspension criteria)
    • 결과물 (테스트 계획, 테스트 케이스, 테스트 스크립트, 결함 / 향상 로그, 테스트 보고서)
    • 테스트 환경 (하드웨어, 소프트웨어, 툴)
    • 견적
    • 스케쥴
    • 인력 및 교육 요구(staffing and training needs)
    • 책임
    • 리스크
    • 가정 및 종속성(assumptions and dependencies)
    • 승인

    테스트 계획에 포함되는 활동

    • 테스팅의 범위 정의, 목적 & 리스크 결정
    • 전반적인 테스팅 접근법 정의
    • 테스트 활동을 소프트웨어 수명주기 활동에 통합하고 조정
    • 테스트 모니터링 & 제어에 사용할 메트릭 선정
    • 테스트 대상 다양한 테스트 활동에 필요한 인력과 자원, 테스트 활동 수행 방법 결정
    • 테스트 [분석 - 설계 - 구현 - 실행 - 평가] 활동의 일정 조정 (특정 날짜나 반복주기 단위로 편성)
    • 테스트 활동 예산 결정
    • 테스트 문서의 구조와, 상세화 정도 정의

      테스트 계획 테스트 전략
    정의 테스트 노력에 대한 접근 방식, 목적, 범위 및 강도를 정의하는 프로젝트 문서
    테스트 단계 디자인, 필요한 리소스와 노력에 대한 계획을 정의하는 문서화된 아티팩트
    테스트 디자인을 설명하고, 테스트 수행 방법을 결정하는 설명들의 집합 또는 프로토콜
    테스트 작업을 수행하기 위한 전반적인 접근방식, 표준을 정의하는 상위수준 문서
    필수 목표 테스트 방법, 시기 및 대상? 추구하는 접근 방식? 확인할 모듈들?
    구성 요소 테스트 계획 ID, 테스트 데이터 항목, 테스트할 기능, 테스트 테크닉, 테스트 작업, 테스트 환경, 기능 통과/실패 기준, 테스트 결과물, 책임 및 일정 등 목표 및 범위, 문서 형식, 테스트 프로세스, 리스크 분석, 팀 보고 구조/역할/책임, 비용, 기한, 고객 커뮤니케이션 전략 등
    변경 가능, 동적 문서 불가능, 정적 문서
    의존성 독립적 발생 일반적으로, 테스트 계획의 일부로 취급
    무엇 세부 사항에 대해 설명 (소프트웨어 요구사항 & 스펙) 일반적인 방법론에 대해 설명 (테스트 작업 수행)
    수행자 테스트 관리자 또는 매니저 (테스트 계획 생성 및 디자인 담당자) 작업 관리자, 프로젝트 관리자, 비지니스 분석가
    레벨 프로젝트 레벨에서 활용 연관 레벨(association level)에서 활용 (조직 레벨, 여러 프로젝트에서 사용 가능)
    기반 소프트웨어 요구사항 명세(SRS) & 유스 케이스 비지니스 요구사항 명세(BRS)

     

    '테스팅 관련 > 개념' 카테고리의 다른 글

    테스트 방법  (0) 2020.10.09
    테스트 레벨  (0) 2020.10.09
    소프트웨어 테스트 수명 주기(STLC)  (0) 2020.10.04
    SW 테스트 7가지 원리  (0) 2020.09.29
    테스트 더블: 출력값  (0) 2020.08.09
Designed by Tistory.