소프트웨어 테스팅

초보자를 위한 내구성 테스트

2021년 10월 30일

내구성 테스트 의 유형입니다 성능 시험 여기서 소프트웨어는 지속적인 사용에서 소프트웨어 응용 프로그램 동작을 평가하기 위해 상당한 시간에 걸쳐 확장된 부하로 테스트됩니다. 내구성 테스트의 주요 목표는 애플리케이션이 응답 시간 저하 없이 확장된 부하를 처리할 수 있는지 확인하는 것입니다.

성능 실행 주기의 마지막 단계에서 수행됩니다. 그것은 긴 과정이며 때로는 1년 동안 지속되기도 합니다. 여기에는 인터넷 트래픽 또는 사용자 작업과 같은 외부 부하 적용이 포함될 수 있습니다. 이것은 그것을 만든다 부하 테스트와 다름 , 일반적으로 몇 시간 안에 끝납니다.

목차

내구성 테스트의 목표

  • 일반적으로 시스템에 과부하가 걸리거나 다양한 시스템 리소스를 줄이고 결과를 평가하여 수행됩니다.
  • 비교적 정상적인 사용기간이라고 생각되는 사용기간 이후에는 불량이 발생하지 않도록 하기 위함입니다.
  • 오랜 시간이 지난 후에도 시스템 응답 시간이 테스트 시작 시간과 같거나 더 나은지 확인합니다.
  • 시스템은 사용자 또는 트랜잭션 수를 결정하기 위해 성능 목표를 지원하고 충족합니다.
  • 시스템이 사용 중 어떻게 작동하는지 알아내기 위해.
  • 향후 로드를 관리하려면 향후 사용자를 지원하기 위해 얼마나 많은 추가 리소스가 필요한지 이해해야 합니다.
  • 를 확인하는 것이 주요 목표입니다. 메모리 누수 .

내구성 테스트 과정

    테스트 환경 –내구성 테스트에 필요한 소프트웨어, 하드웨어, OS 식별, 책임 할당, 팀 내 역할 등. 테스트 실행 전에 환경이 준비되어 있어야 합니다. 또한 데이터베이스 프로덕션 크기와 연간 성장을 추정해야 합니다. 일정 시간 후에 애플리케이션이 어떻게 응답하는지 테스트해야 합니다.테스트 계획 및 시나리오 작성 –테스트 매뉴얼 또는 자동화를 기반으로 테스트 케이스 설계, 검토 및 실행을 계획해야 합니다. 시스템 스트레스 테스트, 중단점 테스트 등도 테스트 계획의 일부여야 합니다. 시스템을 테스트하면 애플리케이션의 중단점이 결정됩니다.테스트 추정 –테스트 단계를 완료하는 데 걸리는 예상 시간을 제공합니다. 관련된 테스터 수와 필요한 테스트 주기 수를 기준으로 분석해야 합니다.위험도 분석 -위험을 분석하고 예방 조치를 취합니다. 테스트 케이스의 우선 순위 지정 및 위험 식별
    • 시간이 지나도 성능이 일관되게 유지됩니까?
    • 아직 감지되지 않은 다른 사소한 문제가 있습니까?
    • 해결되지 않은 외부 간섭이 있습니까?
    시험 일정 –시간 프레임 내에서 예산을 결정합니다. Endurance Testing은 지속적으로 시스템/애플리케이션에 트랜잭션의 거대하지만 자연스러운 로드 배열을 적용합니다.

내구성 테스트 예

내구성 테스트는 애플리케이션을 최대 초과 근무 시간까지 가져오는 반면 스트레스 테스트는 테스트된 장치를 한계까지 가져옵니다.

예를 들어, 소프트웨어가 장기간 실행되면 메모리 누수, 데이터베이스 서버 오용 및 응답하지 않는 시스템과 같은 가장 복잡한 문제가 존재합니다. 내구성 검사를 놓치면 배포 전에 이러한 결함을 찾을 가능성이 매우 희박합니다.

