블랙박스 테스트2018. 12. 7. 00:00

소프트웨어 테스트 견적이란 무엇입니까?

테스트 견적은 작업 완료에 걸리는  시간 을 대략적으로 나타내는 관리 활동입니다 테스트를위한 노력을 추정하는 것은 중 하나입니다 주요 하고 중요한 시험 관리 작업.

왜 시험 견적입니까?

잠재적 인 시험 계약에 대해 논의 할 때 고객이 기대할 수있는 두 가지 질문이 있습니다.

소규모 프로젝트의 경우 이러한 질문에 비교적 쉽게 대답 할 수 있습니다. 그러나 Guru99 Bank 웹 사이트 테스트 와 같은 대규모 프로젝트의 경우 이러한 질문에 답하기 위해 열심히 노력해야합니다.

무엇을 추정 할 것인가?

 

  • 자원 :  프로젝트 작업 을 수행 하려면 자원이 필요 합니다. 그들은 사람, 장비, 시설, 자금 또는 프로젝트 활동 완료에 필요한 정의가 가능한 다른 어떤 것일 수 있습니다.
  • 시간 : 프로젝트에서 시간은 가장 중요한 자원입니다. 모든 프로젝트에는 납기일이 있습니다.
  • 인간 능력 : 인간 능력이란 팀 구성원 의 지식 과 경험 을 의미합니다 그들은 귀하의 추정에 영향을 미칩니다. 예를 들어 테스트 기술이 부족한 팀은 높은 테스트 기술을 보유한 팀보다 프로젝트를 완료하는 데 더 많은 시간이 걸립니다.
  • 비용 : 비용은 프로젝트 예산 입니다. 일반적으로 말하면, 프로젝트를 완료하는 데 얼마나 많은  이 소요 되는지를 의미 합니다 .

추정하는 방법?

소프트웨어 테스트 추정 기술 목록

  • 작업 분할 구조
  • 3- 포인트 소프트웨어 테스팅 기술
  • 광대역 델파이 기술
  • 기능 점수 / 시험 지점 분석
  • 사용 - 사례 포인트 방법
  • 백분율 분포
  • 임시 방편 법

다음은 예상치에 도달하는 4 단계 프로세스입니다.

Guru99 Bank 사례 연구의 추정치를 찾기 위해이 기법들을 결합하는 방법을 배웁니다.

 

1 단계) 전체 프로젝트 작업을 하위 작업으로 나눕니다.

작업은 누군가에게 주어진 작품입니다. 이렇게하려면 작업 분석 구조 기술을 사용할 수 있습니다 .

이 기술에서 복잡한 프로젝트는 모듈로 나뉩니다. 모듈은 하위 모듈로 나뉩니다. 각 하위 모듈은 기능별로 더 나뉩니다. 전체 프로젝트 작업을 가장 작은 작업 으로 나눈다는 의미 입니다.

Work Break Down 구조를 사용하여 Guru99 Bank 프로젝트를 5 개의 작은 작업으로 나눕니다.

그런 다음 각 작업을 하위 작업으로 나눌 수 있습니다. 이 활동의 목적은 같이 작업을 만드는 것입니다 설명 으로 가능합니다 .

태스크하위 작업
소프트웨어 요구 사항 분석소프트 요구 사항 스펙 조사
개발자 및 기타 이해 관계자와의 인터뷰를 통해 웹 사이트에 대해 더 많이 알 수 있습니다.
테스트 명세 만들기디자인 테스트 시나리오
테스트 케이스 작성
테스트 케이스 검토 및 수정
테스트 케이스 실행테스트 환경 구축
테스트 케이스 실행
테스트 실행 결과 검토
결함보고
만들기 결함 보고서를
결함보고

2 단계) 팀원에게 각 과제 할당

이 단계에서는 각 작업이 프로젝트 팀 의 해당 구성원 에게 할당됩니다 다음과 같이 과제를 할당 할 수 있습니다.

