내용으로 건너뛰기
UI 자동화 테스트란 무엇이며 왜 사용해야 합니까?

UI 자동화 테스트란 무엇이며 왜 사용해야 합니까?

그렇다면 UI 자동화 테스트란 무엇일까요? 글쎄, UI 또는 사용자 인터페이스를 세분화하는 것부터 시작하겠습니다., UI 또는 사용자 인터페이스는 사용자가 화면에서 상호 작용하는 애플리케이션의 프런트 엔드입니다.

4min read

그렇다면 UI 자동화 테스트란 무엇일까요? 글쎄, 그것을 분해하는 것부터 시작하겠습니다. UI 또는 사용자 인터페이스는 사용자가 화면에서 상호 작용하는 애플리케이션의 프런트 엔드입니다.

UI 테스트란 무엇입니까?

사용자가 할 가능성이 높거나, 할 수 있거나, 할 수 있는 일, 또는 더 중요하게는 할 수 있지만 실행 중인 응용 프로그램으로 할 수 없어야 하는 모든 것은 사용자 인터페이스의 일부이므로 테스트 대상입니다. 버튼을 클릭할 때마다 데이터를 입력할 수 있습니다. 작동할 것으로 예상되는 항목뿐만 아니라 실패할 것으로 예상되는 항목도 테스트하려고 합니다.

다음은 테스트할 영역의 몇 가지 예제 시나리오이며, 사용자가 다음과 같이 수행할 때 발생하는 상황입니다.

  • 그리드에 새 행을 추가하고 모든 필드를 올바르게 입력하면 데이터가 저장됩니까?
  • 모든 필드를 입력하기 전에 클릭이 완료되면 계속할 수 있습니까?
  • 취소를 클릭하면 모든 데이터가 입력되면 모든 데이터가 삭제됩니까?
  • 시작 날짜 이전의 종료 날짜를 입력합니까?
  • 일련의 값을 입력한 후 올바른 값을 계산합니까?
  • 하위 양식을 열 항목을 선택하기 위해 메뉴를 풀다운하시겠습니까? 올바른 양식이 열리나요?
  • 메뉴를 풀다운하면 예상되거나 허용된 메뉴 옵션만 볼 수 있습니까?

개발자가 값을 올바르게 계산하고, 데이터를 추가하고, 데이터를 변경하고, 응용 프로그램을 탐색하는 등의 작업을 수행하는 데 추가하는 모든 논리에 대해 테스트해야 합니다. 오늘날의 민첩한 개발 스타일에서 조기 제공 및 지속적인 개선, 내일의 변화는 어제 테스트하고 승인한 영역을 잠재적으로 무너뜨릴 수 있습니다. 그렇다면 어떻게 처리해야 할까요?

Manual Testing?

한 가지 옵션은 IE 수동 테스트입니다. 테스터 집합이 응용 프로그램을 열고 응용 프로그램을 체계적으로 중단하도록 합니다. 어느 쪽도 작동하지만 응용 프로그램이 커지고 더 많은 변경이 이루어질수록 더 많은 테스트가 필요합니다. 응용 프로그램이 변경될 때마다 응용 프로그램의 많은 부분을 반복해서 다시 테스트해야 할 수 있습니다. 이는 비용이 많이 드는 노동 시간이 될 수 있으며, 이로 인해 사람들은 종종 테스트를 해야 하는 것보다 덜 자주 테스트하게 됩니다.

Do I even really need testing?

이는 다음 옵션인 타조 접근 방식으로 이어집니다. 시간도 없고, 시험을 치르기에는 너무 많은 일도 있고, 사람들을 아낄 수도 없습니다. 우리는 전에 그것을 테스트했고, 이러한 변경 사항은 응용 프로그램의 해당 영역에 영향을 미치지 않아야 하며 괜찮을 것입니다. 이러한 변명을 전에 듣거나 말한 적이 있습니까? 응용 프로그램을 다시 테스트하지 않고 변경 사항이 반복될 때마다 기술 부채가 계속 증가할 수 있습니다. 테스트되지 않았거나 테스트되지 않은 코드 영역은 잠재적으로 위험에 처할 수 있으며, 응용 프로그램에 따라 비용이 많이 드는 결과를 초래할 수 있습니다.

그렇다면 UI 자동화 테스트란 무엇일까요?

원래 질문으로 돌아가서 UI 자동화 테스트 란 무엇입니까? UI 자동화 테스트는 수동 테스트와 비슷하지만 사용자가 응용 프로그램을 클릭하고 데이터를 시각적으로 확인하는 대신 수행합니다. 테스트하려는 각 테스트 사례에 대한 스크립트를 만듭니다. 스크립트가 수행할 일련의 단계를 추가하고 다음과 같이 데이터를 확인합니다.

numboxCost.Set(5000.00) numboxInterest.Set(5%) btnCalculate.Click() IF numboxTotal.GetValue() != 5250 THEN 오류 보고

왜 사용해야 합니까?

수동 테스터가 가질 수 있는 일반적인 테스트 계획은 화면당 20개에서 100개까지 쉽게 가질 수 있습니다. 모든 테스트 사례를 철저히 테스트하는 데 최대 몇 시간에서 며칠이 걸립니다. 이러한 시나리오의 전부는 아니더라도 대부분을 테스트하기 위해 자동화 스크립트를 작성할 수 있습니다. 실행할 때 종종 몇 분 안에 실행할 수 있습니다. 이러한 시간 절약은 인건비 측면에서 경제적 일 뿐만 아니라 경제적입니다. 이는 종종 자동화된 스크립트를 더 자주 다시 실행할 수 있음을 의미합니다. 모든 것이 원활하게 실행되는지 확인하기 위해 애플리케이션을 다시 테스트하기 위해 릴리스 직전까지 기다리는 대신 모든 체크 인 후에 실행할 수 있습니다.

결국 UI 자동화 테스트의 역할은 개발자가 Agile 개발의 핵심 구성 요소인 "더 빨리 실패"할 수 있도록 하는 것입니다. 오류를 더 빨리 식별할 수 있고, 릴리스되기 훨씬 전에 문제를 수정할 수 있는 더 많은 시간을 얻을 수 있습니다. 귀사와 귀사의 고객이 최종 제품에 대해 더 큰 확신을 가질 수 있도록 합니다.

IG TestAutomation for HP
http://ko.infragistics.com/products/test-automation-hp-uft

IG TestAutomation for IBM RFT
http://ko.infragistics.com/products/test-automation-ibm-rft

Voice your suggestions today, for the products of tomorrow 
httsp://ko.infragistics.com/community/ideas

데모 요청