장점

  • 소규모 목표 성능 테스트에서 일반적인 문제를 식별합니다. 즉, 매우 짧은 시간에 엄청난 부하가 발생하더라도 애플리케이션을 계속 사용할 수 있도록 합니다.
  • 내구성 테스트는 장기간 실행 후 성능 저하 여부를 확인하는 데 사용됩니다.
  • 고객이 인프라 요구 사항을 향상하는 데 사용할 수 있는 정확한 데이터를 제공합니다.
  • 시스템이 장기간 높은 수준에서 실행된 후에 발생할 수 있는 성능 문제를 식별합니다.
  • 워크로드가 로드 중인 시스템 핸들을 변경하는 방법을 결정하는 데 도움이 됩니다.

단점

  • 일부 응용 프로그램 구성 요소가 응답하지 않습니다.
  • 최종 사용자는 처리되지 않은 예외를 관찰합니다.
  • 내구성 테스트는 테스트 환경이 격리되지 않은 경우 중단될 수 있는 애플리케이션 또는 네트워크 장애를 일으킬 수 있습니다.
  • 스트레스가 제거된 후에도 리소스 활용도는 높게 유지됩니다.
  • 얼마나 많은 스트레스를 적용할 가치가 있는지 정의하기는 어렵습니다.
  • 시스템에 과도한 스트레스를 가하면 데이터 손실 또는 손상이 발생할 수 있습니다.

내구성 테스트에서 모니터링해야 할 사항

    메모리 누수 테스트– 시스템 충돌 또는 OSS를 유발할 수 있는 응용 프로그램의 메모리 누수를 확인하기 위해 검사가 수행됩니다.시스템 레이어 간의 연결 폐쇄 테스트– 시스템 계층 간의 연결이 닫히지 않으면 시스템의 모듈이 중단될 수 있습니다.테스트 데이터베이스 연결 닫기– 데이터베이스 연결이 닫히지 않으면 시스템 충돌이 발생할 수 있습니다.테스트 응답 시간 – 시스템은 응용 프로그램의 효율성이 저하됨에 따라 시스템의 응답 시간에 대해 테스트됩니다.

최고의 내구성 테스트 도구

아파치 JMeter

JMeter는 다양한 기술에 대한 부하 테스트, 기능 테스트, 회귀 테스트를 수행하는 자동화 테스트 도구입니다. SOAP, TCP, FTP와 같은 다양한 유형의 애플리케이션, 프로토콜 및 서버를 지원합니다. SOAP, LDAP MOM, 쉘 스크립트, 메일 프로토콜, 자바 개체, 데이터베이스.

특징

  • 오픈 소스 소프트웨어입니다.
  • 인터랙티브하고 직관적인 GUI.
  • 그것은 고도로 연장됩니다.
  • 테스트 계획은 XML 형식으로 저장됩니다.
  • 플랫폼 독립적입니다.
  • 최고의 API 자동화 도구.

가격

사용은 무료입니다.

로드러너

로드러너 HP(Hewlett-Packard)의 성능 테스트를 위한 솔루션입니다. 성능 테스트를 위한 가장 자동화된 도구 중 하나이며 시장 점유율의 거의 50%를 차지했습니다. Loadrunner는 수백 명의 가상 사용자를 애플리케이션으로 시뮬레이션하고 다양한 성능 메트릭을 모니터링하며 다른 클라이언트 및 서버 병목 현상을 격리합니다.

특징

  • 클라우드 테스팅.
  • 근본 원인 해석학 .
  • 다양한 앱을 지원합니다.
  • 지속적인 테스트.
  • 모바일 테스트.
  • 대화형 사용자 트랜잭션 시뮬레이션.