태스크회원
소프트웨어 요구 사항 분석모든 회원
테스트 사양 만들기테스터 / 테스트 분석가
테스트 환경 구축테스트 관리자
테스트 케이스 실행테스터, 테스트 관리자
결함보고시험 장치
 

3 단계) 작업에 대한 작업량 추정

작업에 대한 노력을 평가하는 데 적용 할 수있는 두 가지 기술이 있습니다.

  1. 기능 점수 방법
  2. 3 점 추정

방법 1) 기능 점수 방법

이 방법에서 테스트 관리자는 작업의 크기, 기간 및 비용을 예측합니다.


단계 A) 작업의 크기 추정

1 단계 에서는 이미 WBS 방식을 사용하여 전체 프로젝트 작업을 작은 작업으로 나누었습니다. 이제 이러한 작업의 크기를 추정합니다. 의 특정 작업과 연습하자 " 테스트 사양 만들기 "

이 작업의 크기는 테스트중인 시스템의 기능적 크기에 따라 다릅니다. 기능적 크기는 사용자와 관련된 기능 의  을 반영합니다 더 많은  의 기능, 더 복잡한 시스템입니다.

실제 추정 작업을 시작하기에 앞서 기능 점수는 다음과 같이 복잡 , 중간 단순과 같은 세 그룹으로 나뉩니다 .

복잡한 소프트웨어 기능을 기반으로 테스트 관리자는 각 기능 지점에 충분한 가중치 를 부여해야 합니다. 예를 들어

그룹중량
복잡한5
매질
단순한1
 

보다 명확하게 이해하기 위해 간단한 예제를 보도록하겠습니다.

A는을 통해 웹 사이트 Guru99 은행의 소프트웨어 사양을 보면 가져가 여기에이미 상세하게 소프트웨어 모듈을 기술 한 소프트웨어 엔지니어, 당신은 확인할 수 복잡성 각 모듈의 weightage를 제공하여 웹 사이트의 기능을?

더 복잡한 기능 점수, 더 많은 노력이 그것을 테스트하는 것입니다. 웹 사이트는 12 개의 기능 점수 로 나누어 져 있습니다, 당신은 다음과 같이 각 기능 점수 의 복잡성 을 결정할 수 있습니다 -

아니.모듈 이름적용 가능한 역할기술중량
1.      잔액 조회관리자 
고객
고객 : 고객은 여러 은행 계좌를 가질 수 있습니다. 그는 자신의 계정의 잔액을 볼 수 있습니다 
관리자 : 하위 관리자는 자신의 감독하에 오는 모든 고객의 밸런스를 볼 수 있습니다
2.      자금 이체관리자 
고객
고객 : 고객은 자신의 "자체"계정에서 임의의 대상 계정으로 자금을 이체 할 수 있습니다. 
관리자 : 관리자는 모든 출금 은행 계좌에서 입금 계좌로 자금을 이체 할 수 있습니다.
5
삼.      미니 선언문관리자 
고객
Mini 명세서는 계정의 마지막 5 건의 거래를 보여줍니다. 
고객 : 자신의 "자기"계정 만 미니 명세서를 볼 수 있습니다 
. 관리자 : 모든 계정의 미니 명세서를 볼 수 있습니다.
4.      맞춤 선언문관리자 
고객
사용자 정의 문을 사용하면 날짜, 트랜잭션 값을 기준으로 계정의 트랜잭션을 필터링하고 표시할 수 있습니다 
. 고객 : "자신의"계정 만 사용자 정의 문을 볼 수 있습니다. 
관리자 : 모든 계정의 사용자 정의 된 설명을 볼 수 있습니다.
5
5.      비밀번호 변경관리자 
고객
고객 : 고객은 자신의 계정의 비밀번호 만 변경할 수 있습니다. 
관리자 : 관리자는 자신의 계정의 암호 만 변경할 수 있습니다. 그는 고객의 암호를 변경할 수 없습니다.
1
6.      신규 고객매니저관리자 : 관리자는 새로운 고객을 추가 할 수 있습니다. 
관리자 : 관리자는 고객의 주소, 전자 메일, 전화와 같은 세부 정보를 편집 할 수 있습니다.
7.      새 계정매니저현재 시스템에서 2 가지 유형의 계정을 제공합니다.
  • 절약
  • 흐름
