동적 테스트란 무엇입니까? 유형, 기술 및 예

동적 테스트

동적 테스트 소프트웨어 코드의 동적 동작을 테스트하는 데 사용되는 소프트웨어 테스트 방법입니다. 동적 테스팅의 주요 목적은 동적 변수 또는 일정하지 않은 변수를 사용하여 소프트웨어 동작을 테스트하고 소프트웨어 런타임 환경에서 취약한 영역을 찾는 것입니다. 동적 동작을 테스트하려면 코드를 실행해야 합니다.

우리 모두는 테스트가 확인 및 검증이라는 것을 알고 있으며 테스트를 완료하려면 2V가 필요합니다. 2개의 V 중에서 Verification을 Static Testing이라고 하고, 다른 V인 Validation을 Dynamic Testing이라고 합니다.

동적 테스트 예

예를 들어 동적 테스트를 수행하는 방법을 이해해 보겠습니다.

"사용자 이름"과 "비밀번호"라는 두 개의 필드가 있고 사용자 이름이 영숫자로 제한된 로그인 페이지를 테스트한다고 가정합니다.

사용자가 사용자 이름을 "Guru99"로 입력하면 시스템이 이를 수락합니다. 사용자가 Guru99@123을 입력하면 애플리케이션에서 오류 메시지가 표시됩니다. 이 결과는 코드가 동적으로 작동하고 있음을 보여줍니다. 사용자 입력을 기반으로 합니다.

동적 테스트는 입력을 제공하고 애플리케이션의 실제 동작을 예상 동작과 비교하여 실제 시스템으로 작업하는 것입니다. 즉, 오류를 찾으려는 의도로 시스템을 사용하는 것입니다.

따라서 위의 설명을 바탕으로 동적 테스트는 올바른 소프트웨어를 구축하기 위해 다양한 환경에서 최종 사용자로서 소프트웨어 응용 프로그램을 검증하는 프로세스라고 말하거나 결론을 내릴 수 있습니다.

동적 테스트는 무엇을 합니까?

동적 테스트의 주요 목적은 소프트웨어 설치 중 및 설치 후에 소프트웨어가 제대로 작동하는지 확인하여 큰 결함 없이 안정적인 응용 프로그램을 보장하는 것입니다(이 진술은 오류가 없는 소프트웨어는 없기 때문에 만들어졌으며 테스트만 결함이 있음을 보여줄 수 있고 부재 아님)

동적 테스트의 주요 목적은 소프트웨어의 일관성을 보장하는 것입니다. 예를 들어 이에 대해 논의해 보겠습니다.

뱅킹 애플리케이션에는 내 계좌 섹션, 자금 이체, Bill 지불 등. 이 모든 화면에는 일부 문자를 허용하는 금액 필드가 포함되어 있습니다.

내 계정 필드에 금액이 다음과 같이 표시된다고 가정해 보겠습니다. 25,000 및 자금 이체 $25,000 과 Bill 다음과 같이 결제 화면 $25000 금액은 동일하지만 금액이 표시되는 방식은 동일하지 않으므로 소프트웨어가 일관되지 않습니다.

일관성은 기능에만 국한되는 것이 아니라 성능, 유용성, 호환성 등과 같은 다양한 표준도 참조하므로 동적 테스트를 수행하는 것이 매우 중요합니다.

동적 테스트의 유형

동적 테스트는 두 가지 범주로 분류됩니다.

  • 백 Box 지원
  • 검정 Box 지원

아래 그림 표현은 동적 테스트 유형, 테스트 수준 등에 대한 아이디어를 제공합니다.

동적 테스트

각 테스트 유형과 의도된 목적에 대해 간략하게 논의하겠습니다.

백 Box 지원 - 백 Box 지원 내부 구조/설계가 테스터에게 알려진 소프트웨어 테스트 방법입니다. 화이트의 주요 목적 Box 테스트는 코드를 기반으로 시스템이 어떻게 작동하는지 확인하는 것입니다. 주로 개발자나 백인이 수행합니다. Box 프로그래밍에 대한 지식을 가지고 있는 테스터입니다.

검정 Box 테스트 - 검정 Box 지원 내부 구조/코드/디자인을 테스트하는 방법입니다. 않습니다. 테스터에게 알려졌습니다. 테스트 중인 시스템의 기능을 검증하기 위한 이 테스트의 주요 목적과 이러한 유형의 테스트는 전체 테스트 스위트를 실행해야 하며 주로 테스터에 의해 수행되며 프로그래밍 지식이 필요하지 않습니다.

최대 XNUMXW 출력을 제공하는 검정 Box 테스트는 다시 두 가지 유형으로 분류됩니다.

그들은 아르

  • 기능 테스트
  • 비기능 테스트

기능 테스트 :

기능 테스트는 개발된 모든 기능이 기능 사양에 맞는지 검증하기 위해 수행되며, QA팀에서 작성한 기능 테스트 케이스를 실행하여 수행되며, 기능 테스트 단계에서는 입력 제공, 출력 검증, 시스템 테스트를 수행합니다. 실제 결과와 예상 결과를 비교합니다.

