자동화 테스트 란 무엇입니까? – 테스트 프로세스 및 유형

문제를 제거하기 위해 도구를 사용해보십시오





중요한 작업을 수행하기 위해 가정과 기업에 새로운 애플리케이션과 장치를 도입하면 소프트웨어가 더욱 가치 있고 중요해집니다. 4 월 16 일, 1994 년, 항공기가 공항에 착륙하기 직전에 치명적인 비행기가 추락했습니다. 250 명이 사망 한 곳은 중화 항공 사상 가장 치명적이었습니다. 사건의 주요 원인은 소프트웨어 버그 때문이었습니다. 소프트웨어 사용자는 구현하기 전에 테스트되지 않았습니다. 모든 시스템에는 소프트웨어 버그가 있습니다. 버그없이 소프트웨어 시스템을 설계하는 것은 불가능합니다. 그러나 소프트웨어 버그로 인한 시스템 오류는 소프트웨어 테스트를 통해 보호 할 수 있습니다. 소프트웨어 테스트는 개발 된 컴퓨터 소프트웨어의 오류, 완전성 및 품질을 찾는 데 사용되는 프로세스입니다. 여기에는 제품이 최종 사용자에게 출시되기 전에 수정할 수 있도록 소프트웨어에서 오류를 찾을 목적으로 수행되는 일련의 활동이 포함됩니다. 두 가지 유형의 테스트 절차 수동 테스트가 있습니다. 오토메이션 테스트.

자동화 테스트 란 무엇입니까?

자동화 된 테스트는 도구, 스크립트 및 소프트웨어의 지원을 사용하여 미리 정의 된 작업을 반복하여 테스트 사례를 수행합니다. 사전 스크립트가 실행될 때 예상 결과와 실제 결과를 비교하는 사전 스크립트 테스트에 완전히 의존합니다. 부하, 스트레스, 스파이크와 같은 테스트는 자동화 도구를 사용하여 테스트 할 수 있습니다. 예 : Facebook은 생각을 디지털 텍스트로 변환 할 수있는 뇌-컴퓨터 인터페이스를 테스트하고 있습니다.




어떤 테스트 사례를 먼저 자동화해야합니까?

다음은 먼저 자동화 할 테스트 케이스입니다.

  • 반복 작업 – 로그인 페이지가 사용자 요구 사항에 따라 작동하는지 확인하기 위해 로그인 자격 증명을 여러 번 테스트하는 전자 상거래 사이트와 같은 예입니다.
  • 결과 캡처 및 공유 – 숫자를 계산하고 그래프를 도구에 투자하거나 시간을 절약 할 수있는 자동화 전략이 유용 할 수 있습니다.
  • 데이터 입력 테스트 – 쉽게 읽을 수 있도록 데이터 소스에 대한 정보를 자동화합니다. 데이터 변동성을 더 잘 처리 할 수있는 곳. 즉, 수천 개의 데이터 중 특정 데이터를 검색하려는 경우 자동화 도구를 사용하여 특정 데이터를 검색 할 수 있습니다.
  • 타이밍 또는 스크리닝 응답 – 화면을 수동으로 추적 할 필요가 없으며 자동화 된 코드 '기다리기'를 사용하여 개선 할 수 있습니다.
  • 비 기능 테스트 – 비 기능 테스트 유형 자동화의 예는 부하 테스트 자동화입니다. 수동으로 테스트하는 대신로드가 10,000 개인 경우 자동화 테스트를 사용하는 것이 더 나은 옵션입니다.

자동화 테스트 프로세스

자동화 테스트에 사용되는 단계별 절차는 다음과 같습니다.



자동화-테스트-프로세스

자동화 테스트 프로세스

1). 테스트 도구 선택

관련된 테스트의 특성에 따라 올바른 도구를 선택하는 것은 자동화가 성공하는 데 매우 중요합니다. 코드 기반 테스트, 프로세스 또는 그래픽 사용자 인터페이스 기반 테스트에 적합한 도구를 선택해야합니다.


2). 자동화 범위 정의

자동화의 범위는 기본적인 역할을합니다. 예를 들어, 모든 비즈니스의 중요한 기능은 다양한 플랫폼과 애플리케이션에서 공통 기능을 가진 데이터 양이 많은 시나리오와 테스트 케이스의 복잡성입니다. 기타.

삼). 계획 설계 및 개발

목표와 자동화 할 테스트 유형을 결정한 후 자동화 된 테스트가 수행 할 작업을 결정해야합니다. 먼저 테스트 케이스를 더 작은 논리적 테스트로 개발 한 다음 테스트 스크립트를 작성하고 테스트 스위트를 개발하여 자동으로 차례로 실행됩니다. 이는 여러 테스트 케이스가있는 라이브러리와 같은 슈트에서 테스트를 생성하여 생성됩니다.

4). 테스트 실행

