테스트 자동화 프레임워크:이란 무엇입니까? Archi강의 및 유형

자동화 테스트의 프레임워크란 무엇입니까?

A 테스트 자동화 프레임워크 코딩 표준, 테스트 데이터 처리, 객체 저장소 처리 등과 같은 가이드라인 세트입니다. 자동화 스크립팅 중에 따르면 코드 재사용 증가, 더 높은 이식성, 스크립트 유지 관리 비용 감소 등과 같은 유익한 결과가 발생합니다. 이는 단지 가이드라인일 뿐 규칙이 아닙니다. 필수가 아니며 가이드라인을 따르지 않고도 스크립팅할 수 있습니다. 하지만 프레임워크를 갖는 이점을 놓치게 됩니다.

왜 프레임워크가 필요한가요?

프레임워크가 필요한 이유를 이해하기 위해 예를 살펴보겠습니다.

귀하는 참가자들에게 다음 지침을 준수하도록 요청한 세미나/강의/컨퍼런스에 참석했을 것입니다.

  • 참가자들은 강의 시작 5분 전까지 자리에 착석해 주시기 바랍니다.
  • 메모를 위해 노트와 펜을 가져오세요.
  • 초록을 읽으면 프레젠테이션 내용이 무엇인지 알 수 있습니다.
  • 휴대폰은 무음으로 설정해야 합니다.
  • 강의 도중에 나가야 하는 경우에는 발표자의 반대편 끝에 있는 출구를 이용하세요.
  • 세션이 끝나면 질문을 받습니다.

세미나를 열 수 있다고 생각하시나요? 없이 이 지침을 준수하세요👍

답은 크다 예! 물론, 위의 지침이 없어도 세미나/강의/컨퍼런스/시연을 진행할 수 있습니다. 사실 우리 중 일부는 지침이 제시되어 있어도 따르지 않을 것입니다!

그러나 지침을 따르면 강의 중 청중의 주의가 분산되는 현상이 줄어들고, 참가자 유지율이 높아지며, 주제에 대한 이해도가 높아지는 등 유익한 결과를 얻을 수 있습니다.

위의 내용을 바탕으로, 프레임워크는 준수할 때 유익한 결과를 생성하는 일련의 지침으로 정의할 수 있습니다.

테스트 자동화 프레임워크 유형

다음은 다양한 유형의 자동 테스트 프레임워크입니다.

  • 1) 선형 스크립팅
  • 2) 테스트 라이브러리 Archi강의 프레임워크.
  • 3) 데이터 중심 지원 뼈대.
  • 4) 키워드 중심 또는 테이블 중심 테스트 프레임워크.
  • 5) 하이브리드 테스트 자동화 프레임워크.

자세히 살펴보겠습니다 –

1) 선형 스크립팅 – 기록 및 재생

모든 테스트 자동화 프레임워크 중 가장 간단하며 “녹화 및 재생”. 이번에 자동화 테스트 Framework, Tester는 첫 번째 라운드에서 각 단계(탐색 및 사용자 입력)를 수동으로 기록하고 체크포인트(검증 단계)를 삽입합니다. 그런 다음 그는 다음 라운드에서 기록된 스크립트를 재생합니다.

예: 로그인을 고려해보세요 항공편 예약 신청 성공적인 로그온 시 애플리케이션이 로드되었는지 확인합니다. 여기서 테스터는 단순히 단계를 기록하고 검증 단계를 추가합니다.

SystemUtil.Run "flight4a.exe","","","open"
Dialog("Login").WinEdit("Agent Name:").Set "Guru99"
Dialog("Login").WinEdit("Password:").Set "Mercury"
Dialog("Login").WinButton("OK").Click
'Check Flight Reservation Window has loaded after successful log-on
Window("Flight Reservation").Check CheckPoint("Flight Reservation")

장점

  • 스크립트를 생성하는 가장 빠른 방법
  • 자동화 전문 지식이 필요하지 않음
  • 테스트 도구의 기능을 배우는 가장 쉬운 방법

단점

  • 스크립트 재사용이 거의 없음
  • 테스트 데이터는 스크립트에 하드코딩됩니다.
  • 유지보수의 악몽

2) 테스트 라이브러리 Archi강의 프레임워크

그것은 또한 다음과 같이 알려져 있습니다. “구조화된 스크립팅” or “기능적 분해”.

