완전 자동화 된 테스트 플랫폼을 포함해야합니까

  자동화 된 테스트는 매우 흔한 오해는 가장 널리 알려진 셀레늄 등의 자동화 된 테스트 자동화 테스트 도구의 일종으로 동일시하는 것입니다, 그러나 이것은 단지 좁은 의미에서 이해된다, 언급했다. 실제 프로젝트 실제로, 내용은 자동화 된 테스트, 자동화 된 테스트 도구뿐만 아니라 어떤 종류의 많이 들어, 나는 정교한 자동화 된 테스트 플랫폼, 이들은 다음과 같은 측면을 포함해야 이해 :

  • 테스트중인 툴 프레임 또는 운영 체제를 자동 : 예를 들어, 흰색 셀레늄 웹 프로그램, Appium 이동 통신 단말기의 Windows 응용 프로그램, AutoIt을, 같은 QTP. 그들은 기본적인 사용 사례의 테스트 조직의 틀이 없기 때문에 그들은 단지 자동화 프레임 워크는 테스트중인 시스템의 자동 운전 할 수있는 기능을 제공하는 것을 제발 노트, 테스트 프레임이 아닌, 검사 및 기타 기능의 결과, 그것은 기본적으로 필요하며 연습 A의입니다 프레임 워크를 테스트하는 것은 사용을 통합합니다.
  • , 통합 및 자동화 프레임 워크 정렬 사용 사례, 분류, 스케줄링, 결과 검증, 보고서 출력 및 자바 JUnit을, TestNG를, 파이썬의 Pytest, 루비의 RSpec에 다른 기능, 오이 등 다양한 언어에 적응 할 수있는 기능을 제공 : 프레임 워크를 테스트.
  • 테스트 환경의 건축 : VM웨어, AWS 및 빌드로 다른 가상화 및 클라우드 기술을 사용하고 운영 체제 레벨 서버 빌드를 관리하고 고정 표시기 컨테이너 기술의 사용으로 응용 프로그램 수준의 서비스를 관리 할 수 ​​있습니다. 다수의 컨테이너가 고정 표시기 등의 구도를 떼 고정 표시기를 사용하는 경우는 Kubernetes보다 복잡한 관리 및 전체 환경을 유지하는 경우에 사용될 수있다. 테스트 환경은 이상적으로 버전 관리 및 시스템 제어에서 전체 배포 스크립트를 사용하여, 하나의 버튼 배치를 자동화해야한다. 추적은 할 수있는, 신속, 테스트 담당자가 환경을 보호 할 수있는 기능과 함께, 환경 제어에 대한 자신의 전용 테스트 환경을 가지고 로컬 테스트 환경에서 구축 할 수 있습니다 쉽게 처음부터 구축 할 수 롤백 할 수 있습니다 만들거나 파괴 할 필요에 따라 언제든지.
  • 테스트 데이터 준비 : 테스트 자동화 지원으로 완벽한 제어 테스트 데이터를 요구하거나 자동화 된 테스트가 제공되지만 팀에 부담이 될 것이다 구현의 결과를 예측할 수 없습니다. 인간의 능력 및 권한 관리, 운영 및 시스템에 대한 테스트 직원 필요가있는 정확한 준비를 해당 API 필드는 요구와 같은 비즈니스 운영 및 데이터 등의 데이터 (에 대한 깊은 이해를 가지고 주요 장애물 사실과 해당 데이터베이스 어떤 테이블). A로부터 데이터를 준비 상향식 (bottom-up) 데이터가 테스트중인 시스템에 대해 잘 알고 있어야하는 API (API 메시지 요구 전화를 작성, 데이터베이스에 직접 내장 (데이터베이스에 대한 권리를 가진다 달성하기 위해 일반적으로 더 어려운, 테이블 구조에 대해 잘 알고 있지만, 가장 효율적인 방법입니다) 할 수있다 구조는 데이터를 정리하는 적절한 방법이 필요 자동화 된 테스트를 실행 한 후,),과 (UI 자동화 스크립트를 통해 가장 눈에 띄는를 만들 수있는 권한)을 가지고 있지만, 가장 효율적인, 적어도 안정적. 또 다른 방법은 모두이 문제를 해결하기 위해 시스템에 의존뿐만 아니라 완전한 데이터에 의존 할 준비하지만, 모의 서버의 개발 작업의 일정 금액을 필요로하고, 필요가 시스템 및 서비스, 모의 서버 의지의 사용을 매우 잘 알고 있어야 그래서, 모의 서버를 통해 시험의 신뢰성에 리드는 실제 시스템 통합 사이의 문제를 감지 할 수 없습니다. 자바의 봄 부팅이 wiremock는 파이썬의 플라스크, 루비의시나 그래서 모의 서버를 만드는 데 사용할 수 있습니다.
  • 동시 실행 : 동시 실행 등의 받는다는 확실한 및 안전 장치, 실행 기능의 Gradle을 여러 스레드, 오이 JVM 같은 도구를 구축하는 등의 병렬 테스트 기능의 사용과 같은 동시 실행을 구현하는 여러 가지 방법이있다, 테스트 실행 속도 향상에 효과적인 방법이다 동시 실행. 또한보다 복잡한 다음 다른 도구 또는 병렬 테스트의 루비로 달성하기 위해 라이브러리 등을 사용할 수 있습니다, 당신은 BAT와 다른 최고 인터넷 기업에, 다른 고정 표시기 컨테이너에서 실행하는 분산 특별한 프로그램이나 테스트에 서비스를 쓸 수 있습니다 시험에서 공유는 이러한 사건이 있었다. 또 다른 문제는 간섭이 서로 동시에 발생 방지하기 좋은 테스트 케이스, 테스트 데이터, 문제 분리 테스트 환경의 동시 실행을 해결하기 위해 필요하다. 이것은 각 테스트 또는 테스트 시나리오에서, 설계 시험 디커플링 좋은 혼자서 수행 할 수없는 상호 의존적 중에서 실시 예의 경우 필요하다. 테스트 데이터의 준비, 고유성 및 데이터의 독립을 할 수에서 데이터는 구현 후 불필요한 데이터를 삭제, 실행 전에 미리 준비뿐만 아니라, 멀티 스레드 교착 상태를 실행할 때 몇 가지 시나리오가 공유 데이터를 동기화 고려 다른 문제지만, 멀티 스레드 프로그래밍을 처리하는 것은 매우 성숙 접근 방식을 가지고 자바, 파이썬 등 현재 주류 프로그래밍 언어와. 테스트 환경을 준비하는 프로젝트 시나리오에 따라 정보가 또한 하나의 환경에서 수행 할 수있는 다른 방법은 여러 테스트 환경에서 수행 할 수 있지만, 착륙 및 기타 문제가 사전에, 또는 회피 고려 될 필요가있는 동안 일부 시스템 계정이 존재하지 않을 수 있습니다 . 여기에서 나는 서로 분리 빠르게 동시 테스트를 수행하기 위해 구축하고 테스트 환경에 등등에 적합 컨테이너 사이, 광고, 경량 고정 표시기 컨테이너 기술, 낮은 오버 헤드 스타트 ​​파괴에 대한 고정 표시기를하고 싶습니다.
  • CI와 통합 : 팀의 눈에 보이는 결과 만 테스트하지 자동화 된 최대 규모의 놀이에 CI 통합, 또는 유일한 기계 테스터에서 수행 할 수있는 경우가있을 것입니다, 표준화 된 스케줄링 정책의 부족, 다른 문제에 팀의 관심으로 이어질 수 없습니다 쓸모없는 자동화 된 테스트의 결과. 그리고 CI의 전체 라인 또한 단어에 자동화 된 테스트, 민첩 철학을 포함해야, 더 CI를 호출 할 수없는 CI의 테스트가 자동화되지 않습니다. 자동 테스트 및 CI 통합을 달성하기 위해 기술적으로 어렵지 않다, 본질적으로, CI에 국부적으로 수행되는 실행 시스템에 의해 실행까지 테스트하는 것, 등 CircleCI 젠킨스, 대나무 등의 현재 주류 CI 도구를 쉽게 구성을 완료 . 주목해야한다 그것은 여전히 테스트 환경은 두 부분으로, 환경과 테스트 환경에서 자동화 된 테스트 시스템의 구현으로 구성되어 테스트 환경입니다. 환경 수행 CI 시스템의 구현에 일반적으로 환경을 테스트 자동화, 당신은 자바 나 파이썬 환경, Webdriver, 브라우저 등으로 CI 환경을 수행하도록 시스템을 구성 할 필요가, CI 실행 컴퓨터를 액세스 할 수 있도록 시스템 요구 사항을 테스트했다. 이것은 일반적으로 리눅스 환경, 당신은 그래픽 인터페이스를 실행할 수 있습니다 CI 집행 메커니즘 등의 세부 정보를 많이 포함 할 것이다, 당신은 전체 테스트 실행 환경을 캡슐화하는 브라우저의 헤드리스 (headless) 모드, 여전히 좋습니다 고정 표시기를 사용할 필요가 그래서 그 CI의 구현 기계 때문에 같은 많은 문제를 가져 의존성과 환경을 피 차이 만 고정 표시기 풀, 그 위에 고정 표시기 실행이 필요합니다. 그것은 다른 게시물에 나의 기사 설명 하는 방법을 자동화 된 테스트 고정 표시기 컨테이너를 수행하는 방법을 .
  • 그리고 통합 사용 사례 관리 시스템 : 우리가 통합 할 수 있으며, 사용 사례 관리 시스템 구현의 자동 주석 결과, 더 쉽게, 많은 프로젝트에서 일반적인 관행 인 경우 자동화 된 테스트 실행은 더 테스트 보고서를 생성하지만 것입니다. 사용 사례 관리 시스템은 우리가 분석하고 실제 상황에 따라 사용하는 다른 기업과 프로젝트를 해결하기 위해 필요, 그 중 일부는 자체 시스템을 개발, 다양. 그러나 일반적으로 사용 사례 관리 시스템은 API 레이블의 결과를 제공 할 수 있습니다 요구, 수집 된 시험 보고서에 테스트 실행 후, 그 결과에 라벨을 붙이기 위해 사례 관리 시스템과 API를 호출 특별한 프로그램이있다. 업계에서 가장 잘 알려진 JIRA으로, 예를 들어, 그래서 아니라,이 API의 규정에 따라 달성하기 어려운 일이 아니다, 호출 할 수있는 메시지 형식의 결과를 정돈 할 필요가 쿼리에 대한 API를 제공하고, 테스트 케이스의 결과를 표시합니다.

  그것은 포함시킬 필요가 어떻게 이러한 기능을 구현하는 기능을 공통의 자동화 된 테스트 플랫폼을 설명 위. 테스트 플랫폼의 모바일 끝 경우, 같은 동시성 및 일정 여러 다른 장치는, BAT이 최고 인터넷 기업의 사례를 입증하는 방법 다른 장치의 호환성,이 분야에서 내 자신의 경험과 같은 더 많은 문제가있다 별로, 아직 탐사의 학습 단계에있다. 본질적으로,보다 완벽한 테스트 자동화 플랫폼을 구축하기 위해, 당신은 폭 넓은 지식을 가지고, 심층 테스트중인 시스템의 이해의 CI 및 개발 운영 팀을 잘 알고 적어도 하나 개의 프로그래밍 언어에 익숙한 소프트웨어 테스트 및 프로그래밍을위한 견고한 기초가 있어야합니다 표면 기술은 스택, 문제를 해결하기 위해 올바른 도구와 프레임 워크를 선택하는 방법을 알고있다.

추천

출처www.cnblogs.com/tuochao/p/11959105.html