7 factors affecting test estimation selenium automation project selenium tutorial 32
지난 두 개의 Selenium 튜토리얼에서 우리는 Cucumber 및 Selenium 도구를 사용한 자동화 테스트 . 우리는 또한 Selenium WebDriver와 Cucumber의 통합 .
이 튜토리얼에서는 다양한 셀레늄 자동화의 노력 추정에 영향을 미치는 요인 .
계획 및 추정은 소프트웨어 개발 라이프 사이클에서 가장 중요한 두 가지 측면입니다.
저는 개인적으로 소프트웨어 산업에서 방탄 방법 없음 무엇이든하는 것. 모든 프로젝트는 배타적이며 복잡성과 환경 요인이 다르기 때문에 추정 및 계획 전략을 구현하는 것은 고위급의 적절한 개입과 관리 지원을 통해 개별 팀의 공동 노력이어야합니다.
프로젝트 추정을 시작하기 전에 정확하고 정당한 추정을 제공 할 수 있도록 프로젝트가 진행될 모든 단계를 이해하는 것이 중요합니다.
추정은 수동 테스트 프로세스에 대해서만 수행 할 수있을뿐만 아니라이 자동화 시대에는 추정 기술이 테스트 자동화에도 적용됩니다. 이제 Selenium이 시장에서 모멘텀과 인기를 얻고 있으며 Selenium 프로젝트를 추정 할 때 고려해야 할 몇 가지 요소에 대해 작성하려고합니다.
시작하자!!
저는 우리가 처음부터 자동화 이니셔티브를 시작하고 있으며 사용 가능한 기성 프레임 워크가 없다고 가정합니다.
학습 내용 :
- 셀레늄 자동화 추정에 영향을 미치는 요인
- # 1 프로젝트 범위
- # 2 애플리케이션의 복잡성
- # 3 지원 도구 / 기술 사용
- # 4 프레임 워크 구현
- # 5 학습 및 훈련
- # 6 환경 설정
- # 7 코딩 / 스크립팅 및 검토
- 결론:
- 추천 도서
셀레늄 자동화 추정에 영향을 미치는 요인
'셀레늄'특정 프로젝트의 평가에 영향을 미치고 고려해야 할 다양한 요소는 다음과 같습니다.
# 1 프로젝트 범위
범위는 일반적으로 자동화를위한 올바른 테스트 케이스를 식별하는 것을 의미합니다. 이를 달성하기 위해 '분할 및 규칙'전략을 적용합니다. 애플리케이션을 작은 청크 또는 모듈로 나누고 각각을 분석하여 자동화를위한 적절한 테스트 케이스를 제시하십시오.
C ++ 용 이클립스 설정 방법
관련된 단계는 다음과 같습니다.
- 후보 테스트 케이스를 식별하는 기반이 될 다양한 요소를 식별하십시오.
- 애플리케이션을 더 작은 모듈로 분할
- 각 모듈을 분석하여 후보 테스트 케이스 식별
- ROI 계산
올바른 테스트 케이스를 식별하는 방법에 대한 자세한 내용은 이전 문서를 참조하십시오. 자동화를위한 올바른 테스트 케이스 선택
# 2 애플리케이션의 복잡성
여기에 관련된 단계는 다음과 같습니다.
- 자동화해야하는 테스트 사례의 수에 따라 애플리케이션 크기를 결정합니다.
- 피보나치 시리즈를 통한 크기 복잡성.
- 각 테스트 케이스의 검증 포인트 및 체크 포인트 식별
여기서 우리는 큰 / 중간 및 작은 크기의 응용 프로그램에 대한 정의를 설정해야합니다. 이 정의는 개인 / 그룹 관점과 다릅니다. 애플리케이션을 분류하는 방법은 테스트 케이스의 수에 따라 달라질 수 있습니다.
예를 들면 :
애플리케이션에 자동화 할 테스트 케이스가 300 ~ 500 개있는 경우 소규모 애플리케이션으로 간주 할 수 있습니다. 테스트 케이스가 1500 개 이상이면 복잡한 것으로 분류 할 수 있습니다. 이 요소는 애플리케이션마다 다를 수 있습니다. 일부의 경우 자동화 할 1500 개의 테스트 케이스가 중소 규모로 간주 될 수 있습니다. 따라서 테스트 케이스의 정확한 수를 확인한 후에는 소규모 / 중간 또는 대규모로 확장하십시오. 노력을 추정하는 전략은 이러한 기준에 크게 좌우됩니다.
또한 테스트 케이스에 대한 다양한 체크 포인트 및 검증 포인트를 고려해야합니다. 테스트 케이스는 둘 이상의 체크 포인트를 가질 수 있습니다.
그러나 검증 포인트는 1 개뿐입니다. 검증 포인트가 두 개 이상인 경우 별도의 테스트 케이스로 분기하는 것이 좋습니다. 이것은 또한 테스트 스위트의 유지 보수 및 향상을 용이하게합니다.
# 3 지원 도구 / 기술 사용
여기에 관련된 단계는 다음과 같습니다.
- 프레임 워크 및 자동화 요구 사항 식별
- 필요에 따라 사용할 도구를 분석하고 식별합니다.
- 도구 사용의 종속성 / 함의를 식별하십시오.
셀레늄만으로는 프레임 워크를 구축하거나 자동화를 완료하는 데 충분하지 않습니다. Selenium (웹 드라이버)은 테스트 케이스 만 스크립팅하지만 결과보고, 로그 추적, 스크린 샷 찍기 등과 같은 다른 작업도 있습니다.
이를 위해서는 프레임 워크와 통합 될 별도의 도구가 필요합니다. 따라서 여기에서 귀하의 요구 사항에 가장 적합하고 긍정적 인 ROI를 얻는 데 도움이되는 이러한 지원 엔터티를 식별하는 것이 중요합니다.
# 4 프레임 워크 구현
여기에 까다로운 부분 J가 있습니다.
- 자동화 제품군의 입력 (데이터가 스크립트에 공급되는 패턴) 및 출력 (보고서 / 테스트 결과)을 식별합니다.
- 입력 파일을 디자인하십시오. 이것은 간단한 텍스트 파일에서 복잡한 Excel 파일에 이르기까지 다양합니다. 기본적으로 테스트 데이터가있는 파일입니다.
- 입력 매개 변수를 기반으로 폴더 구조를 설계하고
- 보고 기능 구현 (일부 Excel 파일 또는 ReportNG와 같은 도구 사용)
- 프레임 워크에서 로거 결정 / 구현
- 프레임 워크에서 빌드 도구 구현
- 단위 테스트 프레임 워크 (Junit 또는 TestNG) 구현
파일에서 데이터 읽기, 테스트 결과보고 / 추적, 로그 추적, 입력 조건 및 환경에 따라 스크립트 트리거 등과 같이 Selenium을 사용한 테스트 자동화의 스크립팅 외에도 많은 다른 요구 사항이 있습니다. 따라서 구조가 필요합니다. 이 모든 스크립트를 처리합니다. 이 구조는 프레임 워크 일뿐입니다.
웹 응용 프로그램은 구현할 많은 지원 도구와 기술을 포함하기 때문에 본질적으로 복잡합니다. 유사한 방식으로, Selenium에서 프레임 워크를 구현하는 것도 다른 도구를 통합해야하기 때문에 까다 롭습니다 (복잡하다고 말하지는 않겠습니다). 우리는 Selenium이 도구가 아니라 실제로 jar 파일의 모음 / 그룹이라는 것을 알고 있기 때문에 구성되어 있고 '설치'되지 않았기 때문에 Selenium 자체는 복잡한 프레임 워크를 구축하기에 충분히 강력하지 않습니다. 프레임 워크 구축을위한 타사 도구 목록이 필요합니다.
여기서 우리는 셀레늄에 '기성품'이 없다는 것을 기억해야합니다. 모든 것에 대해 코드를 작성해야하므로 오류 검색 및 문제 해결을위한 추정 조항이 있어야합니다.
여기서 우리는 프레임 워크 구축이 자동화 노력의 가장 중요한 측면이라는 것을 이해해야합니다. 프레임 워크가 견고하고 특히 Agile 시대에 유지 관리 및 향상이 더 쉬워지고 프레임 워크가 좋으면 모든 스프린트에 테스트를 쉽게 통합 할 수 있습니다.
프레임 워크를 설계하는이 특별한 요소가 추정의 가장 중요한 측면이되어야한다고 말하면 틀리지 않을 것입니다. 필요한 경우 (복잡한 애플리케이션에서와 같이)이 요소를 별도의 WBS로 다시 세분화하고 추정을 수행해야합니다.
# 5 학습 및 훈련
Selenium을 배우는 것은 다른 자동화 도구를 배우는 것과 약간 다릅니다. 기본적으로 스크립트 언어보다 프로그래밍 언어를 배우는 것이 포함됩니다 (스크립트 언어는 환경 설정 변경을 수행 한 후 자동화 된 스크립트를 호출하는 스크립트를 작성하려는 것과 같은 프레임 워크를 빌드하는 동안 도움이되지만).
WebDriver와 Java를 결합하는 경우 핵심 Java에 능숙하면 Selenium 자동화로 시작하기에 매우 좋은 모양이라고 말할 수 있습니다.
Java 학습과 함께 ANT / Maven (빌딩 용), TestNG / jUnit (단위 테스트 프레임 워크), Log4J (로깅 용),보고 (보고 용) 등과 같은 다른 기술을 학습 할 수있는 조항이 있어야합니다. 프레임 워크의 수준. 이 목록이 커질수록 더 많은 시간이 걸립니다.
경영진이 셀레늄을 사용하기로 결정한 경우 이러한 학습 활동은 계획 활동과 병행하여 수행 할 수 있습니다. 이러한 기술을 배우는 데 제한이 없기 때문에 팀이 명확한 방향으로 학습 과정을 시작할 수 있고 모든 사람이 같은 페이지에 있도록 팀을위한 명확한 계획 (강의 계획서)을 준비하는 것이 좋습니다.
실제로 우리 테스터는 본격적인 프로그래밍 언어를 배우는 데 그다지 열정이 없으며 이것이 개발자의 케이크 조각이라고 생각합니다. 그러나 이제 우리는이 사고 방식을 바꿔야하며 프로그래밍 언어를 배우는 것이 새로운 테스트 프로세스를 배우는 것과 똑같이 중요하다는 것을 고려해야합니다. 이렇게하면 언어 및 자동화에 대한 테스터의 지식이 증가 할뿐만 아니라 애플리케이션이 내부적으로 어떻게 작동하는지 이해할 수있는 기회를 제공하여 새로운 버그를 찾을 수있는 범위를 늘릴 수 있습니다.
# 6 환경 설정
환경 설정 거래 (제한되지 않음) :-
- 테스트 환경에서 코드 설정
- 프로덕션 환경에서 코드 설정
- 자동화 된 테스트를 트리거하기위한 스크립트 작성.
- 보고 로직 개발
- 스크립트 실행 빈도 설정 및 구현 로직 개발
- 테스트 데이터 및 테스트 케이스 입력을위한 텍스트 / 엑셀 파일 생성
- 환경 및 자격 증명을 추적하기위한 속성 파일 만들기
# 7 코딩 / 스크립팅 및 검토
실제로 테스트 작성을 시작하기 전에 두 가지 전제 조건이 있습니다.
- 후보 테스트 케이스가 편리해야합니다.
- 프레임 워크가 준비되었습니다.
웹 애플리케이션이 수행하는 다양한 작업을 식별합니다. 탐색, 클릭, 텍스트 입력과 같은 간단한 작업이 될 수 있습니다. 또는 데이터베이스에 연결, 플래시 또는 Ajax 처리와 같은 복잡한 작업. 한 번에 하나의 테스트 케이스를 가져 와서 특정 테스트 케이스가 수행하는 모든 조치를 식별하고 테스트 케이스별로 그에 따라 시간을 추정하십시오. 전체 테스트 스위트에 대한 모든 시간의 합계는 정확한 숫자를 제공합니다.
검토를위한 조항도 있어야합니다. 리뷰는 단순히 동료 또는 개발자가 수행 할 수있는 코드 리뷰입니다. 짝 프로그래밍은 빠른 최선의 옵션이지만 가능하지 않은 경우 사용 가능한 리소스 또는 조직 검토 전략에 따라 시간을 할당해야합니다.
추정에 영향을 미치는 각 요인에 대한 자세한 내용 :
요인 # 1 : 범위
의미 : ROI를 통한 자동화 후보 테스트 케이스 식별
관련 단계 :
- 후보 테스트 케이스를 식별하는 기반이 될 다양한 요소를 식별하십시오.
- 애플리케이션을 더 작은 모듈로 분할
- 각 모듈을 분석하여 후보 테스트 케이스 식별
- ROI 계산
결과물 : 자동화해야하는 테스트 케이스 목록입니다.
비고 : 다른 추정 단계를 진행 한 후에는 스코프를 고정하는 것이 중요합니다.
사용자 테스트로 얼마나 많은 돈을 벌 수 있습니까?
요인 # 2 : 복잡성
의미: 간단하고 작은 크기의 응용 프로그램에 대한 정의를 설정합니다.
관련 단계 :
- 자동화해야하는 테스트 케이스의 수에 따라 애플리케이션 크기를 조정하십시오.
- 피보나치 시리즈를 통한 크기 복잡성.
- 각 테스트 케이스의 검증 포인트와 체크 포인트를 식별합니다.
결과물 : 애플리케이션 크기 – 소형, 중형 또는 대형.
다수의 테스트 케이스와 해당 체크 포인트 및 검증 포인트.
비고 : 권장 사항 – 테스트 케이스에는 여러 개의 체크 포인트가있을 수 있지만 검증 포인트는 하나만 있습니다. 테스트 케이스에 둘 이상의 검증 포인트가있는 경우 별도의 테스트 케이스로 분기해야합니다.
요인 # 3 : 지원 도구
의미: 셀레늄 자체는 복잡한 프레임 워크를 구축하기에 충분히 강하지 않습니다. 프레임 워크 구축을위한 프레임 워크 도구 목록이 필요합니다.
관련 단계 :
- 완성 된 IDE
- 완성 된 단위 테스트 도구
- 최종 로거
- 최종보고 도구
- 완성 된 빌드 도구
결과물 : 프레임 워크를 만드는 데 필요한 도구 목록입니다.
비고 :
예 :
- Eclipse / RAD-IDE로
- Ant / Maven – 빌드 도구로
- jUnit / TestNG – 단위 테스트 프레임 워크
- Log4j – 로거로
- ReportiNG –보고 도구
- 텍스트 파일 – 환경 / 자격 증명 추적 용
- Excel 파일 – 테스트 데이터 추적 용
- Perl / Python – 환경을 설정하고 테스트 스크립트를 트리거합니다.
요소 # 4 : 프레임 워크 구현
의미: 구조 생성
관련 단계 :
- 입력 파일을 디자인하십시오.
- 폴더 구조 설계
- 프레임 작업에서 로거 결정 / 구현
- 프레임 워크에서 빌드 도구 구현
- 단위 테스트 프레임 워크 구현
결과물 :
- IDE에서 생성 된 프레임 워크 및 폴더 구조.
- 입력 데이터가 포함 된 Excel 시트
- 환경 관련 데이터 및 자격 증명을 포함하는 속성 파일.
비고 : 이것이 가장 중요한 단계입니다. 일부 시간 문제 해결에 예상보다 더 많은 시간이 걸리기 때문에 예상하는 동안 일부 버퍼 시간을 포함하는 것이 좋습니다.
요인 # 5 : 환경 설정
의미: 코드 설정 및 코드 배포를위한 다운로드 / 준비 처리
관련 단계 :
- 입력 파일 및보고 준비
- 트리거링 스크립트 만들기
결과물 : 환경 준비
비고 : 우리는 최소한의 번거 로움으로 우리의 코드가 상기 환경 / 박스에 배포되도록 프레임 워크를 구축해야합니다.
URL과 자격 증명이있는 텍스트 파일에 최소한의 항목 만 입력하면 코드를 실행할 준비가되어 있고 ROCK!
요소 # 6 : 학습 및 훈련
의미: 프로그래밍 언어 및 기타 지원 기술 학습
관련 단계 : 자동화 요구 사항에 따라 계획을 준비하고 팀과 공유하고 강의 계획서에 따라 학습하고 진행하도록 권장하십시오.
결과물 : 팀의 진행 상황을 추적 할 교육 계획 및 추적기.
비고 : 구문 학습보다는 논리 구축에 중점을 두어야합니다.
요소 # 7 : 코딩 / 스크립팅 및 검토
의미: 실제 테스트 스크립트 작성 및 검토
관련 단계 :
- 테스트 케이스 및 프레임 워크가 준비되었습니다.
- 테스트 케이스를 취하거나 나누고이를 자동화 된 스크립트로 변환하고 진행 상황을 추적합니다.
결과물 : 자동화 된 테스트 스크립트
비고 : 전체 팀은 구현 된 프레임 워크를 사용하여 테스트 스크립트 작성에 참여해야합니다. 따라서 추정하는 동안 전체 팀의 노력을 고려해야합니다.
결론 :
이러한 모든 사항에 대해 말했듯이 최종 Selenium 자동화 추정에 관리 오버 헤드와 일부 버퍼 시간을 포함하는 것을 잊지 마십시오. 추정을 수행하는 가장 좋고 입증 된 방법은 WBS (Work Break down Structure) 메커니즘을 따르는 것입니다. 이는 간단하며 자동화 예측 요구 사항을 구현하는 목적을 제공합니다.
위에서 언급 한 요소는 내 경험을 기반으로 한 요소이지만 전략에 영향을 줄 수있는 다른 요소도있을 수 있습니다.
여기서 엄지 손가락 규칙은 “특정 기준을 식별하고 해당 기준에 따라 모듈 또는 테스트 케이스를 나눕니다. 확장 할 수 있습니다.” 스케일링 된 수치를 바탕으로 정확한 추정치를 얻을 수 있습니다.
다음 튜토리얼 # 33 : 우리는 우리의 가장 포괄적 인 Selenium 온라인 교육 무료 튜토리얼 시리즈 지난 튜토리얼 즉, ' 답변이있는 셀레늄 테스트 인터뷰 질문 ”.
Selenium 프로젝트의 노력 추정에 대한 다른 팁이 있으면 알려주십시오.
추천 도서
- Selenium WebDriver 소개 – Selenium Tutorial # 8
- 효율적인 Selenium 스크립팅 및 문제 해결 시나리오 – Selenium 자습서 # 27
- 로그로 Selenium 스크립트 디버깅 (Log4j 튜토리얼) – Selenium 튜토리얼 # 26
- 30 개 이상의 최고의 셀레늄 튜토리얼 : 실제 예제로 셀레늄 배우기
- Cucumber Selenium 튜토리얼 : Cucumber Java Selenium WebDriver 통합
- Selenium 스크립트 빌드를 위해 Chrome 및 IE 브라우저에서 요소를 찾는 방법 – Selenium Tutorial # 7
- 각각의 장점과 단점이있는 가장 인기있는 테스트 자동화 프레임 워크 – Selenium Tutorial # 20
- 첫 번째 WebDriver 스크립트 구현 – Selenium WebDriver Tutorial # 10