랜덤 테스트 발생기

Random test generator

랜덤 테스트 제너레이터(명령 스트림 제너레이터의 경우 RTG 또는 ISG)는 마이크로프로세서기능 검증에 사용되는 컴퓨터 소프트웨어의 일종입니다.주요 용도는 테스트 대상 장치에 입력 자극을 제공하는 데 있습니다.

시뮬레이션/테스트벤치 검증 환경에서는 RTG에 의해 생성된 시뮬레이터 프로세스 입력과 커버리지 모니터를 사용하여 발전기가 설계를 적절하게 테스트하고 있는지 검증할 수 있습니다.

랜덤 테스트 생성기는 몇 주 만에 작성할 수 있는 간단한 스크립트파라미터화된 매크로부터 광범위한 소프트웨어 개발이 필요한 풀기능 시스템까지 범위가 다양합니다.랜덤 테스트 생성기는 설계 조직이 가장 많이 만듭니다.

테이블 기반 생성기

테이블 기반 테스트 생성기는 사용 가능한 가장 단순한 RTG입니다.이러한 발전기의 생성은 비교적 빠르게 이루어질 수 있으며 유지관리 요건은 종종 낮습니다.이러한 생성기는 설계의 명령 집합 아키텍처에 대한 지식을 캡처하여 나중에 사용할 수 있도록 관계형 데이터베이스에 저장함으로써 작동합니다.테이블 기반 제너레이터는 단순하기 때문에 숙련도가 낮은 직원이 흥미로운 테스트를 작성하기 위해 사용할 수 있습니다.그러나 이러한 생성기에는 일반적으로 구현이 단순한 아키텍처로 제한되기 때문에 단점이 있습니다.복잡한 ISA를 사용하면 코너 케이스에 도달하지 못하거나 복잡한 시나리오를 작성할 수 있습니다.테이블 기반 생성기로 인해 잘못된 테스트가 생성될 수도 있습니다.

스태틱 제너레이터

정적 생성기는 명령, 피연산자 및 데이터 선택의 대부분이 복잡한 절차 코드에 있다는 점을 제외하고는 테이블 기반 생성기와 유사합니다.정적 생성기는 테이블 기반 생성기보다 더 많은 랜덤 동작을 생성할 수 있지만 여전히 많은 코너 케이스에 도달하는 데 어려움이 있습니다.또, 이러한 툴의 작성과 유지보수에 필요한 스킬 레벨은, 이 레벨에 도달하면 큰폭으로 높아집니다.

동적 생성기

다이내믹 제너레이터에는 테스트 대상 아키텍처에 대한 중요한 지식이 포함되어 있습니다.이러한 기능을 통해 스킬이 낮은 사용자가 미묘한 프로그래밍 함정에 빠지지 않고 도달하기 어려운 코너 케이스에 부딪힐 수 있는 복잡한 테스트를 생성할 수 있습니다.이와 같은 지식, 유연성 및 사용 편의성은 보다 복잡한 제너레이터에 반영되어 있으며, 결과적으로 제너레이터를 만들고 유지하는 비용이 테이블 기반 또는 정적 제너레이터에 비해 더 큽니다.

외부 링크