테스트 스크립트 실행에는 자동화 도구 또는 테스트 관리 도구가 사용됩니다. 최종 실행 후 개별 테스트에 대한 자세한 보고서를 작성해야합니다. 보고서를 다른 테스트에 대한 참조로 사용할 수 있습니다.

5). 유지

자동화 스크립트는 각주기에 대해 추가, 검토 및 유지 관리됩니다. 유지 보수가 필요한 경우. 예를 들어 코드를 작성한 후 코드를 확인하고 버그가 있으면 오류가 발생합니다. 따라서 코드의 어느 부분에 오류가 있는지 확인하고 수정 한 다음 코드를 처음부터 바로 실행합니다. 따라서 유지 관리는 자동화 스크립트의 필요성을 높이는 중요한 역할을합니다.

자동화에 대한 접근

자동화에는 세 가지 접근 방식이 있습니다.

1). 코드 기반 접근 방식

프레임 워크를 테스트하고 테스트 케이스 실행에 중점을 두어 코드의 다양한 섹션이 다른 조건에서 예상대로 수행되는지 확인합니다. 민첩한 소프트웨어 개발에 널리 사용되는 방법입니다.

2). 그래픽 사용자 인터페이스 (GUI)

이 방법을 사용하여 GUI가있는 응용 프로그램을 테스트하여 사용자의 작업과 응답을 여러 번 기록 할 수 있습니다. 예 : 웹 사이트를 테스트하는 데 사용되는 Selenium 도구. 테스트 케이스는 java, phyton, C .. 등과 같은 스크립팅 언어로 작성할 수 있습니다.

삼). 프레임 워크 접근

일련의 지침입니다. 프레임 워크가 함수의 라이브러리, 테스트 데이터 소스, 개체 세부 정보 및 기타 재사용 가능한 모듈을 결합하는 위치입니다. 유지 보수 비용이 저렴하고 효율적입니다. 예 : 테스트 케이스에 변경 사항이있는 경우 드라이버 또는 시작 스크립트를 변경하지 않고 테스트 케이스 파일의 해당 부분을 업데이트해야합니다.

프레임 워크 유형

다양한 유형의 프레임 워크 접근 방식이 있습니다.

  • 선형 스크립팅 프레임 워크
  • 데이터 기반 프레임 워크
  • 키워드 기반 프레임 워크
  • 모듈 식 테스트 프레임 워크
  • 하이브리드 테스트 프레임 워크.

자동화 테스트 유형

다양한 유형의 자동화 테스트는 다음과 같습니다.

  1. 단위 테스트
  2. 연기 테스트
  3. 기능 테스트
  4. 통합 테스트
  5. 회귀 테스트

1). 단위 테스트

웹 애플리케이션에는 테스트 할 여러 구성 요소 / 모델이있을 수 있습니다. 모든 모델을 테스트하는 프로세스는 단위 테스트입니다. 개발 단계에서 수행됩니다. 개발자와 테스터가 코드를 작성하는 곳.

2). 연기 테스트

연기 테스트는 '빌드 검증 테스트'라고도합니다. 코드가 최종 결과의 예상대로 작성되었는지 여부를 확인하는 데 사용됩니다. 연기 테스트에서 테스트가 완료되면 최종 결과가 향후 테스트를 계속할지 여부를 결정합니다. 테스트 중 문제는 초기 단계에서 식별 할 수 있습니다.

삼). 기능 테스트

웹의 기능을 확인하여 그에 따라 작동하는지 여부를 확인합니다. 예를 들어 로그인 페이지를 고려하면 사용자 ID와 암호를 입력해야합니다. 올바른 데이터를 입력하지 않으면 예상 페이지가 열리지 않습니다. 로그인 페이지에 대한 코드가 작성되고 올바르게 테스트되면 예상 페이지가 열리면 기능 테스트가 올바르게 작동하고 있음을 의미합니다.

4). 통합 테스트

여기에서 개별 구성 요소가 통합되고 한 번에 테스트됩니다. 개별 모듈이 서로 통신 할 수 있는지 확인할 수있는 곳입니다. 예를 들어 볼펜의 제조를 고려해 보면, 펜이 리필, 캡, 바디로 구성되어 별도로 제조되고 함께 조립됩니다. 조립하는 동안 제대로 장착되었는지 여부를 확인합니다.

5). 회귀 테스트

코드에 업데이트가있을 때 이미 작성된 코드에 영향을 미치지 않도록합니다. 따라서 회귀 테스트를 수행합니다. 회귀 테스트의 사용은 요구 사항에 따라 코드를 업데이트하고 오류를 감지하여 수정하는 것입니다. 회귀 테스트의 예로는 현재 계정 잔액 업데이트와 같이 필요할 때 웹 사이트가 주기적으로 업데이트되는 은행 웹 사이트가 있습니다. 따라서 웹 사이트를 업데이트하는 동안 새로 업데이트 된 기능이 기존 기능에 영향을 미치지 않는지 확인해야합니다.

자동화 도구를 선택하는 방법?

