테스트 용례 우선 순위 빠른 구분

3891 단어
공사 기간이 제한된 상황에서 어떻게 테스트 기간과 모든 테스트 용례 집행 시간 간의 모순을 해결합니까?
어떤 디자인이야말로 테스트 용례라고 할 수 있습니까
출처: IEEE Standard 610(1990):
  • A set of test inputs, execution conditions, and expected results developed for a particular objective, such as to exercise a particular program path or to verify compliance with a specific requirement.
  •  
  • (IEEE Std 829-1983) Documentation specifying inputs, predicted results, and a set of execution conditions for a test item.

  • 그러나 매번 교체될 때마다 모든 테스트 용례를 실행하는 것은 어려운 일이 되는 경우가 많다.
    테스트 용례 우선순위의 장점을 구분하다
    소프트웨어 시스템이 완벽한 것은 없다. 모든 시스템에 BUGS가 있다.그러나 매번 교체될 때마다 하나의 기대가 있다. 테스트 엔지니어는 이번 교체된 프로젝트 관계자의 기대를 알고 대응하는 목표와 위험을 찾아야 한다.
    Sue Bartlett는'How to Find the Level of Quality Your Sponsor Wants'라는 글에서 위에서 말한 목표와 위험을 어떻게 얻는지 설명한다.글은 상세한 계획, 설계 또는 코딩 전에 품질 목표를 명확히 하면 기대한 품질 목표를 만족시키는 납품을 더욱 잘 보장할 수 있다고 말한다.
    Ross Collard는 테스트 용례의 10%에서 15%가 테스트 시스템의 75%에서 90%인 BUGS를 발견했다고 지적했다.
    이것도 28원칙이다. 28원칙은 소프트웨어 테스트에 많은 영향을 주었다.
    우선 순위를 어떻게 나눌까요?
    나는 너도 틀림없이 다음과 같은 장면을 만났을 것이라고 믿는다. 수백 수천 개의 테스트 용례에 직면하여 가장 작고 최종적으로 필요한, 우선순위가 가장 높은 테스트 용례집을 고르려고 할 때 손을 댈 수 없다.테스트 용례에 대한 우선순위 정의는 쉽지 않을 뿐만 아니라, 우선순위의 정의는 매번 교체되거나 교체된 후에 수정될 수 있다.따라서 테스트 용례의 우선순위는 동적이다.
    1. 구축 검증 테스트(BVT)
    BVT도 연기 테스트 용례집이 됐다.매번 테스트가 시작될 때마다 allin이 투입되기 전에 실행이 확인되기를 가장 원하는 테스트 용례집입니다.
    연기 테스트 용례집의 규칙: 이 용례가 정확하게 실행되지 않으면 다른 테스트 용례는 실행할 수 없습니다.이 조건을 충족시키는 테스트 용례가 있다면 연기 테스트 용례집에 포함시켜야 한다.
    2. 높은 우선순위
    높은 우선순위 테스트 용례 집합은 실행 빈도와 업무 트리의 뿌리 지점의 조건에 따라 선택됩니다.
    높은 우선순위 테스트 용례의 규칙: BVT에 가장 자주 사용하는 테스트 용례를 추가하여 중요하거나 주요 절차의 기능이 안정적이고 기능이 정확하다는 것을 검증한다.테스트 용례에는 정확한 데이터 흐름도 포함되어 있고 잘못된 데이터 흐름도 포함되어 있다.
    3. 중간 우선 순위
    우선 테스트 용례 집합은 실행 빈도와 업무 트리의 주요 지점의 조건에 따라 선택됩니다.
    중 우선순위 테스트 용례의 규칙: 새로운 교체 영향 영역 (새로운 기능 영역) 이나 기능이 더욱 상세합니다.테스트 용례는 대부분의 기능을 포함하는데 그 중에서 정확한 데이터 흐름과 잘못된 데이터 흐름을 제외하고 일부 설정 방면의 테스트도 있어야 한다.
    4. 낮은 우선 순위
    낮은 우선 테스트 용례 집합은 실행 빈도와 업무 트리의 뿌리 지점 조건에 따라 선택됩니다.
    낮은 우선순위 테스트 용례의 규칙: 이것은 가장 빈번하지 않은 테스트 용례가 실행되는 부분입니다.그러나 낮다는 것은 실행하지 않고 테스트하지 않는다는 것이 아니다.다만 교체되는 과정에서 집합되어 집행 빈도가 비교적 낮아 자주 집행되지 않는다.예를 들어 오류 메시지, 가용성, 압력, 성능 테스트 등이다.
    테스트 용례를 구분하기 시작합니다
    1. 거친 구분, 임의의 표시
    모든 기능의 정확성 검증(happy path)의 테스트 용례를 높은 우선순위로 정의;
    모든 오류나 경계값 검증이 있는 테스트 용례를 중간 우선순위로 정의합니다.
    다른 것을 낮은 우선순위로 정의합니다. (이 안에는 주로 비기능 테스트 용례가 있습니다.)
    2. Review 각 테스트 용례, 업그레이드 또는 강등
    모든 테스트 용례와 우선순위 표시에 대한 재리뷰를 통해 테스트의 중요성과 실행 빈도 등을 아래 순서에 따라 강등 처리하였다.
    기능 검증 테스트를 두 그룹의 중요성과 비중요으로 나누고'그다지 중요하지 않다'는 기능 검증 테스트를 중간 우선순위로 강등한다.
    오류와 경계 테스트를 두 조로 나누어 중요성과 비중요성으로 나눈다.중요 오류와 경계 테스트를 높은 우선순위로 확대합니다.
    비기능성 테스트를 두 조로 나누어 중요성과 비중요성으로 나누다.'중요'비기능성 테스트를 중등 우선순위로 확대하다.
    각 그룹에 대해 높음, 낮음 우선순위 테스트 용례를 반복적으로 구분하고 업그레이드/강등 과정을 반복하여 우선순위에 도달할 때까지 이동하는 테스트 용례의 수량이 0이 되고 종료됩니다.
    3. BVT 확인
    높은 우선순위 테스트를 치명과 심각으로 두 그룹으로 나눈다(버그가 발생하면 치명적인 버그가 발생하면 이 테스트 용례도 치명적으로 설정된다.치명적인 테스트 용례를 BVT 우선순위로 합친다.
    상대적으로 통계된 우선순위 분포는 BVT 10-15%, 높이 20-30%, 중간 40-60%와 낮은 10-15%이다.
    참고 자료
    http://thinktesting.com/articles/rapid-test-case-prioritization/http://thinktesting.com/articles/regression-testing-strategic-and-risk-driven-can-you-afford-not-to/http://thinktesting.com/articles/write-a-test-strategy-what-choices-do-i-have/http://thinktesting.com/articles/risk-mitigation-and-scarcity/
     
    테스트에 관심을 가지다

    좋은 웹페이지 즐겨찾기