agentic-qe
Version:
Agentic Quality Engineering Fleet System - AI-driven quality management platform
101 lines • 3.15 kB
TypeScript
/**
* TestExecutorAgent - Specialized agent for executing various types of tests
*
* Implements parallel test execution with retry logic and sublinear optimization
* Based on SPARC Phase 2 Pseudocode Section 4.2: Parallel Test Execution
*/
import { BaseAgent, BaseAgentConfig } from './BaseAgent';
import { QETask } from '../types';
export interface TestExecutorConfig extends BaseAgentConfig {
frameworks: string[];
maxParallelTests: number;
timeout: number;
reportFormat: 'json' | 'xml' | 'html';
retryAttempts: number;
retryBackoff: number;
sublinearOptimization: boolean;
}
interface Logger {
info(message: string, ...args: any[]): void;
warn(message: string, ...args: any[]): void;
error(message: string, ...args: any[]): void;
debug(message: string, ...args: any[]): void;
}
export declare class TestExecutorAgent extends BaseAgent {
private readonly config;
protected readonly logger: Logger;
private activeExecutions;
private retryStrategies;
constructor(config: TestExecutorConfig);
protected initializeComponents(): Promise<void>;
protected performTask(task: QETask): Promise<any>;
protected loadKnowledge(): Promise<void>;
protected cleanup(): Promise<void>;
/**
* Execute multiple tests in parallel with sublinear optimization
* Based on SPARC Phase 2 Pseudocode: ParallelTestExecution algorithm
*/
private executeTestsInParallel;
/**
* Execute a single test with intelligent retry logic
*/
private executeTestWithRetry;
/**
* Execute integration tests
*/
private executeIntegrationTests;
/**
* Execute end-to-end tests
*/
private executeE2ETests;
/**
* Execute API tests
*/
private executeApiTests;
/**
* Execute regression tests
*/
private executeRegressionTests;
/**
* Discover test files
*/
private discoverTests;
/**
* Analyze test files
*/
private analyzeTests;
/**
* Apply sublinear optimization to test execution order
* Uses Johnson-Lindenstrauss dimension reduction for O(log n) complexity
*/
private applySublinearOptimization;
/**
* Solve execution optimization using sublinear algorithms
*/
private solveExecutionOptimization;
private analyzeTestDependencies;
private calculateDependencyWeight;
private createExecutionBatches;
private executeSingleTestInternal;
private estimateTestDuration;
private simulateCoverage;
private selectFramework;
private shouldRetryTest;
private isRetryableError;
private applyRetryBackoff;
private setupRetryStrategies;
private initializeExecutionPools;
private initializeSublinearOptimization;
private calculateParallelEfficiency;
private reportBatchCompletion;
private storeExecutionPatterns;
private executeSingleTest;
private retryFailedTests;
/**
* Run tests using a specific framework - REAL IMPLEMENTATION
*/
private runTestFramework;
private validateFramework;
}
export {};
//# sourceMappingURL=TestExecutorAgent.d.ts.map