이 자동화 테스트 프레임워크에서 테스트 스크립트는 처음에 "기록 및 재생”방법. Later, 스크립트 내부의 일반적인 작업이 식별되어 기능으로 그룹화됩니다. 이러한 함수는 다음과 같은 기본 테스트 스크립트에 의해 호출됩니다. 운전기사 테스트 케이스를 만드는 방법은 다양합니다.

예: 위와 동일한 예를 사용하면 Flight Reservation에 로그인하는 기능은 다음과 같습니다.

Function Login()
SystemUtil.Run "flight4a.exe","","","open"
Dialog("Login").WinEdit("Agent Name:").Set "Guru99"
Dialog("Login").WinEdit("Password:").Set "Mercury"
Dialog("Login").WinButton("OK").Click
End Function

이제 다음과 같이 기본 스크립트에서 이 함수를 호출합니다.

Call Login()
---------------------------
Other Function calls / Test Steps.
---------------------------

장점

  • "기록 및 재생"에 비해 구조적 스크립팅에서 더 높은 수준의 코드 재사용이 달성됩니다.
  • 자동화 스크립트는 코드 재사용률이 높기 때문에 개발 비용이 저렴합니다.
  • 더욱 쉬워진 스크립트 유지 관리

단점

  • Test Library Framework를 사용하여 스크립트를 작성하려면 기술적 전문성이 필요합니다.
  • 테스트 스크립트를 계획하고 준비하는 데 더 많은 시간이 필요합니다.
  • 테스트 데이터는 스크립트 내에 하드 코딩되어 있습니다.

3) 데이터 기반 테스트 프레임워크

이 프레임워크에서는 테스트 케이스 로직은 테스트 스크립트에 상주하며 테스트 데이터는 테스트 스크립트 외부에 분리되어 보관됩니다. 테스트 데이터는 외부 파일(Excel 파일, 텍스트 파일, CSV 파일, ODBC 소스, DAO 개체, ADO 개체)에서 읽혀지고 테스트 스크립트 내부의 변수에 로드됩니다. 변수는 입력 값과 검증 값 모두에 사용됩니다. 테스트 스크립트 자체는 선형 스크립팅 또는 테스트 라이브러리 프레임워크를 사용하여 준비됩니다.

예: 이 방법을 사용하여 항공편 예약 로그인 스크립트를 개발하려면 두 단계가 필요합니다.

단계 1) Excel, CSV 또는 기타 데이터베이스 소스가 될 수 있는 테스트 – 데이터 파일을 만듭니다.

에이전트 이름 비밀번호
조립식 쇠지레 Mercury
티나 수은
Bill 수은

단계 2) 테스트 스크립트를 개발하고 테스트 데이터 소스에 대한 참조를 만듭니다.

SystemUtil.Run "flight4a.exe","","","open"
Dialog("Login").WinEdit("Agent Name:").Set DataTable("AgentName", dtGlobalSheet)
Dialog("Login").WinEdit("Password:").Set DataTable("Password", dtGlobalSheet)
Dialog("Login").WinButton("OK").Click
'Check Flight Reservation Window has loaded
Window("Flight Reservation").Check CheckPoint("Flight Reservation")
**Note "dtGlobalSheet" is the default excel sheet provided by QTP.

장점

  • 테스트 스크립트에 대한 변경 사항은 테스트 데이터에 영향을 미치지 않습니다.
  • 여러 데이터 세트로 테스트 케이스를 실행할 수 있습니다.
  • 외부 데이터 파일의 테스트 데이터만 변경하면 다양한 테스트 시나리오 실행 가능

단점

  • 테스트 스크립트와 테스트 데이터를 모두 계획하고 준비하는 데 더 많은 시간이 필요합니다.

4) 키워드 중심 또는 테이블 중심 테스트 프레임워크

키워드 기반 또는 테이블 기반 자동화 프레임워크 개발에는 데이터 테이블과 키워드가 필요합니다. 독립적 테스트 자동화 도구 그것들을 실행하는 데 사용됩니다. 테스트는 애플리케이션을 사용하거나 사용하지 않고 설계할 수 있습니다. 키워드 기반 테스트에서는 테스트 중인 응용 프로그램의 기능이 표와 각 테스트에 대한 단계별 지침으로 문서화됩니다.