고객은 여러 개의 저축 계좌를 가질 수 있습니다 (그의 이름에 하나, 다른 이름에 공동 계좌 번호 등). 
그는 자신이 소유 한 여러 회사에 대해 여러 개의 현재 계정을 보유 할 수 있습니다. 
또는 현재 계정과 저축 계정을 여러 개 가질 수 있습니다. 
관리자 : 관리자는 기존 고객을 위해 새 계정을 추가 할 수 있습니다.
5
8.      계정 수정매니저관리자 : 관리자는 기존 계정에 대한 수정 된 계정 세부 정보를 추가 할 수 있습니다.1
9.      계정 삭제매니저관리자 : 관리자는 고객 계정을 삭제할 수 있습니다.1
10.   고객 삭제매니저고객은 현재 활동 중이거나 계정이없는 경우에만 삭제할 수 있습니다 
. 관리자 : 관리자는 고객을 삭제할 수 있습니다.
1
11.   예금매니저관리자 : 관리자는 모든 계좌에 입금 할 수 있습니다. 일반적으로 은행 지점에 현금을 예치 할 때 이루어집니다.
12.   철수매니저관리자 : 관리자는 모든 계정에서 금액을 인출 할 수 있습니다. 보통 은행 지점에서 현금이 인출 될 때 이루어집니다.

단계 B) 작업의 예상 소요 시간

기능 점수 의 복잡성 을 분류 한 후에 는 테스트 할 기간 을 예측 해야합니다. 기간은 작업을 완료하는 데 필요한 시간을 의미 합니다 .

  • 총 노력 : 웹 사이트의 모든 기능을 완전히 테스트하려는 노력
  • 총 기능 점수 : 웹 사이트의 총 모듈 수
  • 기능 점수별로 정의 된 예상치 : 하나의 기능 점수를 완료하기위한 평균 노력. 이 값은 이 작업을 담당 할 구성원 의 생산성 에 따라 다릅니다 .

프로젝트 팀이 5 시간 / 포인트의 기능 점수로 정의 된 것으로 추정한다고 가정합니다 다음과 같이 웹 사이트 Guru99 Bank의 모든 기능을 테스트하기위한 총 노력을 예상 할 수 있습니다.

 중량기능 점수 #합계
복잡한515 명
매질515 명
단순한144
기능 총점34
포인트 단위로 추정하기5
총 예상 노력 (인력 시간)170
 

Guru99 Bank의 "테스트 사양 작성"작업을 완료하기위한 총 노력은 약 170 시간입니다.

필요한 노력을 이해하면 작업을 수행하는 데 걸리는 시간 (기간)을 결정하는 자원을 할당 한 다음 노동 및 비 인건비를 예상 할 수 있습니다.

위의 예는 팀 구성원의 중요성을 보여줍니다. 당신이있는 경우 재능 과 경험이 풍부한 회원, 당신은에 할당 된 작업을 완료 할 수 있습니다 작은 시간, 프로젝트는 기한 또는 이보다 빨리 완료됩니다.

단계 C) 업무 비용 예측

이 단계는 고객의 마지막 질문에 답변하는 데 도움이됩니다 . "비용은 얼마입니까?"

평균적으로 팀 급여가 시간당 $ 5라고 가정합니다. "Create Test Specs"작업에 필요한 시간은 170 시간입니다. 따라서 작업 비용은 5 * 170 = 850 달러입니다. 이제 WBS의 다른 활동에 대한 예산을 계산하고 프로젝트의 전체 예산에 도달 할 수 있습니다.

프로젝트 매니저는 귀사의 투자 수익 을 극대화 하는 방법을 결정해야합니다 더 정확한 프로젝트 비용의 당신의 추정은,이다 더 나은 프로젝트의 예산을 관리 할 수있을 것입니다 수는.

방법 2) 3 점 추정

