모든 웹 개발 팀은 제품에 대한 일련의 테스트를 수행하지만 나중에 제공되는 웹 솔루션에는 결함이 있습니다.
최고의 수동 테스트를 수행하더라도 첫 번째 릴리스 전에 결함을 포착하려는 QA 팀의 노력에도 불구하고 필연적으로 결함이 발생하고 다시 나타납니다.
소프트웨어 테스트의 효율성과 범위를 늘리려면 자동화된 웹 테스트가 최선의 선택입니다.
온라인 테스트의 경우 Python 프로그래밍 언어 셀레늄과 같은 외부 라이브러리를 활용할 수 있는 로봇 프레임워크를 제공합니다.
이번 포스팅에서는 파이썬 로봇 프레임워크와 관련된 테스트 케이스와 기타 용어들을 살펴보도록 하겠습니다.
로봇 프레임워크란?
로봇 프레임 워크 자동화된 소프트웨어 테스트, 로봇 프로세스 자동화, 승인 테스트 및 승인 테스트 기반 개발에 사용되는 Python으로 작성된 유연한 오픈 소스 일반 자동화 프레임워크입니다.
간단히 말해서 Python 기반의 키워드 기반 테스트 자동화 프레임워크입니다.
테스터는 복잡한 프로세스 스크립트를 효율적으로 자동화하고 유지할 수 있습니다. 이 프레임워크는 사용자 인터페이스와 애플리케이션 프로그래밍 인터페이스를 테스트하는 데 사용할 수 있습니다.
이를 통해 테스트 엔지니어는 수많은 다른 통합 외에도 Selenium을 활용할 수 있습니다. Selenium은 사용자 행동을 자동화하고 모든 웹 사이트에 대한 사용자 기반 웹 브라우저 상호 작용을 스크립팅하기 위한 업계 표준 도구입니다.
수락 테스트 란 무엇입니까?
시스템의 용량을 결정하는 방법입니다. 승인 테스트의 목표는 비즈니스 요구와 관련하여 시스템의 기능을 평가하는 것입니다.
로봇 프로세스 자동화 란 무엇입니까?
RPA(Robotic Process Automation)는 로봇 프로세스 자동화를 통합하는 소프트웨어를 사용하여 인간의 노동력을 최소화하는 방법입니다. 기계 학습 및 AI 기능. RPA는 높은 수준의 반복 프로세스를 자동화하는 데 사용됩니다.
수락 테스트 기반 개발이란 무엇입니까?
종종 ATDD로 알려진 수락 테스트 기반 개발은 비즈니스 고객, 개발자 및 테스터 간의 커뮤니케이션에 의존하는 개발 기술입니다. 그들은 기능을 배포하기 전에 협력하고 수락 테스트를 수행합니다.
로봇 프레임워크 – 상위 수준 아키텍처
로봇 프레임워크는 애플리케이션과 기술에 구애받지 않는 프레임워크입니다. 아키텍처는 아래 그림에서 볼 수 있듯이 매우 모듈식입니다.
테스트 데이터는 간단하고 편집 가능한 표 형식으로 제공됩니다. Robot Framework는 데이터를 분석하고 테스트 사례를 수행하며 시작 시 로그 및 보고서를 생성합니다.
핵심 프레임워크는 테스트 중인 대상에 대한 지식이 없으며 라이브러리는 대상과의 모든 상호 작용을 관리합니다. 라이브러리는 하위 수준 테스트 도구를 드라이버로 활용하거나 애플리케이션 인터페이스를 직접 사용할 수 있습니다.
특징
- 다양한 테스트 자동화를 허용하여 데이터 기반 테스트를 용이하게 합니다. 데이터 유형.
- 상당한 양의 코드 사용을 피하고 대신 동작 중심 테스트 전략을 사용합니다.
- 타사의 라이브러리 및 기능과 함께 작동할 수 있습니다.
- 키워드(사전 정의 또는 사용자 정의)는 테스트 사례를 작성하기 위해 테이블 형식으로 사용됩니다.
- 사용자는 키워드를 만들 수 있습니다.
- 변수를 사용할 수 있습니다.
- 프레임워크는 스크립트가 작고 이해하기 쉬운 용어(사전 정의 또는 사용자 정의)를 사용하여 작성되는 키워드 기반 방법을 사용합니다.
- 각 빌드 후 보고서,
- 및 로그가 생성됩니다.
- 스크립트 실행 상태에 대한 철저한 보고서와 로그를 생성하므로 스크립트가 실패하는 경우에 특히 유용합니다.
로봇 프레임워크 튜토리얼
들어가자.
1. 로봇 프레임워크 설치
pip 패키지는 Python에서 로봇 프레임워크를 설치하는 데 제안됩니다. 프레임워크를 설치하려면 다음 명령을 실행합니다.
-version 옵션을 사용하여 성공적으로 설치한 후 인터프리터 및 로봇 프레임워크 버전을 모두 볼 수 있어야 합니다.
2. 라이브러리
- 내장 – 이것은 자동으로 가져오고 항상 사용할 수 있는 일반적으로 사용되는 키워드 세트를 포함하는 표준 라이브러리입니다.
- 컬렉션 – Python 목록 및 사전 작업을 위한 키워드 집합을 제공합니다. 라이브러리의 키워드를 사용하여 목록 및 사전에서 값을 변경하고 생성할 수 있습니다.
- Dialogs – 실행을 중지하고 사용자 피드백을 받기 위한 표준 라이브러리입니다. 테스트가 실행 중인지 여부에 따라 대화 상자가 약간 일관성이 없습니다.
- DateTime을 사용하면 날짜 및 시간 정보를 생성하고 수정할 수 있습니다.
- 운영 체제 – 로봇 프레임워크가 실행되는 동안 시스템에서 다양한 운영 체제 관련 작업을 수행할 수 있습니다. 무엇보다도 명령을 수행하고 데이터를 직접 생성 및 수정할 수 있습니다.
- 프로세스 – 이 라이브러리는 Python 하위 모듈 및 개방형 클래스를 사용하여 프로세스를 실행하는 데 사용됩니다. 실행 프로세스 키워드는 시스템에서 실행 중인 프로세스를 기다렸다가 컴파일하는 데 사용됩니다.
- XML은 로봇 프레임워크에서 XML 문서를 확인하고 수정하는 데 사용하는 텍스트 라이브러리이기도 합니다.
- 문자열은 문자열을 조작하고 유효성을 검사하기 위한 패키지입니다.
- 텔넷을 통해 상호 작용할 수 있는 텔넷이 적용됩니다. 텔넷 라이브러리를 사용하면 일반 TCP/IP 연결을 통해 텔넷 서버에 연결하고 명령을 수행할 수 있습니다.
3. 내장 도구
로봇 프레임워크에는 주로 다음과 같은 네 가지 기본 제공 도구가 사용됩니다.
- Rebot – XML 출력에서 로그 및 보고서를 생성하고 수많은 출력을 동시에 병합하기 위한 도구입니다.
- Testdoc — 테스트 사례를 기반으로 Robot Framework는 높은 수준의 HTML 문서를 생성합니다.
- Libdoc – 라이브러리 및 리소스 파일용 키워드 문서 생성기.
- Tidy – 데이터 파일을 정리하고 다른 형식으로 변환하기 위한 로봇 프레임워크 도구입니다.
4. 테스트 케이스
자동화된 테스트 케이스 대신 로봇 프레임워크의 테스트 케이스를 기본 영어로 작성할 수 있습니다. 다음 테스트를 사용하여 테스트 시나리오를 분류할 수 있습니다.
- 워크플로 테스트
- 상위 수준 테스트
- 데이터 기반 테스트
워크플로 테스트
로봇 프레임워크의 테스트 사례는 종종 표 형식 구문으로 작성됩니다. 테스트 케이스 테이블의 첫 번째 열에는 테스트 이름이 포함되며 테스트 케이스는 열의 모든 항목으로 시작하고 다음 테스트 케이스 이름 또는 테이블의 끝으로 끝납니다.
이것이 어떻게 작동하는지 이해하기 위해 실제 예를 살펴보겠습니다.
- 사용자는 계정을 생성하고 로그인할 수 있습니다.
- 비밀번호가 올바르지 않으면 사용자는 로그인할 수 없습니다.
높은 수준의 테스트
두 번째 열에는 키워드로 작성된 값으로 변수를 설정하는 경우를 제외하고 일반적으로 키워드 이름이 포함됩니다.
로봇 프레임워크의 테스트 사례는 위치 매개변수 없이 고급 키워드만 사용하여 구축할 수 있습니다. 높은 수준의 테스트를 더 자세히 이해하려면 다음 예를 고려하십시오.
데이터 기반 테스트
데이터 기반 테스트는 절차를 시뮬레이션하는 대신 테스트 데이터를 격리합니다. 로봇 프레임워크에서 [템플릿] 설정은 데이터 기반 테스트를 위한 테스트 케이스를 정의합니다.
5. 키워드
로봇 프레임워크에서 테스트 케이스를 구축하기 위해 두 소스의 키워드가 사용됩니다.
- 도서관 키워드
- 사용자를 위한 키워드
도서관 키워드
표준 라이브러리는 다음과 같은 컴퓨터 언어를 사용하여 구현할 수 있는 모든 최하위 용어를 정의합니다. 파이썬과 자바.
표준, 외부 및 사용자 지정 라이브러리는 로봇 프레임워크와 함께 사용할 수 있는 테스트 라이브러리 중 하나입니다. 핵심 프레임워크에는 내장, 스크린샷, OS 및 기타 표준 라이브러리가 포함됩니다.
사용자를 위한 키워드
기존 구문에서 고유한 고급 키워드를 생성하는 기능은 로봇 설계의 가장 중요한 기능 중 하나입니다. 작동 방식을 더 자세히 이해하기 위해 예를 살펴보겠습니다.
6. 변수
변수는 로봇 프레임워크의 모든 테스트 사례에서 중요한 부분입니다. 변수는 테스트 사례에서 변경 또는 가변성이 있는 모든 데이터를 지정하는 탁월한 접근 방식입니다.
테스트 케이스에서 변수를 정의하는 방법을 살펴보겠습니다.
변수 지정
사용자 정의 변수 외에도 로봇 프레임워크에는 이전 예제에서 사용한 $TEMPDIR 및 $/와 같은 내장 변수가 있습니다.
변수 활용
변수는 테스트 케이스의 어디에서나 사용할 수 있습니다.
그러나 가장 일반적으로 키워드 인수로 사용됩니다. 내가 의미하는 바를 설명하기 위해 다음 예를 고려하십시오.
7. 테스트 케이스 구성
테스트 사례 파일은 로봇 테스트 사례를 구축하는 데 사용되지만 테스트 스위트 계층 구조를 만들기 위해 디렉터리로 그룹화할 수도 있습니다. 테스트 스위트는 테스트 케이스의 그룹입니다. 테스트 스위트는 테스트 케이스를 포함하는 모든 파일로 구성됩니다.
디렉토리를 사용하면 테스트 사례를 계층 구조로 구성할 수 있습니다. 이러한 모든 디렉터리는 디렉터리 이름에서 파생된 이름을 가진 높은 수준의 테스트 모음을 제공합니다.
설정 및 분해 사용
설정 테이블의 "Test Setup" 및 "Test Teardown" 옵션을 사용하여 테스트가 완료되기 전이나 후에 테스트에서 특정 키워드를 실행할 수 있습니다. "Suite Setup" 및 "Suite Teardown"을 사용하여 테스트 스위트 전후에 키워드를 실행할 수도 있습니다.
[템플릿]과 유사하게 테스트 케이스에서 사용자 지정 [설정] 및 [해제]를 만들 수 있습니다. 이를 더 잘 이해하려면 다음 시나리오를 고려하십시오.
태그 사용
로봇 프레임워크를 사용하면 태그를 사용하여 테스트 사례에 무료 메타데이터를 제공할 수 있습니다. "강제 태그" 및 "기본 태그"는 파일에서 태그를 설정하는 데 사용할 수 있습니다. [Template]과 같은 [Tags]는 단일 테스트 사례에 태그를 할당하는 데 사용할 수 있습니다. 태그를 사용하는 방법을 알아보기 위해 예를 살펴보겠습니다.
보고서에는 테스트 사례가 연결된 태그와 실행 후 태그를 기반으로 한 통계가 포함됩니다.
장점
- 로봇 프레임워크를 설정하는 것은 쉽습니다.
- 키워드를 기반으로 합니다.
- 작은 오이를 사용할 수 있습니다.
- 둘 다 작동합니다. 모바일 및 웹 기반 앱.
- 로봇 프레임워크의 기본 사항은 이해하기 쉽습니다.
- 로우 코드 접근 방식을 사용합니다.
- Windows, Mac OS X, Unix 및 Linux가 모두 지원됩니다.
- Python, IronPython 및 PyPy는 모두 지원되는 프로그래밍 언어입니다.
- 모든 주요 웹 브라우저에서 작동합니다.
- Robot Framework는 무료로 사용할 수 있는 오픈 소스 자동화 도구입니다.
단점
- 병렬 테스트 실행은 Robot Framework에서 지원되지 않습니다.
- 로봇 프레임워크는 따라가기가 어렵습니다.
- Robot Framework의 HTML 보고서는 변경하기 어렵습니다.
- 일부 Robot Framework 문제를 디버깅하는 것은 까다로울 수 있습니다.
- 들여쓰기는 로봇 프레임워크에서 엄격하게 적용됩니다.
결론
로봇 플랫폼은 무료 오픈 소스 수락 테스트 및 수락 테스트 기반 개발 프레임워크입니다.
로봇 프레임워크의 테스트 케이스는 표 형식으로 표현된 키워드를 기반으로 구축되어 이해하기 쉽고 테스트 케이스의 의미에 대한 정확한 정보를 제공합니다.
정말 편리하고 사용하기 쉽습니다.
일부 사용자는 이전에 사용해 보았으므로 테스트를 설정하고 Android/iOS 앱을 사용할 준비가 되었으면 사용해 보세요.
일이 얼마나 잘 진행되고 승인 테스트가 얼마나 빨리 완료될 수 있는지에 놀라게 될 것입니다.
댓글을 남겨주세요.