키워드 기반 프레임워크에는 키워드, 애플리케이션 맵, 구성 요소 기능 등 3가지 기본 구성 요소가 있습니다.

키워드란 무엇입니까?

키워드는 GUI 구성 요소에서 수행할 수 있는 작업입니다. 예: GUI 구성 요소 텍스트 상자의 경우 일부 키워드(작업)는 InputText, VerifyValue, VerifyProperty 등입니다.

애플리케이션 맵이란 무엇입니까?

응용 프로그램 맵은 GUI 구성 요소에 대한 명명된 참조를 제공합니다. 애플리케이션 맵은 “개체 저장소"

구성 요소 기능이란 무엇입니까?

구성 요소 기능은 GUI 구성 요소를 적극적으로 조작하거나 조사하는 기능입니다. 기능의 예로는 모든 오류 처리가 포함된 웹 버튼 클릭, 모든 오류 처리가 포함된 웹 편집에 데이터 입력 등이 있습니다. 구성요소 기능은 애플리케이션에 따라 다를 수도 있고 독립적일 수도 있습니다.

예시: 키워드 보기를 이해하기 위해 동일한 예를 들어보겠습니다. 2단계로 구성됩니다.

1단계: 데이터 테이블 생성(Data Driven Framework에서 생성된 테스트 데이터 테이블과 다름) 이 데이터 테이블에는 GUI 개체에 대해 수행되는 작업과 해당 인수가 포함되어 있습니다. 각 행은 하나의 테스트 단계를 나타냅니다.

목적 동작
(응용프로그램 MAP) (키워드) 논의
WinEdit(에이전트 이름) 세트 Guru99
WinEdit(비밀번호) 세트 Mercury
Win버튼(확인)
창구(항공편 예약) 확인 존재


2단계: 구성요소 함수 형태로 코드를 작성합니다.

데이터 테이블을 생성한 후에는 각 단계를 읽고, 작업 필드에 포함된 키워드를 기반으로 단계를 실행하고, 오류 검사를 수행하고, 관련 정보를 기록하는 프로그램이나 스크립트 세트를 작성하기만 하면 됩니다. 이 프로그램 또는 스크립트 세트는 아래 의사 코드와 유사합니다.

Function main()
{
  Call ConnectTable(Name of the Table) { //Calling Function for connecting to the table.
    while (Call TableParser() != -1) //Calling function for Parsing and extracting values from the table.
    {
      Pass values to appropriate COMPONENT functions.Like Set(Object Name, Argument) ex.Set(Agent Name, Guru99).
    }
  }
  Call CloseConnection() //Function for Closing connection after all the operation has been performed.
} //End of main

이것이 키워드 기반 프레임워크의 전부입니다.

키워드 기반 프레임워크의 장점은 키워드를 재사용할 수 있다는 것입니다. 이를 이해하려면 YAHOO MAIL과 같은 웹사이트에 대한 로그인 작업을 확인하고 싶다고 가정해 보겠습니다. 표는 다음과 같습니다.

목적 동작
(응용프로그램 맵) (예어) 논의
웹편집(사용자 이름) 세트 abc@yahoo.com
웹편집(비밀번호) 세트 XXXXX
웹버튼(확인)
윈도우(야후 Mail) 확인 잔뜩

이 경우 키워드 설정, 클릭, 확인은 해당 구성 요소 기능이 이미 개발된 것과 동일하게 유지됩니다. 당신이 해야 할 일은 이전 항공편 예약에서 Yahoo로 애플리케이션 매핑(개체 저장소)을 변경하는 것뿐입니다. Mail , 인수 값이 변경되면 동일한 스크립트가 작동합니다!

장점

  • 높은 코드 재사용성을 제공합니다.
  • 테스트 도구 독립적
  • 테스트 중인 응용 프로그램과 별도로 동일한 스크립트가 AUT에 대해 작동합니다(몇 가지 제한 사항 있음)
  • AUT를 포함하거나 포함하지 않고 테스트를 설계할 수 있습니다.

단점

  • 초기 투자 비용이 상당히 높기 때문에 애플리케이션의 규모가 상당히 크고 테스트 스크립트를 몇 년 동안 유지 관리해야 하는 경우에만 이점을 실현할 수 있습니다.
  • 키워드 기반 프레임워크를 생성하려면 고도의 자동화 전문 지식이 필요합니다.