다양한 수준의 기능 테스트가 있으며 그 중 가장 중요한 것은 다음과 같습니다.

  • 단위 테스트 – 일반적으로 단위는 테스트할 수 있는 작은 코드 조각입니다. 단위 테스트 소프트웨어의 개별 단위에서 수행되며 개발자에 의해 수행됩니다.
  • 통합 테스팅 - 통합 테스팅 단위 테스트 후에 수행되는 테스트로, 테스트 가능한 모든 개별 단위를 결합하여 수행되며 개발자나 테스터가 수행합니다.
  • 시스템 테스트 - 시스템 테스트 시스템이 요구사항에 따라 작동하는지 확인하기 위해 수행되며 일반적으로 전체 시스템이 준비되면 수행됩니다. 빌드 또는 코드가 QA 팀에 릴리스될 때 테스터가 수행합니다.
  • 수락 테스트 – 승인 테스트는 시스템이 비즈니스 요구 사항을 충족하고 사용할 준비가 되었는지 또는 배포할 준비가 되었는지 확인하기 위해 수행되며 일반적으로 최종 사용자가 수행합니다.

비기능 테스트: 비기능 테스트는 기능적 측면에 초점을 맞추지 않고 주로 메모리 누수, 시스템 성능 또는 견고성과 같은 시스템의 비기능적 속성에 집중하는 테스트 기술입니다. 비기능 테스트는 모든 테스트 수준에서 수행됩니다.

비기능 테스트 기술에는 여러 가지가 있으며 그 중 가장 중요한 것은 다음과 같습니다.

  • 성능 시험 - 성능 시험 원하는 네트워크 부하 하에서 요구 사항에 따라 시스템의 응답 시간이 정상적인지 확인하기 위해 수행됩니다.
  • 복구 테스트 – 복구 테스트는 시스템이 충돌 및 하드웨어 오류로부터 얼마나 잘 복구할 수 있는지 확인하는 방법입니다.
  • 호환성 테스트 – 호환성 테스트는 시스템이 다양한 환경에서 어떻게 작동하는지 확인하기 위해 수행됩니다.
  • 보안 테스트 - 보안 테스트 애플리케이션의 견고성을 검증하기 위해 수행됩니다. 즉, 승인된 사용자/역할만이 시스템에 액세스하고 있는지 확인하기 위해 수행됩니다.
  • 사용성 테스트 - 사용성 테스트 사용자가 시스템에 얼마나 편안한지 확인하기 위해 최종 사용자가 시스템의 유용성을 확인하는 방법입니다.

동적 테스트 기술

동적 테스트 기술 in STLC 테스트를 위한 요구사항 분석, 테스트 계획, 테스트 케이스 설계 및 구현, 테스트 환경 설정, 테스트 케이스 실행, 버그 보고 및 최종 테스트 종료와 같은 다양한 작업으로 구성됩니다. 동적 테스트 기술의 모든 작업은 테스트 프로세스의 이전 작업 완료에 따라 달라집니다.

STLC에서는 실제 동적 테스팅 프로세스가 테스트 케이스 디자인에서부터 시작된다고 할 수 있다.tails.

동적 테스트 튜토리얼: 유형, 기술 및 프로세스

프로세스에 들어가기 전에 동적 테스트를 위해 따라야 할 전략에 대해 논의하겠습니다.

테스트 전략은 주로 사용 가능한 리소스와 기간에 중점을 두어야 합니다. 이러한 요소를 기반으로 테스트 목적, 테스트 범위, 테스트 단계 또는 주기, 환경 유형, 직면할 수 있는 가정 또는 과제, 위험 등을 문서화해야 합니다.

전략이 정의되고 경영진이 승인하면 실제 프로세스 테스트 케이스 설계가 시작됩니다.

테스트 설계 및 구현이란 무엇입니까?

이 단계에서 우리는 다음을 식별합니다.

  • 테스트할 기능
  • 테스트 조건 도출
  • 적용범위 항목 도출
  • 테스트 케이스 도출

테스트 환경 설정

테스트 환경은 항상 프로덕션 환경과 유사해야 하며, 이 단계에서는 빌드를 설치하고 테스트 시스템을 관리해야 합니다.

테스트 실행

이 단계에서는 테스트 케이스가 실제로 실행됩니다.

버그 신고가 캡처되었습니다.

실행을 기반으로 예상 결과와 실제 결과가 동일하지 않은 경우 테스트 케이스는 실패로 표시되어야 하며 버그가 기록되어야 합니다.

동적 테스트의 장점

  • 동적 테스팅은 너무 어렵거나 복잡하다고 간주되어 정적 분석을 통해 커버할 수 없는 발견되지 않은 결함을 밝힐 수 있습니다.
  • 동적 테스팅에서는 소프트웨어를 처음부터 끝까지 실행하여 오류 없는 소프트웨어를 보장하여 제품과 프로젝트의 품질을 향상시킵니다.
  • 동적 테스트는 보안 위협을 탐지하는 데 필수적인 도구가 됩니다.

동적 테스트의 단점

  • 동적 테스트는 엄청난 양의 리소스가 필요한 애플리케이션/소프트웨어 또는 코드를 실행하기 때문에 시간이 많이 걸립니다.
  • 동적 테스팅은 소프트웨어 라이프사이클 초기에 시작되지 않아 프로젝트/제품 비용을 증가시킵니다. later 단계를 거치면 비용이 증가할 수 있습니다.

결론 :

In 소프트웨어 공학, 확인 및 검증은 소프트웨어 제품이 요구 사항 사양을 충족하는지 확인하는 데 사용되는 두 가지 방법입니다. 정적 테스트에는 검증이 포함되고 동적 테스트에는 검증이 포함됩니다. 그들은 함께 비용 효율적인 고품질 소프트웨어를 제공하는 데 도움을 줍니다.