가격

    커뮤니티 에디션-무료가상 사용자 일-
    2021년 10월 30일

    내구성 테스트 의 유형입니다 성능 시험 여기서 소프트웨어는 지속적인 사용에서 소프트웨어 응용 프로그램 동작을 평가하기 위해 상당한 시간에 걸쳐 확장된 부하로 테스트됩니다. 내구성 테스트의 주요 목표는 애플리케이션이 응답 시간 저하 없이 확장된 부하를 처리할 수 있는지 확인하는 것입니다.

    성능 실행 주기의 마지막 단계에서 수행됩니다. 그것은 긴 과정이며 때로는 1년 동안 지속되기도 합니다. 여기에는 인터넷 트래픽 또는 사용자 작업과 같은 외부 부하 적용이 포함될 수 있습니다. 이것은 그것을 만든다 부하 테스트와 다름 , 일반적으로 몇 시간 안에 끝납니다.

    목차

    내구성 테스트의 목표

    • 일반적으로 시스템에 과부하가 걸리거나 다양한 시스템 리소스를 줄이고 결과를 평가하여 수행됩니다.
    • 비교적 정상적인 사용기간이라고 생각되는 사용기간 이후에는 불량이 발생하지 않도록 하기 위함입니다.
    • 오랜 시간이 지난 후에도 시스템 응답 시간이 테스트 시작 시간과 같거나 더 나은지 확인합니다.
    • 시스템은 사용자 또는 트랜잭션 수를 결정하기 위해 성능 목표를 지원하고 충족합니다.
    • 시스템이 사용 중 어떻게 작동하는지 알아내기 위해.
    • 향후 로드를 관리하려면 향후 사용자를 지원하기 위해 얼마나 많은 추가 리소스가 필요한지 이해해야 합니다.
    • 를 확인하는 것이 주요 목표입니다. 메모리 누수 .

    내구성 테스트 과정

      테스트 환경 –내구성 테스트에 필요한 소프트웨어, 하드웨어, OS 식별, 책임 할당, 팀 내 역할 등. 테스트 실행 전에 환경이 준비되어 있어야 합니다. 또한 데이터베이스 프로덕션 크기와 연간 성장을 추정해야 합니다. 일정 시간 후에 애플리케이션이 어떻게 응답하는지 테스트해야 합니다.테스트 계획 및 시나리오 작성 –테스트 매뉴얼 또는 자동화를 기반으로 테스트 케이스 설계, 검토 및 실행을 계획해야 합니다. 시스템 스트레스 테스트, 중단점 테스트 등도 테스트 계획의 일부여야 합니다. 시스템을 테스트하면 애플리케이션의 중단점이 결정됩니다.테스트 추정 –테스트 단계를 완료하는 데 걸리는 예상 시간을 제공합니다. 관련된 테스터 수와 필요한 테스트 주기 수를 기준으로 분석해야 합니다.위험도 분석 -위험을 분석하고 예방 조치를 취합니다. 테스트 케이스의 우선 순위 지정 및 위험 식별
      • 시간이 지나도 성능이 일관되게 유지됩니까?
      • 아직 감지되지 않은 다른 사소한 문제가 있습니까?
      • 해결되지 않은 외부 간섭이 있습니까?
      시험 일정 –시간 프레임 내에서 예산을 결정합니다. Endurance Testing은 지속적으로 시스템/애플리케이션에 트랜잭션의 거대하지만 자연스러운 로드 배열을 적용합니다.

    내구성 테스트 예

    내구성 테스트는 애플리케이션을 최대 초과 근무 시간까지 가져오는 반면 스트레스 테스트는 테스트된 장치를 한계까지 가져옵니다.

    예를 들어, 소프트웨어가 장기간 실행되면 메모리 누수, 데이터베이스 서버 오용 및 응답하지 않는 시스템과 같은 가장 복잡한 문제가 존재합니다. 내구성 검사를 놓치면 배포 전에 이러한 결함을 찾을 가능성이 매우 희박합니다.

    장점

    • 소규모 목표 성능 테스트에서 일반적인 문제를 식별합니다. 즉, 매우 짧은 시간에 엄청난 부하가 발생하더라도 애플리케이션을 계속 사용할 수 있도록 합니다.
    • 내구성 테스트는 장기간 실행 후 성능 저하 여부를 확인하는 데 사용됩니다.
    • 고객이 인프라 요구 사항을 향상하는 데 사용할 수 있는 정확한 데이터를 제공합니다.
    • 시스템이 장기간 높은 수준에서 실행된 후에 발생할 수 있는 성능 문제를 식별합니다.
    • 워크로드가 로드 중인 시스템 핸들을 변경하는 방법을 결정하는 데 도움이 됩니다.

    단점

    • 일부 응용 프로그램 구성 요소가 응답하지 않습니다.
    • 최종 사용자는 처리되지 않은 예외를 관찰합니다.
    • 내구성 테스트는 테스트 환경이 격리되지 않은 경우 중단될 수 있는 애플리케이션 또는 네트워크 장애를 일으킬 수 있습니다.
    • 스트레스가 제거된 후에도 리소스 활용도는 높게 유지됩니다.
    • 얼마나 많은 스트레스를 적용할 가치가 있는지 정의하기는 어렵습니다.
    • 시스템에 과도한 스트레스를 가하면 데이터 손실 또는 손상이 발생할 수 있습니다.

    내구성 테스트에서 모니터링해야 할 사항

      메모리 누수 테스트– 시스템 충돌 또는 OSS를 유발할 수 있는 응용 프로그램의 메모리 누수를 확인하기 위해 검사가 수행됩니다.시스템 레이어 간의 연결 폐쇄 테스트– 시스템 계층 간의 연결이 닫히지 않으면 시스템의 모듈이 중단될 수 있습니다.테스트 데이터베이스 연결 닫기– 데이터베이스 연결이 닫히지 않으면 시스템 충돌이 발생할 수 있습니다.테스트 응답 시간 – 시스템은 응용 프로그램의 효율성이 저하됨에 따라 시스템의 응답 시간에 대해 테스트됩니다.

    최고의 내구성 테스트 도구

    아파치 JMeter

    JMeter는 다양한 기술에 대한 부하 테스트, 기능 테스트, 회귀 테스트를 수행하는 자동화 테스트 도구입니다. SOAP, TCP, FTP와 같은 다양한 유형의 애플리케이션, 프로토콜 및 서버를 지원합니다. SOAP, LDAP MOM, 쉘 스크립트, 메일 프로토콜, 자바 개체, 데이터베이스.

    특징

    • 오픈 소스 소프트웨어입니다.
    • 인터랙티브하고 직관적인 GUI.
    • 그것은 고도로 연장됩니다.
    • 테스트 계획은 XML 형식으로 저장됩니다.
    • 플랫폼 독립적입니다.
    • 최고의 API 자동화 도구.

    가격

    사용은 무료입니다.

    로드러너

    로드러너 HP(Hewlett-Packard)의 성능 테스트를 위한 솔루션입니다. 성능 테스트를 위한 가장 자동화된 도구 중 하나이며 시장 점유율의 거의 50%를 차지했습니다. Loadrunner는 수백 명의 가상 사용자를 애플리케이션으로 시뮬레이션하고 다양한 성능 메트릭을 모니터링하며 다른 클라이언트 및 서버 병목 현상을 격리합니다.

    특징

    • 클라우드 테스팅.
    • 근본 원인 해석학 .
    • 다양한 앱을 지원합니다.
    • 지속적인 테스트.
    • 모바일 테스트.
    • 대화형 사용자 트랜잭션 시뮬레이션.

    가격

      커뮤니티 에디션-무료가상 사용자 일-$0.56/가상 사용자 일기업용 에디션- 벤더에 문의
    .56/가상 사용자 일기업용 에디션- 벤더에 문의