노트 : Micro Focus UFT가 자신을 KeyWord Driven Framework로 광고하더라도 HP UFT를 사용하여 완전한 테스트 도구 및 응용 프로그램 독립성을 달성할 수는 없습니다.

5) 하이브리드 테스트 자동화 프레임워크

이름에서 알 수 있듯이 이 프레임워크는 위에서 설명한 하나 이상의 자동화 프레임워크의 조합으로, 장점을 활용하고 단점을 완화하려고 노력합니다. 하이브리드 테스트 QA 자동화 프레임워크는 대부분의 테스트 자동화 프레임워크가 시간이 지남에 따라 여러 프로젝트로 발전하는 것입니다. 맥시멈산업에서는 기능분해 방식을 조합하여 키워드 프레임워크를 사용하고 있습니다.

추신: 언급할 만한 다른 자동화 프레임워크는 다음과 같습니다.

테스트 모듈성 프레임워크

이 프레임워크에서는 테스트 스크립트의 공통 작업이 모듈로 그룹화됩니다.

예시: QTP에서 Action을 사용하면 Modular Script를 생성할 수 있습니다.

로그인용 샘플 스크립트

SystemUtil.Run "flight4a.exe","","","open"
Dialog("Login").WinEdit("Agent Name:").Set "Guru99"
Dialog("Login").WinEdit("Password:").Set "Mercury"
Dialog("Login").WinButton("OK").Click
'End of Script

이제 다음과 같이 기본 스크립트에서 이 작업을 호출할 수 있습니다.

RunAction ("Login[Argument]", oneIteration)

비즈니스 프로세스 테스트(BPT)

이러한 자동화 프레임워크는 대규모 비즈니스 프로세스를 동일하거나 다른 테스트 스크립트에서 여러 번 재사용할 수 있는 구성 요소로 나눕니다. 예를 들어 항공편 예약의 비즈니스 프로세스는 동일한 비즈니스 프로세스 또는 다른 프로세스에서 재사용할 수 있는 로그인, 항공편 찾기, 예약, 결제 및 로그아웃과 같은 구성 요소로 분할됩니다. 또한 BPT는 SME와 자동화 엔지니어 간의 긴밀한 조정을 촉진합니다.

테스트 자동화 프레임워크의 이점 Archi강의

테스트 자동화 프레임워크 아키텍처의 이점은 다음과 같습니다.

  • 테스트 자동화 프레임워크는 위험 및 비용 비용을 줄이는 데 도움이 됩니다.
  • 테스트의 효율성을 향상시킵니다.
  • 유지관리비 절감에 도움이 됩니다
  • 코드 재사용을 허용합니다.
  • 최대 테스트 범위를 달성할 수 있습니다.
  • 애플리케이션 기능을 극대화합니다.
  • 테스트 케이스 중복을 줄이는 데 도움이 됩니다.
  • 테스트 자동화로 테스트 효율성 및 성능 향상에 도움이 됩니다.

제품 개요

  • 프레임워크는 코딩 표준, 테스트 데이터 처리, 개체 저장소 처리 등과 같은 일련의 지침으로, 자동화 스크립팅 중에 이를 따르면 코드 재사용 증가, 이식성 향상, 스크립트 유지 관리 비용 절감 등과 같은 유익한 결과를 얻을 수 있습니다.
  • 선형 스크립팅은 모든 자동화 프레임워크 중에서 가장 간단하며 "기록 및 재생"으로도 알려져 있습니다.
  • 테스트 라이브러리 Architecture Framework는 "구조적 스크립팅" 또는 "기능적 분해"라고도 알려져 있습니다.
  • 데이터 기반 테스트 프레임워크에서 테스트 케이스 로직은 테스트 스크립트에 상주하며 테스트 데이터는 테스트 스크립트 외부에 분리되어 보관됩니다.
  • 키워드 기반 또는 테이블 기반 프레임워크에서는 이를 실행하는 데 사용되는 테스트 자동화 도구와 관계없이 데이터 테이블 및 키워드 개발이 필요합니다.
  • 하이브리드 자동화 프레임워크는 대부분의 테스트 자동화 프레임워크가 시간이 지남에 따라 여러 프로젝트로 발전하는 것입니다.