QTP/UFT 자동화 프레임워크: 데이터 기반, 키워드 기반 및 하이브리드

⚡ 스마트 요약

자동화 프레임워크 QTP/UFT 테스트 스크립트, 데이터 및 재사용 가능한 함수를 체계적으로 구성하여 하나의 테스트로 여러 경우를 커버할 수 있도록 합니다. 데이터 기반, 키워드 기반 및 하이브리드 설계는 각각 다른 유형의 입력과 재사용 가능한 로직 조합에 적합합니다.

  • 🔘 데이터 기반 디자인: 스크립트는 엑셀이나 데이터베이스에서 입력을 읽어 출력을 다시 작성하므로 하나의 테스트가 여러 번 실행됩니다.
  • ☑️ 키워드 기반 디자인: 사용자 정의 함수는 Login 및 OpenOrder와 같은 키워드가 되어 간결한 드라이버 스크립트에서 호출됩니다.
  • 하이브리드 디자인: 키워드 함수는 논리를 전달하고, 매개변수화된 데이터는 여러 입력이 필요한 단계에 전달됩니다.
  • 🧪 먼저 객체 저장소부터 살펴보겠습니다. 테스트에 사용되는 모든 컨트롤은 스크립트가 해당 컨트롤을 안정적으로 식별할 수 있도록 먼저 추가되어야 합니다.
  • 🛠️ 현재 사용 중인 도구: QTP 지금 OpenText 기능 테스트 (UFT 첫째, VBScript는 여전히 지원되는 스크립팅 언어입니다.

데이터, 키워드 및 하이브리드 자동화 프레임워크 QTP/UFT

데이터 기반 프레임워크

데이터 기반 프레임워크는 입력 데이터와 출력 데이터의 다양한 조합에 따라 작동하는 프레임워크입니다.

다양한 데이터 조합을 전달하는 한 가지 방법은 다음과 같습니다. 매개변수화이 방법에서는 다양한 특징을 활용합니다. QTP.

그러나 DDF에서는 매개변수화를 수행하기 위한 스크립트가 작성됩니다. 이러한 종류의 프레임워크는 AUT의 기능을 여러 입력으로 테스트하고 해당 출력을 캡처해야 할 때 유용합니다. 이러한 입력은 데이터베이스, Excel과 같은 외부 파일에서 읽을 수 있습니다. Outlook텍스트 파일 등과 같은 입력값과 그에 따른 출력값은 아래 그림과 같이 해당 외부 소스에 다시 기록됩니다.

데이터 기반 프레임워크의 흐름: 입력 데이터 읽기 및 출력 데이터 쓰기

데이터 기반 프레임워크의 일반적인 단계는 다음과 같습니다.

  1. 준비 테스트 케이스 테스트 중인 애플리케이션의 경우
  2. AUT에서 OR로 개체 추가
  3. 테스트 케이스를 기반으로 스크립트 작성

이번에 UFT 지도 시간본 연구에서는 외부 테스트 데이터 소스로 엑셀을 활용하여 샘플 테스트 케이스에 대한 데이터 기반 프레임워크 설계를 개발할 것입니다.

1단계) 테스트 대상 애플리케이션에 대한 테스트 케이스를 준비합니다.

테스트 케이스: 주문 번호를 열고 해당 주문의 고객 이름을 가져옵니다. 다른 주문 번호에 대해 동일한 프로세스를 반복합니다.

외부 소스: 엑셀 파일

항공편 예약 주문 양식을 프레임워크의 샘플 테스트 케이스로 사용했습니다.

이 예제의 외부 소스는 Excel 파일입니다. VB 스크립트는 다음과 같습니다. OpenText 기능 테스트 (UFT One은 이전에는 마이크로 포커스였습니다. UFT테스트 데이터를 읽으려면 Excel 파일을 열 수 있는 코드를 작성해야 합니다. 이는 계층적인 방식으로 구현할 수 있습니다.

1. Excel 파일이 먼저 응용 프로그램으로 열립니다.

2. 그런 다음 지정된 위치에서 통합 문서를 열어야 합니다.

3. 테스트 데이터가 있는 시트.

4. 마지막으로 셀을 읽어야 합니다.

2단계) AUT의 객체를 OR에 추가합니다.