3 점 추정은 작업을 추정하는 데 사용할 수있는 기술 중 하나입니다. Three-point 견적의 단순성은 견적을 원하는 프로젝트 관리자에게 매우 유용한 도구입니다.

3 점 추정에서는 다음과 같이 이전 경험 또는 최우수 추측 을 기반으로 모든 작업에 대해 처음에 세 개의 값이 생성 됩니다

작업을 추정 할 때, Test Manager는 위에 지정된 3 가지 값을 제공해야합니다. 세 가지 값을 확인하고, 최적 상태 에서 일어나는 일 가장 가능성있는 일 또는 가장 최악의 시나리오 라고 생각되는 것을  추정 합니다.

다음 예제에서 위의 세 값을 사용하는 방법을 살펴 보겠습니다.

테스트 스펙 생성 "작업의 경우 테스트 노력을 예측할 수 있습니까? Guru99 Bank 웹 사이트의 모든 모듈은 Function Point Method 에서 설명한대로 다루어야 한다는 것을 기억하십시오

다음과 같이 추정 할 수 있습니다.

  • 이 작업을 완료 하는 가장 좋은 경우 는 120 시간 (약 15 일)입니다. 이 경우에는 재능있는 팀이 있으며 가장 짧은 시간에 작업을 완료 할 수 있습니다.
  • 이 작업을 완료 하는 가장 좋은 경우는 170 시간 (약 21 일)입니다. 이는 정상적인 경우이며, 충분한 리소스와 작업 완료 능력이 있습니다.
  • 이 작업을 완료 하는 최악의 경우 는 200 시간 (약 25 일)입니다. 팀 구성원이 경험이 없으므로 훨씬 더 많은 작업을 수행해야합니다.

이제 각 매개 변수에 아래 값을 할당하십시오.

작업을 완료하려는 노력 은 다음과 같이 이중 삼각형 분포 공식을 사용하여 계산할 수 있습니다.

위 공식에서 매개 변수 E는 가중 평균으로 알려져 있습니다. "테스트 스펙 생성"작업의 평가입니다.

하지만 사장님이 당신에게 물어볼지도 모릅니다.

위의 추정에서 특정 값이 아니라 가능한 값을 결정 하면 추정이 정확할 확률 을 알아야 합니다. 다른 수식을 사용할 수 있습니다.

위 공식에서 SD는 표준 편차를 의미하며,이 값은 추정치가 정확할 확률 에 대한 정보를 제공 할 수 있습니다 .

이제 "테스트 스펙 생성"태스크에 대한 평가를 결론 지을 수 있습니다.

Guru99 Bank 웹 사이트의 "테스트 사양 작성"작업을 완료하려면 166.6 ± 13.33Man-hour (153.33 - 179.99 man-hour)

4 단계) 추정치 검증

WBS에 언급 된 모든 작업에 대한 총 예상치를 작성한 후이를 관리 이사회 로 전달해야합니다. 관리 이사회 는이를 검토 하고 승인 합니다.

경영진은 CEO, 프로젝트 관리자 및 기타 이해 관계자로 구성 될 수 있습니다.

경영진은 귀하와 귀하의 예상 계획을 검토하고 논의 할 것입니다. 당신은 그들에게 당신의 추정을 설명 할 수 논리적으로 그리고 합리적으로 그들은 당신의 평가 계획을 승인 할 수 있도록.

테스트 추정 모범 사례