적절한 자동화 도구를 선택하려면 아래 나열된 다음 속성을 확인하십시오.

  • 환경 지원
  • 데이터베이스 테스트
  • 개체 식별
  • 이미지 테스트
  • 오류 복구 테스트
  • 다중 프레임 워크 지원
  • 비용 최소화
  • 광범위한 테스트 보고서 및 비용.

자동화 테스트 도구의 유형

많은 자동화 테스트 도구가 있으며 그중 일부는 아래에 나열되어 있습니다.

1). 셀렌

웹 애플리케이션, 여러 브라우저 및 플랫폼을 수행하는 데 널리 사용되는 테스트 방법 인 오픈 소스입니다. 셀레늄의 최신 버전은 Selenium4입니다. 프로그래머는 고급 프로그래밍 언어 기술이 필요합니다. 셀레늄, 셀레늄 IDE, 셀레늄 원격 제어, 웹 드라이버, 셀레늄 그리드의 네 가지 구성 요소가 있습니다.

2). 물

웹 애플리케이션 테스트를 자동화하는 루비 라이브러리로 구성된 오픈 소스 테스트 도구입니다. watir의 최신 버전은 watir 6.16입니다. 코드는 모든 언어로 작성할 수 있습니다. Firefox, chrome, safari는 watir에서 지원하는 특정 브라우저입니다. watir의 기능 중 일부는 화면이 짧고 페이지 성능이 뛰어나고 어떤 파일이든 쉽게 다운로드 할 수 있다는 것입니다.

삼). Ranorex

유연한 올인원 GUI 테스트 도구입니다. 모든 환경 브라우저 및 장치에 적합합니다. C # 및 V.NET을 지원합니다. Microsoft Windows 및 Windows 서버에 내장되어 있습니다. ranorex의 주요 구성 요소는 ranorex 레코더, ranorex 저장소, ranorex 스파이, ranorex 코드 편집기 및 ranorex 디버거입니다.

4). API (응용 프로그래밍 인터페이스 테스트)

오픈 소스 애플리케이션 소프트웨어 인 모바일 테스트 도구입니다. API는 실행 된 API 테스트가 정확한 결과를 제공하는지 여부를 찾습니다. 단위 테스트, 기능 테스트, 부하 테스트, 런타임 오류 감지, 보안 테스트, 웹 UI 테스트, 침투 테스트, 퍼지 테스트 등 다양한 유형의 API 테스트가 있습니다. POSIX API에서 구현됩니다.

모바일 애플리케이션 용 자동화 테스트 도구

모바일 애플리케이션을위한 다양한 유형의 자동화 테스트 도구는 Appium, Robotium, MonkeyRunner, UI Automator, Selendroid, MonkeyTalk, Testdroid, Calabash, Frank, SeeTest입니다.

1). appium

  • 오픈 소스입니다
  • Java, Ruby 및 기타 지원
  • 소스 코드를 재사용 할 수 있습니다.
  • Android 및 Ios와 호환됩니다.

2). 로봇

  • 오픈 소스입니다
  • 모든 Android 버전 및 하위 버전과 호환됩니다.
  • 코드는 Java로 작성됩니다.

삼). 몽키 러너

  • 프레임 워크 또는 기능 수준 테스트는 monkeyrunner를 사용하여 수행됩니다.
  • 코드는 파이썬으로 작성됩니다.
  • 기능 : 한 번에 많은 장치를 제어하고 자동화를 확장 할 수 있으며 Android 앱과 하드웨어를 테스트 할 수 있으며 자동화를 확장 할 수 있습니다.

4). UI 자동화

  • UI 테스트 케이스를 사용하여 사용자 인터페이스를 테스트하는 데 사용됩니다.
  • 다양한 버전의 안드로이드 지원
  • 스마트 폰을 잠그고 잠금 해제 할 수 있습니다.

5). 셀렌 드로이드

  • 안드로이드 기반 하이브리드의 사용자 인터페이스를 테스트하는 데 사용됩니다.
  • selendroid를 사용하여 테스트 케이스 작성
  • 실험 계획안 JSON 와이어는 매우 호환됩니다.

자동화 테스트와 관련된 위험

자동화 테스트와 관련된 위험은

  • 초기 비용이 높을 것입니다.
  • 자동화는 100 %가 아닙니다
  • 고정되지 않은 UI를 자동화하지 않습니다.
  • 시간과 노력에 대한 잘못된 평가
  • 자동화 도구의 비 호환성.

자동화 테스트의 장점

장점 오토메이션 테스트는

  • 테스트 케이스 실행이 단순화됩니다.
  • 테스트의 신뢰성 향상
  • 유지 보수 비용 절감
  • 테스트 결과는 공개됩니다.
  • 인적 오류 없음
  • 시간과 메모리를 절약합니다.

여기에 소프트웨어에 대한 설명이 있습니다. 자동화 테스트, 테스트 프로세스, 자동화 테스트 유형 및 자동화 테스트 도구. 여기에 '자동 테스트가 수동 테스트보다 더 나은 방법'이라는 질문이 있습니다.