테스트 케이스가 준비되면 필요한 모든 개체를 저장소에 추가하기 시작합니다. 테스트 케이스에서 추가해야 할 객체는 다음과 같습니다.

1. "폴더 열기" 아이콘이 항공편 예약 신청:

폴더 열기 툴바 아이콘이 추가되었습니다. QTP/UFT 객체 저장소

2. "폴더 열기" 아이콘을 클릭하면 나타나는 "주문 번호" 확인란:

주문 번호 확인란 개체는 주문 열기 대화 상자에서 캡처되었습니다.

3. 주문 번호의 WinEdit 상자(숫자를 입력하는 곳):

WinEdit 상자에 주문 번호가 저장소에 추가되었습니다.

4. 확인 버튼:

주문 열기 대화 상자의 확인 버튼 개체

5. "이름" 필드는 WinEdit 상자입니다. 이 필드는 특정 주문 번호에 대해 "확인" 버튼을 클릭하면 이름으로 채워집니다.

고객 이름을 입력받는 WinEdit 필드의 이름입니다.

필요한 개체가 모두 추가되면 개체 저장소가 다음과 같이 표시됩니다.

진행완료 QTP/UFT 항공편 예약 관련 객체 5개를 모두 나열하는 객체 저장소

3단계) ​​테스트 케이스를 기반으로 스크립트를 작성합니다.

스크립트를 실행하기 전에 테스트 데이터가 포함된 Excel 파일이 저장되고 닫혀 있는지 확인하십시오.

아래 스크립트는 Excel에서 주문 번호를 읽어 변수 "vOrder"를 통해 애플리케이션에 할당하고 변수 "vName"을 통해 애플리케이션에서 고객 이름을 쓰는 것입니다.

엑셀 이름: FlightDDF.xlsx

시트 이름: 시트1

엑셀에서 주문 번호를 읽어 고객 이름을 다시 출력하는 VBScript입니다.

산출

위 스크립트가 실행되면 다음과 같이 Excel에서 출력을 얻을 수 있습니다.

데이터 기반 스크립트가 출력한 고객 이름이 표시된 엑셀 시트

데이터 기반 프레임워크는 다음과 같은 방법으로도 개발할 수 있습니다. 설명 프로그래밍.

데이터베이스를 DDF의 외부 소스로 사용

외부 소스가 데이터베이스인 경우 다음 단계를 사용하여 동일한 테스트 사례를 실행할 수 있습니다.

  1. VBScript를 작성하여 데이터베이스 연결 설정
  2. VBScript를 사용하여 레코드세트나 테이블을 엽니다.
  3. 원하는 필드를 여는 VBScript
  4. 특정 셀은 필드에서 읽혀집니다.

Microsoft DDF의 외부 소스로 사용되는 Access 데이터베이스 테이블

스크립트

To Establish a Microsoft Database connection

운전자 = {Microsoft 액세스 드라이버(*.mdb)}; DBQ =

레코드 세트 이름: OpenOrder

필드 이름: 주문 번호, 고객 이름

PS : Microsoft Access 2010은 아래 스크립트를 사용하여 연결할 수 없습니다.

VBScript를 사용하여 Access 데이터베이스 연결을 설정하고 레코드셋을 읽습니다.

산출

각 주문 번호에 대해 검색된 고객 이름을 보여주는 데이터베이스 출력 결과입니다.

DDF의 장점

  • 단일 테스트로 대량의 테스트 데이터를 읽고 외부 파일에 쓸 수 있습니다.
  • Loop 문은 여러 반복에 대해 동일한 단계를 반복하는 데 사용됩니다. 따라서 코딩 노력이 줄어 듭니다.
  • 데이터를 외부 파일에 직접 읽고 쓰기 때문에 사용하기 위해 데이터를 복사하거나 붙여넣거나 내보낼 필요가 없습니다.
  • 테스트 데이터는 외부 파일에서 읽을 수 있으며 출력은 다른 외부 파일에 쓸 수 있습니다.

DDF의 단점

  • 이 프레임워크를 개발하려면 스크립팅 지식이 필요합니다.
  • 때때로 데이터베이스와 같은 외부 소스에서 가져온 데이터의 양이나 조합 때문에 시스템 속도가 느려지거나 심지어 오류가 발생할 수 있습니다. QTP

키워드 기반 프레임워크