이 항목에서는 테스트 정확도를 추정하는 방법에 대한 일반적인 팁을 소개합니다.

  • 버퍼 시간 추가 : 예기치 않은 많은 일이 프로젝트에 일어날 수 있습니다. 예를 들어 재능있는 팀 구성원이 갑자기 업무를 그만두거나 테스트가 완료되는 데 걸리는 시간보다 더 많은 시간이 걸리는 경우 등등. 추정에 버퍼를두면 발생할 수있는 지연을 처리 할 수 ​​있습니다.
  • 계산에서의 계좌 자원 계획 : 팀원 중 일부가 긴 잎을 가져 가면 어떻게해야합니까? 그것은 프로젝트를 지연시킬 수 있습니다. 추정에서의 자원 계획이 중요한 역할을합니다. 자원의 가용성은 견적이 현실적인지 확인하는 데 도움이 될 것입니다. 여기서 당신은 팀 구성원에게 잎을, 일반적으로 긴 잎으로 생각해야합니다.
  • 과거 경험을 참고로 사용하십시오 :  과거 프로젝트의 경험은 시간 추정을 준비하는 데 중요한 역할을합니다. 일부 프로젝트는 유사성이있을 수 있으므로 과거 추정을 재사용 할 수 있습니다. 예를 들어 웹 사이트 테스트와 같은 프로젝트를 수행하는 데 사용하는 경우 해당 경험을 통해 과거 프로젝트에서 직면 한 모든 어려움이나 문제를 피할 수 있습니다.
  • 견적에 충실 하십시오 :  추정치는 잘못 될 수 있으므로 단지 예상치 입니다. 프로젝트의 초기 단계에서 필요한 경우 견적을 재확인하고 수정  해야하는 경우가 자주 있습니다. 요구 사항에 큰 변화가 없거나 재평가에 대해 고객과 협상해야하는 경우가 아니라면 수정 한 후 평가를 연장해서는 안됩니다.


  • 운동을 해보십시오 - 비행 예약 신청서의 작업 분류 체계를 준비하십시오.
  • 로그인 기능 확인, 새 주문 기능 확인, 팩스 기능 확인 및 기타 유사한 기능과 같은 다양한 테스트 작업 및 이러한 기능을 테스트하는 데 필요한 노력 평가
  • 예를 들어 2 시간 이내에 로그인 기능을 테스트 할 수 있습니다. 마찬가지로 모든 작업과 해당 노력의 목록을 준비하십시오. 교육 자습서를 일시 중지하고 연습을 완료하십시오. 나는 당신이 요구 된 노력에 대해 교육받은 추측을하기를 바란다.
  • 이것은 견적 추정을위한 Bottom-Up 전략입니다. 이 기술은 작업 분류 체계의 가장 낮은 수준에있는 작업을 기반으로하므로 기간, 종속성 및 자원을 추정하므로 상향식이라고합니다.
  • 상향식 전략에서는 한 사람 만이 아니라 모든 이해 관계자, 개별 기여자, 전문가 및 숙련 된 직원이 공동으로 추정합니다. 아이디어는 정확한 테스트 견적에 도달하기 위해 팀원들의 협업 적 지혜를 이끌어내는 것입니다.
  • 이제 비행 예약 시스템에 대한 경험이 풍부합니다. 이 경험을 사용 하여 웹 사이트의 전체 기능 테스트 에 필요한 노력을 예상하십시오 - http://newtours.demoaut.com/
  • 이 사이트의 기능은 항공편 예약 신청과 동일합니다. 단지 웹 기반입니다. 튜토리얼을 일시 중지하고 지금 연습 해보십시오.
  • 귀하의 경험에 근거하여 웹 사이트를 테스트하는 데 필요한 노력을 잘 예측하기를 바랍니다.
    • 이것은 경험을 바탕으로 한 추정에 대한 하향식 접근법입니다.
    • 또 다른 기법은 프로젝트의 크기와 복잡성을 기준으로 프로젝트를 분류 한 다음 특정 크기와 복잡성을 가진 프로젝트가 과거에 얼마나 오래 걸리는지 확인하는 것입니다.
    • 또 다른 접근법은 유사한 프로젝트에 대한 과거의 평균 테스트 노력 사례를 결정한 다음 현재 프로젝트의 예상 테스트 케이스를 사용하고 총 노력에 도달하는 것입니다
    • 보다 정교한 추정 모델은 복잡한 수학적 모델을 포함합니다. 실제로, 대부분의 프로젝트는 하향식 접근법을 사용하여 평가합니다.
    • 테스트 견적은 타이밍 압박, 인력 요인, 테스트 팀의 지리적 분포 등과 같은 많은 요인에 의해 영향을 받을 수 있습니다.


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