키워드 기반 프레임워크는 키워드를 중심으로 테스트를 진행하는 프레임워크입니다. 키워드는 다음을 의미합니다. 사용자 정의 함수. 이 프레임워크에서는 특정 테스트 단계나 테스트 케이스를 수행하기 위해 키워드가 생성됩니다. 그런 다음 이러한 키워드는 드라이버 테스트로 호출되어 동일한 테스트에서 여러 테스트 사례를 실행합니다.

키워드 기반 프레임워크 구조로, 키워드를 사용하여 사용자 정의 함수를 호출합니다.

일반적으로 프레임워크는 테스트를 실행하기 위해 세 가지 방법으로 개발될 수 있습니다.

  1. 녹화 및 실행 시험
  2. 로컬 저장소에 개체를 추가하고 모든 테스트 단계에 대한 스크립트를 작성합니다.
  3. 모든 테스트 단계에 대한 설명 프로그래밍 작성

이 튜토리얼에서는 테스트를 기록하고 실행하여 KDF를 개발합니다.

우리의 목표는 애플리케이션 로그인, 주문 삽입, 주문 열기, 주문 삭제 및 애플리케이션 닫기와 같은 XNUMX가지 다른 테스트 사례에 대해 단일 테스트를 실행하는 것입니다. 따라서 이러한 테스트 사례에 대한 테스트 단계를 기록하고 각각 Login, InsertOrder, OpenOrder, DeleteOrder 및 CloseApp 키워드를 사용하여 함수를 생성합니다.

테스트 사례 1: 애플리케이션에 로그인

예어: 로그인 ()

녹음된 스크립트:

항공편 예약 로그인 화면의 Login 키워드에 대한 VBScript 코드를 작성했습니다.

테스트 사례 2: 주문 삽입

예어:삽입순서()

녹음된 스크립트:

InsertOrder 키워드에 대한 VBScript를 기록했습니다.

테스트 사례3: 주문 개시

예어:오픈오더()

녹음된 스크립트:

OpenOrder 키워드에 대한 VBScript를 기록했습니다.

테스트 사례4: 주문 삭제

예어:삭제주문()

녹음된 스크립트:

DeleteOrder 키워드에 대한 VBScript를 기록했습니다.

테스트 사례5: 애플리케이션 닫기

예어:클로즈앱()

녹음된 스크립트:

CloseApp 키워드에 대한 VBScript를 기록했습니다.

다양한 테스트 케이스를 위해 생성된 함수는 함수 라이브러리에 저장되며 기본 테스트와 연결됩니다. 메인 테스트에서 필요한 테스트 케이스에 대한 키워드를 호출함으로써 메인 테스트에서 드라이버 스크립트의 크기를 줄이는 것으로 충분합니다.

이 간단한 프레임워크의 드라이버 스크립트는 다음과 같습니다.

단일 소스에서 다섯 개의 키워드를 모두 호출하는 드라이버 스크립트 QTP/UFT test

위 스크립트를 실행하면 단일 테스트에서 XNUMX개 테스트 사례 모두에 대한 실제 결과를 얻을 수 있습니다.

장점

  • 해당 키워드를 호출하기만 하면 단일 테스트에서 원하는 수의 테스트 사례를 실행할 수 있습니다.
  • 모든 웹/윈도우 객체에 대한 일반적인 설명적 프로그래밍을 작성하고 이를 키워드로 호출하면 다양한 동적 애플리케이션에 대해 동일한 테스트를 실행하는 데 도움이 됩니다.
  • 드라이버 스크립트의 크기를 줄입니다.

단점

  • 실행할 테스트 케이스 수가 매우 적다면 이러한 프레임워크를 개발하는 데 걸리는 시간은 매우 길어집니다.
  • 동일한 테스트에서 여러 응용 프로그램에 대해 KDF를 설계할 때 단계 기록이 항상 사용되는 것은 아닙니다.

하이브리드 프레임워크

하이브리드 프레임워크는 데이터 기반 프레임워크(DDF)와 키워드 기반 프레임워크(KDF)를 결합한 것으로, 여러 입력값을 가진 여러 테스트 케이스를 하나의 테스트에서 실행할 수 있습니다.

이 문서에서는 KDF에서 사용되는 동일한 테스트 케이스들을 하나의 테스트로 실행합니다. 모든 테스트 케이스의 키워드와 스크립트는 KDF와 동일합니다. 다만, TC3: 주문 열기 테스트 케이스는 매개변수화되었습니다. 따라서 이 테스트 케이스의 스크립트는 엑셀 파일에서 주문 번호를 입력받아 고객 이름을 엑셀 파일에 기록하도록 작성되었습니다.

키워드 함수와 매개변수화된 Excel 데이터를 결합한 하이브리드 프레임워크

테스트 사례 1: 애플리케이션에 로그인

예어: 로그인 ()

테스트 사례 2: 주문 삽입

예어:삽입순서()

테스트 사례 3: 여러 주문 번호에 대한 주문 열기

예어:오픈오더()

상품 설명 여기서는 DDF 개발에 사용된 것과 동일한 스크립트가 사용되어 여러 반복에 대한 테스트 사례를 달성합니다.

스크립트:

매개변수화된 OpenOrder 키워드 스크립트가 Excel에서 여러 주문 번호를 읽어옵니다.

테스트 사례4: 주문 삭제

예어:삭제주문()

테스트 사례5: 애플리케이션 닫기

예어:클로즈앱()

이 간단한 방법을 따르면 TC3의 매개변수화가 달성됩니다. 해당되는 경우 다른 모든 테스트 케이스도 동일한 테스트에서 매개변수화할 수 있습니다.

위 예시는 하이브리드 프레임워크를 설계하는 매우 간단한 방법입니다. 동일한 프레임워크는 설명적 프로그래밍을 통해서도 구현할 수 있습니다.

장점

  • 하이브리드 프레임워크로 설계된 테스트를 실행하는 데 걸리는 시간은 다른 프레임워크에 비해 상대적으로 적습니다.
  • 이는 동일한 테스트 스위트에서 특정 테스트 케이스와 연관된 모든 테스트 케이스 및 입력이 필요할 때 사용할 수 있습니다.

불리

  • 서로 다른 프레임워크를 결합하는 것에 대한 명확한 지식이 필요합니다.

자주 묻는 질문

아니요. QuickTest Professional은 Micro Focus로 사명을 변경했습니다. UFT다음, UFT 하나는 현재 다른 이름으로 판매되고 있습니다. OpenText 기능 테스트. 여기에 제시된 프레임워크 설계는 여전히 적용됩니다.

데이터 기반, 키워드 기반, 하이브리드 방식 외에도 팀들은 선형 기록 및 재생 방식, 모듈형 방식, 라이브러리 아키텍처, 행동 기반 설계 방식을 사용합니다. 대부분의 성숙한 스위트 제품군은 하이브리드 방식으로 완성됩니다.

AI OpenText 기능 테스트는 기술적 속성 대신 모양과 레이블로 컨트롤을 식별하므로 UI ​​변경에도 테스트가 유지됩니다. 또한 AI 비서가 기존 VBScript를 신속하게 설명해 줍니다.

예. 부조종사 이는 VBScript 루프, Excel 자동화 및 오류 처리 기능을 제안하며, 키워드 라이브러리에 적합합니다. Rev객체 저장소 이름과 관련하여 모든 제안을 검토하십시오. UFT특정 방법은 자산과 일치해야 합니다.

VBScript는 내부에서 완벽하게 지원되는 유일한 언어입니다. UFT 하나의 IDE에서 Excel, 데이터베이스 및 파일 액세스가 모두 VBScript 객체를 통해 이루어지며, 이 실습에서 이를 보여줍니다.

Excel은 테스터가 관리하는 소규모 데이터 세트에 적합합니다. 데이터베이스는 확장성이 뛰어나고 공유 액세스를 지원하지만, 소스 스크립트에서 경고하는 것처럼 결과 세트가 클 경우 테스트 속도가 느려질 수 있습니다.

예. 이러한 설계 중 어느 것으로든 구축된 테스트는 저장하고 실행할 수 있습니다. OpenText ALM 또는 CI 작업을 통해 빌드 후 매번 동일한 키워드 라이브러리가 자동으로 실행되도록 할 수도 있습니다.

기록된 테스트 하나와 엑셀 시트를 활용하여 데이터 기반 설계를 시작하세요. 단계가 안정화되면 키워드 함수로 묶고, 마지막으로 두 가지를 결합하여 하이브리드 설계를 만드세요.

이 게시물을 요약하면 다음과 같습니다.