agentic-qe 1.1.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/qe-coverage-analyzer.md +8 -0
- package/.claude/agents/qe-flaky-test-hunter.md +9 -1
- package/.claude/agents/qe-test-generator.md +7 -0
- package/.claude/agents/reasoning/agent.md +816 -0
- package/.claude/agents/reasoning/goal-planner.md +73 -0
- package/.claude/settings.json +64 -25
- package/.claude/skills/README.md +124 -0
- package/.claude/skills/accessibility-testing/SKILL.md +777 -0
- package/.claude/skills/agentdb-advanced/SKILL.md +550 -0
- package/.claude/skills/agentdb-learning/SKILL.md +545 -0
- package/.claude/skills/agentdb-memory-patterns/SKILL.md +339 -0
- package/.claude/skills/agentdb-optimization/SKILL.md +509 -0
- package/.claude/skills/agentdb-vector-search/SKILL.md +339 -0
- package/.claude/skills/agentic-quality-engineering/SKILL.md +604 -0
- package/.claude/skills/api-testing-patterns/SKILL.md +686 -0
- package/.claude/skills/bug-reporting-excellence/SKILL.md +632 -0
- package/.claude/skills/chaos-engineering-resilience/SKILL.md +109 -0
- package/.claude/skills/code-review-quality/SKILL.md +683 -0
- package/.claude/skills/compatibility-testing/SKILL.md +101 -0
- package/.claude/skills/compliance-testing/SKILL.md +162 -0
- package/.claude/skills/consultancy-practices/SKILL.md +540 -0
- package/.claude/skills/context-driven-testing/SKILL.md +466 -0
- package/.claude/skills/contract-testing/SKILL.md +193 -0
- package/.claude/skills/database-testing/SKILL.md +243 -0
- package/.claude/skills/exploratory-testing-advanced/SKILL.md +676 -0
- package/.claude/skills/flow-nexus-neural/SKILL.md +738 -0
- package/.claude/skills/flow-nexus-platform/SKILL.md +1157 -0
- package/.claude/skills/flow-nexus-swarm/SKILL.md +610 -0
- package/.claude/skills/github-code-review/SKILL.md +1140 -0
- package/.claude/skills/github-multi-repo/SKILL.md +874 -0
- package/.claude/skills/github-project-management/SKILL.md +1277 -0
- package/.claude/skills/github-release-management/SKILL.md +1081 -0
- package/.claude/skills/github-workflow-automation/SKILL.md +1065 -0
- package/.claude/skills/hive-mind-advanced/SKILL.md +712 -0
- package/.claude/skills/holistic-testing-pact/SKILL.md +225 -0
- package/.claude/skills/hooks-automation/SKILL.md +1201 -0
- package/.claude/skills/localization-testing/SKILL.md +115 -0
- package/.claude/skills/mobile-testing/SKILL.md +548 -0
- package/.claude/skills/mutation-testing/SKILL.md +129 -0
- package/.claude/skills/pair-programming/SKILL.md +1202 -0
- package/.claude/skills/performance-analysis/SKILL.md +563 -0
- package/.claude/skills/performance-testing/SKILL.md +662 -0
- package/.claude/skills/quality-metrics/SKILL.md +592 -0
- package/.claude/skills/reasoningbank-agentdb/SKILL.md +446 -0
- package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -0
- package/.claude/skills/refactoring-patterns/SKILL.md +778 -0
- package/.claude/skills/regression-testing/SKILL.md +1045 -0
- package/.claude/skills/risk-based-testing/SKILL.md +721 -0
- package/.claude/skills/security-testing/SKILL.md +651 -0
- package/.claude/skills/shift-left-testing/SKILL.md +535 -0
- package/.claude/skills/shift-right-testing/SKILL.md +591 -0
- package/.claude/skills/skill-builder/SKILL.md +910 -0
- package/.claude/skills/sparc-methodology/SKILL.md +1115 -0
- package/.claude/skills/stream-chain/SKILL.md +563 -0
- package/.claude/skills/swarm-advanced/SKILL.md +973 -0
- package/.claude/skills/swarm-orchestration/SKILL.md +179 -0
- package/.claude/skills/tdd-london-chicago/SKILL.md +567 -0
- package/.claude/skills/technical-writing/SKILL.md +235 -0
- package/.claude/skills/test-automation-strategy/SKILL.md +842 -0
- package/.claude/skills/test-data-management/SKILL.md +1067 -0
- package/.claude/skills/test-design-techniques/SKILL.md +160 -0
- package/.claude/skills/test-environment-management/SKILL.md +204 -0
- package/.claude/skills/test-reporting-analytics/SKILL.md +143 -0
- package/.claude/skills/verification-quality/SKILL.md +649 -0
- package/.claude/skills/visual-testing-advanced/SKILL.md +148 -0
- package/.claude/skills/xp-practices/SKILL.md +671 -0
- package/.claude/statusline-command.sh +176 -0
- package/CHANGELOG.md +623 -6
- package/README.md +101 -5
- package/config/improvement-loop.config.ts +323 -0
- package/config/neural-agent.config.ts +197 -0
- package/dist/adapters/MemoryStoreAdapter.d.ts +16 -16
- package/dist/adapters/MemoryStoreAdapter.d.ts.map +1 -1
- package/dist/adapters/MemoryStoreAdapter.js +16 -16
- package/dist/adapters/MemoryStoreAdapter.js.map +1 -1
- package/dist/agents/BaseAgent.d.ts +69 -0
- package/dist/agents/BaseAgent.d.ts.map +1 -1
- package/dist/agents/BaseAgent.js +387 -5
- package/dist/agents/BaseAgent.js.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.d.ts +13 -2
- package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.js +112 -12
- package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
- package/dist/agents/DeploymentReadinessAgent.d.ts.map +1 -1
- package/dist/agents/DeploymentReadinessAgent.js +13 -13
- package/dist/agents/DeploymentReadinessAgent.js.map +1 -1
- package/dist/agents/FlakyTestHunterAgent.d.ts +28 -0
- package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -1
- package/dist/agents/FlakyTestHunterAgent.js +160 -4
- package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
- package/dist/agents/FleetCommanderAgent.d.ts.map +1 -1
- package/dist/agents/FleetCommanderAgent.js +4 -3
- package/dist/agents/FleetCommanderAgent.js.map +1 -1
- package/dist/agents/LearningAgent.d.ts +14 -5
- package/dist/agents/LearningAgent.d.ts.map +1 -1
- package/dist/agents/LearningAgent.js +36 -16
- package/dist/agents/LearningAgent.js.map +1 -1
- package/dist/agents/NeuralAgentExtension.d.ts +117 -0
- package/dist/agents/NeuralAgentExtension.d.ts.map +1 -0
- package/dist/agents/NeuralAgentExtension.js +288 -0
- package/dist/agents/NeuralAgentExtension.js.map +1 -0
- package/dist/agents/PerformanceTesterAgent.d.ts.map +1 -1
- package/dist/agents/PerformanceTesterAgent.js +11 -9
- package/dist/agents/PerformanceTesterAgent.js.map +1 -1
- package/dist/agents/ProductionIntelligenceAgent.d.ts.map +1 -1
- package/dist/agents/ProductionIntelligenceAgent.js +14 -13
- package/dist/agents/ProductionIntelligenceAgent.js.map +1 -1
- package/dist/agents/QualityAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/QualityAnalyzerAgent.js +39 -38
- package/dist/agents/QualityAnalyzerAgent.js.map +1 -1
- package/dist/agents/QualityGateAgent.d.ts.map +1 -1
- package/dist/agents/QualityGateAgent.js +7 -6
- package/dist/agents/QualityGateAgent.js.map +1 -1
- package/dist/agents/RegressionRiskAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/RegressionRiskAnalyzerAgent.js +22 -21
- package/dist/agents/RegressionRiskAnalyzerAgent.js.map +1 -1
- package/dist/agents/RequirementsValidatorAgent.d.ts.map +1 -1
- package/dist/agents/RequirementsValidatorAgent.js +1 -1
- package/dist/agents/RequirementsValidatorAgent.js.map +1 -1
- package/dist/agents/SecurityScannerAgent.d.ts.map +1 -1
- package/dist/agents/SecurityScannerAgent.js +8 -7
- package/dist/agents/SecurityScannerAgent.js.map +1 -1
- package/dist/agents/TestDataArchitectAgent.d.ts.map +1 -1
- package/dist/agents/TestDataArchitectAgent.js +12 -11
- package/dist/agents/TestDataArchitectAgent.js.map +1 -1
- package/dist/agents/TestExecutorAgent.d.ts.map +1 -1
- package/dist/agents/TestExecutorAgent.js +18 -19
- package/dist/agents/TestExecutorAgent.js.map +1 -1
- package/dist/agents/TestGeneratorAgent.d.ts +15 -4
- package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
- package/dist/agents/TestGeneratorAgent.js +172 -49
- package/dist/agents/TestGeneratorAgent.js.map +1 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +2 -1
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/mixins/NeuralCapableMixin.d.ts +130 -0
- package/dist/agents/mixins/NeuralCapableMixin.d.ts.map +1 -0
- package/dist/agents/mixins/NeuralCapableMixin.js +358 -0
- package/dist/agents/mixins/NeuralCapableMixin.js.map +1 -0
- package/dist/agents/mixins/QUICCapableMixin.d.ts +34 -0
- package/dist/agents/mixins/QUICCapableMixin.d.ts.map +1 -0
- package/dist/agents/mixins/QUICCapableMixin.js +346 -0
- package/dist/agents/mixins/QUICCapableMixin.js.map +1 -0
- package/dist/cli/commands/agent/benchmark.d.ts.map +1 -1
- package/dist/cli/commands/agent/benchmark.js +2 -1
- package/dist/cli/commands/agent/benchmark.js.map +1 -1
- package/dist/cli/commands/agent/index.d.ts +5 -0
- package/dist/cli/commands/agent/index.d.ts.map +1 -1
- package/dist/cli/commands/agent/index.js +11 -6
- package/dist/cli/commands/agent/index.js.map +1 -1
- package/dist/cli/commands/agent/kill.d.ts +13 -0
- package/dist/cli/commands/agent/kill.d.ts.map +1 -0
- package/dist/cli/commands/agent/kill.js +65 -0
- package/dist/cli/commands/agent/kill.js.map +1 -0
- package/dist/cli/commands/agent/list.d.ts +19 -0
- package/dist/cli/commands/agent/list.d.ts.map +1 -0
- package/dist/cli/commands/agent/list.js +92 -0
- package/dist/cli/commands/agent/list.js.map +1 -0
- package/dist/cli/commands/agent/logs.d.ts +14 -0
- package/dist/cli/commands/agent/logs.d.ts.map +1 -0
- package/dist/cli/commands/agent/logs.js +77 -0
- package/dist/cli/commands/agent/logs.js.map +1 -0
- package/dist/cli/commands/agent/metrics.d.ts +21 -0
- package/dist/cli/commands/agent/metrics.d.ts.map +1 -0
- package/dist/cli/commands/agent/metrics.js +87 -0
- package/dist/cli/commands/agent/metrics.js.map +1 -0
- package/dist/cli/commands/agent/spawn.d.ts +28 -0
- package/dist/cli/commands/agent/spawn.d.ts.map +1 -0
- package/dist/cli/commands/agent/spawn.js +84 -0
- package/dist/cli/commands/agent/spawn.js.map +1 -0
- package/dist/cli/commands/analyze.d.ts.map +1 -1
- package/dist/cli/commands/analyze.js +2 -1
- package/dist/cli/commands/analyze.js.map +1 -1
- package/dist/cli/commands/config/list.d.ts.map +1 -1
- package/dist/cli/commands/config/list.js +2 -1
- package/dist/cli/commands/config/list.js.map +1 -1
- package/dist/cli/commands/config/set.d.ts +7 -0
- package/dist/cli/commands/config/set.d.ts.map +1 -1
- package/dist/cli/commands/config/set.js +35 -4
- package/dist/cli/commands/config/set.js.map +1 -1
- package/dist/cli/commands/fleet/logs.d.ts.map +1 -1
- package/dist/cli/commands/fleet/logs.js +2 -1
- package/dist/cli/commands/fleet/logs.js.map +1 -1
- package/dist/cli/commands/fleet/metrics.d.ts.map +1 -1
- package/dist/cli/commands/fleet/metrics.js +2 -1
- package/dist/cli/commands/fleet/metrics.js.map +1 -1
- package/dist/cli/commands/fleet/monitor.d.ts.map +1 -1
- package/dist/cli/commands/fleet/monitor.js +7 -5
- package/dist/cli/commands/fleet/monitor.js.map +1 -1
- package/dist/cli/commands/fleet.d.ts.map +1 -1
- package/dist/cli/commands/fleet.js +2 -1
- package/dist/cli/commands/fleet.js.map +1 -1
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +2 -1
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/improve/index.d.ts.map +1 -1
- package/dist/cli/commands/improve/index.js +12 -11
- package/dist/cli/commands/improve/index.js.map +1 -1
- package/dist/cli/commands/init.d.ts +24 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +503 -11
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/learn/index.d.ts.map +1 -1
- package/dist/cli/commands/learn/index.js +13 -12
- package/dist/cli/commands/learn/index.js.map +1 -1
- package/dist/cli/commands/monitor/alerts.d.ts.map +1 -1
- package/dist/cli/commands/monitor/alerts.js +2 -1
- package/dist/cli/commands/monitor/alerts.js.map +1 -1
- package/dist/cli/commands/patterns/index.d.ts.map +1 -1
- package/dist/cli/commands/patterns/index.js +20 -19
- package/dist/cli/commands/patterns/index.js.map +1 -1
- package/dist/cli/commands/quality/decision.d.ts.map +1 -1
- package/dist/cli/commands/quality/decision.js +9 -7
- package/dist/cli/commands/quality/decision.js.map +1 -1
- package/dist/cli/commands/quality/gate.d.ts.map +1 -1
- package/dist/cli/commands/quality/gate.js +10 -8
- package/dist/cli/commands/quality/gate.js.map +1 -1
- package/dist/cli/commands/quality/policy.d.ts.map +1 -1
- package/dist/cli/commands/quality/policy.js +10 -8
- package/dist/cli/commands/quality/policy.js.map +1 -1
- package/dist/cli/commands/quality/risk.d.ts.map +1 -1
- package/dist/cli/commands/quality/risk.js +5 -3
- package/dist/cli/commands/quality/risk.js.map +1 -1
- package/dist/cli/commands/quality/validate.d.ts.map +1 -1
- package/dist/cli/commands/quality/validate.js +10 -8
- package/dist/cli/commands/quality/validate.js.map +1 -1
- package/dist/cli/commands/quantization.d.ts +6 -0
- package/dist/cli/commands/quantization.d.ts.map +1 -0
- package/dist/cli/commands/quantization.js +188 -0
- package/dist/cli/commands/quantization.js.map +1 -0
- package/dist/cli/commands/routing/index.d.ts +0 -6
- package/dist/cli/commands/routing/index.d.ts.map +1 -1
- package/dist/cli/commands/routing/index.js +17 -16
- package/dist/cli/commands/routing/index.js.map +1 -1
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +2 -1
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/skills/index.d.ts +51 -0
- package/dist/cli/commands/skills/index.d.ts.map +1 -0
- package/dist/cli/commands/skills/index.js +365 -0
- package/dist/cli/commands/skills/index.js.map +1 -0
- package/dist/cli/commands/test/debug.d.ts.map +1 -1
- package/dist/cli/commands/test/debug.js +2 -1
- package/dist/cli/commands/test/debug.js.map +1 -1
- package/dist/cli/commands/test/mutate.d.ts.map +1 -1
- package/dist/cli/commands/test/mutate.js +2 -1
- package/dist/cli/commands/test/mutate.js.map +1 -1
- package/dist/cli/commands/test/parallel.d.ts.map +1 -1
- package/dist/cli/commands/test/parallel.js +6 -4
- package/dist/cli/commands/test/parallel.js.map +1 -1
- package/dist/cli/commands/test/profile.d.ts.map +1 -1
- package/dist/cli/commands/test/profile.js +3 -2
- package/dist/cli/commands/test/profile.js.map +1 -1
- package/dist/cli/commands/test/queue.d.ts.map +1 -1
- package/dist/cli/commands/test/queue.js +2 -1
- package/dist/cli/commands/test/queue.js.map +1 -1
- package/dist/cli/commands/test/retry.d.ts.map +1 -1
- package/dist/cli/commands/test/retry.js +6 -4
- package/dist/cli/commands/test/retry.js.map +1 -1
- package/dist/cli/commands/test/trace.d.ts.map +1 -1
- package/dist/cli/commands/test/trace.js +2 -1
- package/dist/cli/commands/test/trace.js.map +1 -1
- package/dist/cli/commands/test/watch.d.ts.map +1 -1
- package/dist/cli/commands/test/watch.js +3 -2
- package/dist/cli/commands/test/watch.js.map +1 -1
- package/dist/cli/commands/workflow/cancel.d.ts.map +1 -1
- package/dist/cli/commands/workflow/cancel.js +2 -1
- package/dist/cli/commands/workflow/cancel.js.map +1 -1
- package/dist/cli/index-working.js +9 -8
- package/dist/cli/index-working.js.map +1 -1
- package/dist/cli/index.js +97 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/core/EventBus.d.ts +38 -0
- package/dist/core/EventBus.d.ts.map +1 -1
- package/dist/core/EventBus.js +176 -31
- package/dist/core/EventBus.js.map +1 -1
- package/dist/core/FleetManager.d.ts +35 -1
- package/dist/core/FleetManager.d.ts.map +1 -1
- package/dist/core/FleetManager.js +121 -45
- package/dist/core/FleetManager.js.map +1 -1
- package/dist/core/MemoryManager.d.ts +19 -1
- package/dist/core/MemoryManager.d.ts.map +1 -1
- package/dist/core/MemoryManager.js +25 -1
- package/dist/core/MemoryManager.js.map +1 -1
- package/dist/core/coordination/OODACoordination.d.ts.map +1 -1
- package/dist/core/coordination/OODACoordination.js +2 -1
- package/dist/core/coordination/OODACoordination.js.map +1 -1
- package/dist/core/embeddings/EmbeddingCache.d.ts +134 -0
- package/dist/core/embeddings/EmbeddingCache.d.ts.map +1 -0
- package/dist/core/embeddings/EmbeddingCache.js +239 -0
- package/dist/core/embeddings/EmbeddingCache.js.map +1 -0
- package/dist/core/embeddings/EmbeddingGenerator.d.ts +224 -0
- package/dist/core/embeddings/EmbeddingGenerator.d.ts.map +1 -0
- package/dist/core/embeddings/EmbeddingGenerator.js +459 -0
- package/dist/core/embeddings/EmbeddingGenerator.js.map +1 -0
- package/dist/core/embeddings/index.d.ts +15 -0
- package/dist/core/embeddings/index.d.ts.map +1 -0
- package/dist/core/embeddings/index.js +22 -0
- package/dist/core/embeddings/index.js.map +1 -0
- package/dist/core/memory/AgentDBIntegration.d.ts +35 -0
- package/dist/core/memory/AgentDBIntegration.d.ts.map +1 -0
- package/dist/core/memory/AgentDBIntegration.js +75 -0
- package/dist/core/memory/AgentDBIntegration.js.map +1 -0
- package/dist/core/memory/AgentDBManager.d.ts +200 -0
- package/dist/core/memory/AgentDBManager.d.ts.map +1 -0
- package/dist/core/memory/AgentDBManager.js +246 -0
- package/dist/core/memory/AgentDBManager.js.map +1 -0
- package/dist/core/memory/AgentDBService.d.ts +160 -0
- package/dist/core/memory/AgentDBService.d.ts.map +1 -0
- package/dist/core/memory/AgentDBService.js +450 -0
- package/dist/core/memory/AgentDBService.js.map +1 -0
- package/dist/core/memory/RealAgentDBAdapter.d.ts +51 -0
- package/dist/core/memory/RealAgentDBAdapter.d.ts.map +1 -0
- package/dist/core/memory/RealAgentDBAdapter.js +231 -0
- package/dist/core/memory/RealAgentDBAdapter.js.map +1 -0
- package/dist/core/memory/ReasoningBankAdapter.d.ts +58 -0
- package/dist/core/memory/ReasoningBankAdapter.d.ts.map +1 -0
- package/dist/core/memory/ReasoningBankAdapter.js +77 -0
- package/dist/core/memory/ReasoningBankAdapter.js.map +1 -0
- package/dist/core/memory/SwarmMemoryManager.d.ts +75 -3
- package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
- package/dist/core/memory/SwarmMemoryManager.js +240 -55
- package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
- package/dist/core/memory/index.d.ts +4 -0
- package/dist/core/memory/index.d.ts.map +1 -1
- package/dist/core/memory/index.js +9 -1
- package/dist/core/memory/index.js.map +1 -1
- package/dist/core/neural/NeuralTrainer.d.ts +137 -0
- package/dist/core/neural/NeuralTrainer.d.ts.map +1 -0
- package/dist/core/neural/NeuralTrainer.js +544 -0
- package/dist/core/neural/NeuralTrainer.js.map +1 -0
- package/dist/core/neural/index.d.ts +8 -0
- package/dist/core/neural/index.d.ts.map +1 -0
- package/dist/core/neural/index.js +24 -0
- package/dist/core/neural/index.js.map +1 -0
- package/dist/core/neural/types.d.ts +216 -0
- package/dist/core/neural/types.d.ts.map +1 -0
- package/dist/core/neural/types.js +8 -0
- package/dist/core/neural/types.js.map +1 -0
- package/dist/core/quantization/QuantizationManager.d.ts +83 -0
- package/dist/core/quantization/QuantizationManager.d.ts.map +1 -0
- package/dist/core/quantization/QuantizationManager.js +264 -0
- package/dist/core/quantization/QuantizationManager.js.map +1 -0
- package/dist/core/quantization/index.d.ts +5 -0
- package/dist/core/quantization/index.d.ts.map +1 -0
- package/dist/core/quantization/index.js +9 -0
- package/dist/core/quantization/index.js.map +1 -0
- package/dist/core/security/CertificateValidator.d.ts +130 -0
- package/dist/core/security/CertificateValidator.d.ts.map +1 -0
- package/dist/core/security/CertificateValidator.js +376 -0
- package/dist/core/security/CertificateValidator.js.map +1 -0
- package/dist/core/transport/QUICTransport.d.ts +62 -0
- package/dist/core/transport/QUICTransport.d.ts.map +1 -0
- package/dist/core/transport/QUICTransport.js +381 -0
- package/dist/core/transport/QUICTransport.js.map +1 -0
- package/dist/core/transport/SecureQUICTransport.d.ts +71 -0
- package/dist/core/transport/SecureQUICTransport.d.ts.map +1 -0
- package/dist/core/transport/SecureQUICTransport.js +253 -0
- package/dist/core/transport/SecureQUICTransport.js.map +1 -0
- package/dist/learning/AdvancedFeatureExtractor.d.ts +123 -0
- package/dist/learning/AdvancedFeatureExtractor.d.ts.map +1 -0
- package/dist/learning/AdvancedFeatureExtractor.js +423 -0
- package/dist/learning/AdvancedFeatureExtractor.js.map +1 -0
- package/dist/learning/FlakyPredictionModel.d.ts +11 -1
- package/dist/learning/FlakyPredictionModel.d.ts.map +1 -1
- package/dist/learning/FlakyPredictionModel.js +82 -35
- package/dist/learning/FlakyPredictionModel.js.map +1 -1
- package/dist/learning/FlakyTestDetector.d.ts +9 -0
- package/dist/learning/FlakyTestDetector.d.ts.map +1 -1
- package/dist/learning/FlakyTestDetector.js +28 -6
- package/dist/learning/FlakyTestDetector.js.map +1 -1
- package/dist/learning/ImprovementLoop.d.ts +16 -2
- package/dist/learning/ImprovementLoop.d.ts.map +1 -1
- package/dist/learning/ImprovementLoop.js +67 -8
- package/dist/learning/ImprovementLoop.js.map +1 -1
- package/dist/learning/ImprovementWorker.d.ts +83 -0
- package/dist/learning/ImprovementWorker.d.ts.map +1 -0
- package/dist/learning/ImprovementWorker.js +164 -0
- package/dist/learning/ImprovementWorker.js.map +1 -0
- package/dist/learning/NeuralPatternMatcher.d.ts +184 -0
- package/dist/learning/NeuralPatternMatcher.d.ts.map +1 -0
- package/dist/learning/NeuralPatternMatcher.js +702 -0
- package/dist/learning/NeuralPatternMatcher.js.map +1 -0
- package/dist/learning/NeuralTrainer.d.ts +209 -0
- package/dist/learning/NeuralTrainer.d.ts.map +1 -0
- package/dist/learning/NeuralTrainer.js +478 -0
- package/dist/learning/NeuralTrainer.js.map +1 -0
- package/dist/learning/index.d.ts +13 -7
- package/dist/learning/index.d.ts.map +1 -1
- package/dist/learning/index.js +27 -11
- package/dist/learning/index.js.map +1 -1
- package/dist/learning/types.d.ts +1 -0
- package/dist/learning/types.d.ts.map +1 -1
- package/dist/learning/types.js +16 -0
- package/dist/learning/types.js.map +1 -1
- package/dist/mcp/MCPToolRegistry.d.ts +34 -0
- package/dist/mcp/MCPToolRegistry.d.ts.map +1 -0
- package/dist/mcp/MCPToolRegistry.js +48 -0
- package/dist/mcp/MCPToolRegistry.js.map +1 -0
- package/dist/mcp/handlers/advanced/mutation-test-execute.d.ts +3 -3
- package/dist/mcp/handlers/advanced/mutation-test-execute.d.ts.map +1 -1
- package/dist/mcp/handlers/advanced/mutation-test-execute.js +5 -4
- package/dist/mcp/handlers/advanced/mutation-test-execute.js.map +1 -1
- package/dist/mcp/handlers/agent-spawn.d.ts.map +1 -1
- package/dist/mcp/handlers/agent-spawn.js +2 -1
- package/dist/mcp/handlers/agent-spawn.js.map +1 -1
- package/dist/mcp/handlers/analysis/coverageAnalyzeSublinear.d.ts.map +1 -1
- package/dist/mcp/handlers/analysis/coverageAnalyzeSublinear.js +9 -8
- package/dist/mcp/handlers/analysis/coverageAnalyzeSublinear.js.map +1 -1
- package/dist/mcp/handlers/analysis/coverageGapsDetect.d.ts.map +1 -1
- package/dist/mcp/handlers/analysis/coverageGapsDetect.js +6 -5
- package/dist/mcp/handlers/analysis/coverageGapsDetect.js.map +1 -1
- package/dist/mcp/handlers/analysis/performance-monitor-realtime-handler.d.ts.map +1 -1
- package/dist/mcp/handlers/analysis/performance-monitor-realtime-handler.js +5 -4
- package/dist/mcp/handlers/analysis/performance-monitor-realtime-handler.js.map +1 -1
- package/dist/mcp/handlers/analysis/performanceBenchmarkRun.d.ts.map +1 -1
- package/dist/mcp/handlers/analysis/performanceBenchmarkRun.js +8 -7
- package/dist/mcp/handlers/analysis/performanceBenchmarkRun.js.map +1 -1
- package/dist/mcp/handlers/analysis/performanceMonitorRealtime.d.ts.map +1 -1
- package/dist/mcp/handlers/analysis/performanceMonitorRealtime.js +7 -6
- package/dist/mcp/handlers/analysis/performanceMonitorRealtime.js.map +1 -1
- package/dist/mcp/handlers/analysis/securityScanComprehensive.d.ts.map +1 -1
- package/dist/mcp/handlers/analysis/securityScanComprehensive.js +18 -21
- package/dist/mcp/handlers/analysis/securityScanComprehensive.js.map +1 -1
- package/dist/mcp/handlers/base-handler.d.ts.map +1 -1
- package/dist/mcp/handlers/base-handler.js +2 -9
- package/dist/mcp/handlers/base-handler.js.map +1 -1
- package/dist/mcp/handlers/chaos/chaos-inject-failure.d.ts.map +1 -1
- package/dist/mcp/handlers/chaos/chaos-inject-failure.js +4 -3
- package/dist/mcp/handlers/chaos/chaos-inject-failure.js.map +1 -1
- package/dist/mcp/handlers/chaos/chaos-inject-latency.d.ts.map +1 -1
- package/dist/mcp/handlers/chaos/chaos-inject-latency.js +6 -5
- package/dist/mcp/handlers/chaos/chaos-inject-latency.js.map +1 -1
- package/dist/mcp/handlers/coordination/event-emit.d.ts.map +1 -1
- package/dist/mcp/handlers/coordination/event-emit.js +2 -1
- package/dist/mcp/handlers/coordination/event-emit.js.map +1 -1
- package/dist/mcp/handlers/coordination/event-subscribe.d.ts.map +1 -1
- package/dist/mcp/handlers/coordination/event-subscribe.js +2 -1
- package/dist/mcp/handlers/coordination/event-subscribe.js.map +1 -1
- package/dist/mcp/handlers/coordination/workflow-checkpoint.d.ts.map +1 -1
- package/dist/mcp/handlers/coordination/workflow-checkpoint.js +2 -1
- package/dist/mcp/handlers/coordination/workflow-checkpoint.js.map +1 -1
- package/dist/mcp/handlers/coordination/workflow-create.d.ts.map +1 -1
- package/dist/mcp/handlers/coordination/workflow-create.js +2 -1
- package/dist/mcp/handlers/coordination/workflow-create.js.map +1 -1
- package/dist/mcp/handlers/coordination/workflow-execute.d.ts.map +1 -1
- package/dist/mcp/handlers/coordination/workflow-execute.js +2 -1
- package/dist/mcp/handlers/coordination/workflow-execute.js.map +1 -1
- package/dist/mcp/handlers/coordination/workflow-resume.d.ts.map +1 -1
- package/dist/mcp/handlers/coordination/workflow-resume.js +2 -1
- package/dist/mcp/handlers/coordination/workflow-resume.js.map +1 -1
- package/dist/mcp/handlers/fleet-init.d.ts.map +1 -1
- package/dist/mcp/handlers/fleet-init.js +2 -1
- package/dist/mcp/handlers/fleet-init.js.map +1 -1
- package/dist/mcp/handlers/fleet-status.d.ts.map +1 -1
- package/dist/mcp/handlers/fleet-status.js +31 -30
- package/dist/mcp/handlers/fleet-status.js.map +1 -1
- package/dist/mcp/handlers/integration/dependency-check.d.ts.map +1 -1
- package/dist/mcp/handlers/integration/dependency-check.js +3 -2
- package/dist/mcp/handlers/integration/dependency-check.js.map +1 -1
- package/dist/mcp/handlers/integration/integration-test-orchestrate.d.ts.map +1 -1
- package/dist/mcp/handlers/integration/integration-test-orchestrate.js +2 -1
- package/dist/mcp/handlers/integration/integration-test-orchestrate.js.map +1 -1
- package/dist/mcp/handlers/optimize-tests.d.ts.map +1 -1
- package/dist/mcp/handlers/optimize-tests.js +33 -32
- package/dist/mcp/handlers/optimize-tests.js.map +1 -1
- package/dist/mcp/handlers/predict-defects.d.ts.map +1 -1
- package/dist/mcp/handlers/predict-defects.js +46 -45
- package/dist/mcp/handlers/predict-defects.js.map +1 -1
- package/dist/mcp/handlers/prediction/deployment-readiness-check.d.ts.map +1 -1
- package/dist/mcp/handlers/prediction/deployment-readiness-check.js +24 -23
- package/dist/mcp/handlers/prediction/deployment-readiness-check.js.map +1 -1
- package/dist/mcp/handlers/prediction/predict-defects-ai.d.ts.map +1 -1
- package/dist/mcp/handlers/prediction/predict-defects-ai.js +10 -9
- package/dist/mcp/handlers/prediction/predict-defects-ai.js.map +1 -1
- package/dist/mcp/handlers/prediction/regression-risk-analyze.d.ts.map +1 -1
- package/dist/mcp/handlers/prediction/regression-risk-analyze.js +10 -9
- package/dist/mcp/handlers/prediction/regression-risk-analyze.js.map +1 -1
- package/dist/mcp/handlers/prediction/visual-test-regression.d.ts.map +1 -1
- package/dist/mcp/handlers/prediction/visual-test-regression.js +7 -6
- package/dist/mcp/handlers/prediction/visual-test-regression.js.map +1 -1
- package/dist/mcp/handlers/quality-analyze.d.ts.map +1 -1
- package/dist/mcp/handlers/quality-analyze.js +53 -52
- package/dist/mcp/handlers/quality-analyze.js.map +1 -1
- package/dist/mcp/handlers/task-orchestrate.d.ts.map +1 -1
- package/dist/mcp/handlers/task-orchestrate.js +19 -18
- package/dist/mcp/handlers/task-orchestrate.js.map +1 -1
- package/dist/mcp/handlers/test/test-execute-parallel.d.ts.map +1 -1
- package/dist/mcp/handlers/test/test-execute-parallel.js +7 -6
- package/dist/mcp/handlers/test/test-execute-parallel.js.map +1 -1
- package/dist/mcp/handlers/test/test-generate-enhanced.d.ts.map +1 -1
- package/dist/mcp/handlers/test/test-generate-enhanced.js +2 -1
- package/dist/mcp/handlers/test/test-generate-enhanced.js.map +1 -1
- package/dist/mcp/handlers/test/test-optimize-sublinear.d.ts.map +1 -1
- package/dist/mcp/handlers/test/test-optimize-sublinear.js +3 -2
- package/dist/mcp/handlers/test/test-optimize-sublinear.js.map +1 -1
- package/dist/mcp/handlers/test-execute.d.ts.map +1 -1
- package/dist/mcp/handlers/test-execute.js +11 -10
- package/dist/mcp/handlers/test-execute.js.map +1 -1
- package/dist/mcp/handlers/test-generate.d.ts.map +1 -1
- package/dist/mcp/handlers/test-generate.js +4 -3
- package/dist/mcp/handlers/test-generate.js.map +1 -1
- package/dist/mcp/server.d.ts +4 -4
- package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
- package/dist/mcp/services/AgentRegistry.js +9 -2
- package/dist/mcp/services/AgentRegistry.js.map +1 -1
- package/dist/mcp/streaming/CoverageAnalyzeStreamHandler.d.ts.map +1 -1
- package/dist/mcp/streaming/CoverageAnalyzeStreamHandler.js +10 -9
- package/dist/mcp/streaming/CoverageAnalyzeStreamHandler.js.map +1 -1
- package/dist/mcp/streaming/StreamingMCPTool.d.ts.map +1 -1
- package/dist/mcp/streaming/StreamingMCPTool.js +2 -1
- package/dist/mcp/streaming/StreamingMCPTool.js.map +1 -1
- package/dist/mcp/streaming/TestExecuteStreamHandler.d.ts.map +1 -1
- package/dist/mcp/streaming/TestExecuteStreamHandler.js +6 -5
- package/dist/mcp/streaming/TestExecuteStreamHandler.js.map +1 -1
- package/dist/reasoning/TestTemplateCreator.d.ts +10 -2
- package/dist/reasoning/TestTemplateCreator.d.ts.map +1 -1
- package/dist/reasoning/TestTemplateCreator.js +81 -21
- package/dist/reasoning/TestTemplateCreator.js.map +1 -1
- package/dist/transport/QUICTransport.d.ts +340 -0
- package/dist/transport/QUICTransport.d.ts.map +1 -0
- package/dist/transport/QUICTransport.js +814 -0
- package/dist/transport/QUICTransport.js.map +1 -0
- package/dist/transport/UDPTransport.d.ts +348 -0
- package/dist/transport/UDPTransport.d.ts.map +1 -0
- package/dist/transport/UDPTransport.js +820 -0
- package/dist/transport/UDPTransport.js.map +1 -0
- package/dist/types/errors.d.ts +1 -1
- package/dist/types/index.d.ts +37 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/pattern.types.d.ts +39 -3
- package/dist/types/pattern.types.d.ts.map +1 -1
- package/dist/types/quic.d.ts +339 -0
- package/dist/types/quic.d.ts.map +1 -0
- package/dist/types/quic.js +48 -0
- package/dist/types/quic.js.map +1 -0
- package/dist/utils/Config.js +3 -3
- package/dist/utils/Config.js.map +1 -1
- package/dist/utils/Database.d.ts +14 -0
- package/dist/utils/Database.d.ts.map +1 -1
- package/dist/utils/Database.js +51 -4
- package/dist/utils/Database.js.map +1 -1
- package/dist/utils/Logger.d.ts.map +1 -1
- package/dist/utils/Logger.js +111 -26
- package/dist/utils/Logger.js.map +1 -1
- package/dist/utils/ProcessExit.d.ts +23 -0
- package/dist/utils/ProcessExit.d.ts.map +1 -0
- package/dist/utils/ProcessExit.js +40 -0
- package/dist/utils/ProcessExit.js.map +1 -0
- package/dist/utils/SecureRandom.d.ts +171 -0
- package/dist/utils/SecureRandom.d.ts.map +1 -0
- package/dist/utils/SecureRandom.js +229 -0
- package/dist/utils/SecureRandom.js.map +1 -0
- package/dist/utils/SecureUrlValidator.d.ts +167 -0
- package/dist/utils/SecureUrlValidator.d.ts.map +1 -0
- package/dist/utils/SecureUrlValidator.js +306 -0
- package/dist/utils/SecureUrlValidator.js.map +1 -0
- package/dist/utils/SecureValidation.d.ts +131 -0
- package/dist/utils/SecureValidation.d.ts.map +1 -0
- package/dist/utils/SecureValidation.js +265 -0
- package/dist/utils/SecureValidation.js.map +1 -0
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +5 -4
- package/dist/utils/validation.js.map +1 -1
- package/package.json +31 -8
|
@@ -0,0 +1,676 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: advanced-exploratory-testing
|
|
3
|
+
description: Advanced exploratory testing techniques with Session-Based Test Management (SBTM), RST heuristics, and test tours. Use when planning exploration sessions, investigating bugs, or discovering unknown quality risks.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
category: testing
|
|
6
|
+
tags: [exploratory-testing, sbtm, rst-heuristics, test-tours, bug-investigation, session-based-testing]
|
|
7
|
+
difficulty: intermediate
|
|
8
|
+
estimated_time: 3-4 hours
|
|
9
|
+
author: user
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Advanced Exploratory Testing
|
|
13
|
+
|
|
14
|
+
## Core Concept
|
|
15
|
+
|
|
16
|
+
Exploratory testing is simultaneous learning, test design, and test execution. It's not "ad-hoc" testing - it's skilled investigation guided by heuristics, experience, and critical thinking.
|
|
17
|
+
|
|
18
|
+
## Session-Based Test Management (SBTM)
|
|
19
|
+
|
|
20
|
+
### Session Structure
|
|
21
|
+
|
|
22
|
+
**Charter (Mission Statement)**
|
|
23
|
+
```
|
|
24
|
+
Explore [area]
|
|
25
|
+
With [resources/tools]
|
|
26
|
+
To discover [information/risks]
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
**Example:**
|
|
30
|
+
"Explore the checkout payment flow with various card types to discover edge cases in error handling and validation."
|
|
31
|
+
|
|
32
|
+
### Session Duration
|
|
33
|
+
- **Short:** 45-60 minutes (focused investigation)
|
|
34
|
+
- **Standard:** 90 minutes (deeper exploration)
|
|
35
|
+
- **Long:** 2 hours (complex feature deep dive)
|
|
36
|
+
|
|
37
|
+
**Why time-box?** Prevents endless wandering, creates focus, enables planning.
|
|
38
|
+
|
|
39
|
+
### Session Notes Template
|
|
40
|
+
|
|
41
|
+
```markdown
|
|
42
|
+
## Session Charter
|
|
43
|
+
[Your mission]
|
|
44
|
+
|
|
45
|
+
## Start Time: [timestamp]
|
|
46
|
+
## Tester: [name]
|
|
47
|
+
|
|
48
|
+
## Test Notes (What you did)
|
|
49
|
+
- Tested checkout with Visa card → Success
|
|
50
|
+
- Tried expired card → Error message unclear "Payment failed"
|
|
51
|
+
- Discovered: No distinction between expired, invalid, or declined
|
|
52
|
+
- Tried $0.01 transaction → Processed (should block?)
|
|
53
|
+
- Card with special chars in name → App crashed (500 error)
|
|
54
|
+
|
|
55
|
+
## Bugs Found
|
|
56
|
+
1. [BUG-123] Unclear error messages for card failures
|
|
57
|
+
2. [BUG-124] App crashes on special characters in cardholder name
|
|
58
|
+
3. [BUG-125] Micro-transactions not blocked despite policy
|
|
59
|
+
|
|
60
|
+
## Questions / Issues
|
|
61
|
+
- What's the minimum transaction amount?
|
|
62
|
+
- Should we support international cards?
|
|
63
|
+
- Who handles fraud detection?
|
|
64
|
+
|
|
65
|
+
## Areas Not Covered
|
|
66
|
+
- Refund flow
|
|
67
|
+
- Subscription payments
|
|
68
|
+
- Multiple payment methods
|
|
69
|
+
|
|
70
|
+
## Duration: [actual time]
|
|
71
|
+
## Session %: [test execution vs setup/bugs/other]
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Session Metrics
|
|
75
|
+
|
|
76
|
+
**TBS (Test/Bug/Setup) Breakdown:**
|
|
77
|
+
- **Test %:** Actual exploration time
|
|
78
|
+
- **Bug %:** Time investigating/reporting bugs
|
|
79
|
+
- **Setup %:** Time getting environment ready
|
|
80
|
+
|
|
81
|
+
**Target:** 60-70% test, rest is normal overhead
|
|
82
|
+
|
|
83
|
+
## RST Heuristics Deep Dive
|
|
84
|
+
|
|
85
|
+
### SFDIPOT (Quality Criteria)
|
|
86
|
+
|
|
87
|
+
**Structure**
|
|
88
|
+
- Is the code organized logically?
|
|
89
|
+
- Are modules properly separated?
|
|
90
|
+
- Dependencies managed correctly?
|
|
91
|
+
- Configuration files valid?
|
|
92
|
+
|
|
93
|
+
**Test:** "Import malformed config file, does app handle gracefully?"
|
|
94
|
+
|
|
95
|
+
**Function**
|
|
96
|
+
- Does it do what it claims?
|
|
97
|
+
- All features working as expected?
|
|
98
|
+
- Business logic correct?
|
|
99
|
+
|
|
100
|
+
**Test:** "Calculate 15% tip on $47.82, does it match manual calculation?"
|
|
101
|
+
|
|
102
|
+
**Data**
|
|
103
|
+
- Input validation working?
|
|
104
|
+
- Data types handled correctly?
|
|
105
|
+
- Boundary values tested?
|
|
106
|
+
- Data persistence reliable?
|
|
107
|
+
|
|
108
|
+
**Test:** "Enter 999-character username, what happens?"
|
|
109
|
+
|
|
110
|
+
**Interfaces**
|
|
111
|
+
- APIs returning correct responses?
|
|
112
|
+
- UI elements responding properly?
|
|
113
|
+
- Integration points working?
|
|
114
|
+
- Error messages clear?
|
|
115
|
+
|
|
116
|
+
**Test:** "Call API with missing required field, is error message helpful?"
|
|
117
|
+
|
|
118
|
+
**Platform**
|
|
119
|
+
- Works across browsers/devices?
|
|
120
|
+
- OS compatibility verified?
|
|
121
|
+
- Screen sizes handled?
|
|
122
|
+
- Network conditions varied?
|
|
123
|
+
|
|
124
|
+
**Test:** "Use on mobile Chrome, iOS Safari, desktop Firefox - any differences?"
|
|
125
|
+
|
|
126
|
+
**Operations**
|
|
127
|
+
- Installation smooth?
|
|
128
|
+
- Upgrade path works?
|
|
129
|
+
- Logs useful for debugging?
|
|
130
|
+
- Performance acceptable?
|
|
131
|
+
|
|
132
|
+
**Test:** "Upgrade from v2.1 to v3.0, does migration preserve data?"
|
|
133
|
+
|
|
134
|
+
**Time**
|
|
135
|
+
- Handles timeouts correctly?
|
|
136
|
+
- Concurrent operations safe?
|
|
137
|
+
- Scheduled tasks running?
|
|
138
|
+
- Race conditions handled?
|
|
139
|
+
|
|
140
|
+
**Test:** "Submit form twice rapidly, does it create duplicate records?"
|
|
141
|
+
|
|
142
|
+
### FEW HICCUPPS (Product Elements to Test)
|
|
143
|
+
|
|
144
|
+
**Familiarity** - Is it like things users know?
|
|
145
|
+
**Explainability** - Can users understand it?
|
|
146
|
+
**World** - Does it work in the real world context?
|
|
147
|
+
|
|
148
|
+
**History** - Consistent with previous versions?
|
|
149
|
+
**Image** - Does it match brand/expectations?
|
|
150
|
+
**Comparable Products** - How does it compare to competitors?
|
|
151
|
+
**Claims** - Does it deliver on promises?
|
|
152
|
+
**Users** - Does it meet user needs?
|
|
153
|
+
**Purpose** - Does it solve the problem?
|
|
154
|
+
**Policies** - Compliant with regulations?
|
|
155
|
+
**Standards** - Meets industry standards?
|
|
156
|
+
|
|
157
|
+
### CRUSSPIC STMP (Test Techniques)
|
|
158
|
+
|
|
159
|
+
**Create** - Create new records/entities
|
|
160
|
+
**Read** - View/retrieve information
|
|
161
|
+
**Update** - Modify existing data
|
|
162
|
+
**Search** - Find specific items
|
|
163
|
+
**Sort** - Order results
|
|
164
|
+
**Print** - Export/output data
|
|
165
|
+
**Import** - Bring in external data
|
|
166
|
+
**Configure** - Change settings
|
|
167
|
+
|
|
168
|
+
**Status** - Check system state
|
|
169
|
+
**Tourism** - Explore like different user types
|
|
170
|
+
**Modeling** - Model expected behavior
|
|
171
|
+
**Patterns** - Look for recurring issues
|
|
172
|
+
|
|
173
|
+
### Test Tours (Exploration Strategies)
|
|
174
|
+
|
|
175
|
+
**Business District Tour**
|
|
176
|
+
Visit critical business functions first. Focus on revenue-generating features.
|
|
177
|
+
|
|
178
|
+
**Example:** E-commerce → checkout, payment, order confirmation
|
|
179
|
+
|
|
180
|
+
**Historical Tour**
|
|
181
|
+
Test areas with known bug history. Old problems often resurface.
|
|
182
|
+
|
|
183
|
+
**Example:** Check last 3 sprints' bug reports, test those areas
|
|
184
|
+
|
|
185
|
+
**Bad Neighborhood Tour**
|
|
186
|
+
Explore where bugs cluster. Some modules are just trouble-prone.
|
|
187
|
+
|
|
188
|
+
**Example:** If authentication always has issues, test it thoroughly
|
|
189
|
+
|
|
190
|
+
**Tourist Tour**
|
|
191
|
+
Follow the path a new user would take. First impressions matter.
|
|
192
|
+
|
|
193
|
+
**Example:** Sign up → onboarding → first successful action
|
|
194
|
+
|
|
195
|
+
**Museum Tour**
|
|
196
|
+
Explore help documentation, examples, tutorials. Do they work?
|
|
197
|
+
|
|
198
|
+
**Example:** Follow the "Getting Started" guide exactly as written
|
|
199
|
+
|
|
200
|
+
**Saboteur Tour**
|
|
201
|
+
Try to break things deliberately. Think like an attacker or malicious user.
|
|
202
|
+
|
|
203
|
+
**Example:** SQL injection attempts, XSS, CSRF, buffer overflows
|
|
204
|
+
|
|
205
|
+
**Fed-Ex Tour**
|
|
206
|
+
Follow data through the system. Track it end-to-end.
|
|
207
|
+
|
|
208
|
+
**Example:** User registration → email verification → profile creation → first purchase
|
|
209
|
+
|
|
210
|
+
**All-Nighter Tour**
|
|
211
|
+
Test during extended use. Does performance degrade over time?
|
|
212
|
+
|
|
213
|
+
**Example:** Leave app running for 8 hours with periodic interactions
|
|
214
|
+
|
|
215
|
+
**Obsessive-Compulsive Tour**
|
|
216
|
+
Repeat the same operation many times. Does it stay consistent?
|
|
217
|
+
|
|
218
|
+
**Example:** Save document 50 times in a row, check for corruption
|
|
219
|
+
|
|
220
|
+
**Supermodel Tour**
|
|
221
|
+
Focus purely on UI/UX. Is it beautiful AND usable?
|
|
222
|
+
|
|
223
|
+
**Example:** Check spacing, fonts, colors, alignment, accessibility
|
|
224
|
+
|
|
225
|
+
**Couch Potato Tour**
|
|
226
|
+
Do the minimum possible. Does lazy usage break things?
|
|
227
|
+
|
|
228
|
+
**Example:** Leave forms partially filled, navigate away and back
|
|
229
|
+
|
|
230
|
+
**Antisocial Tour**
|
|
231
|
+
Refuse to follow expected workflow. Go backward, skip steps, break sequence.
|
|
232
|
+
|
|
233
|
+
**Example:** Checkout without items, skip required steps, use back button
|
|
234
|
+
|
|
235
|
+
## Exploratory Test Design Patterns
|
|
236
|
+
|
|
237
|
+
### Pattern 1: Variation Testing
|
|
238
|
+
|
|
239
|
+
Pick one variable, vary it systematically while keeping others constant.
|
|
240
|
+
|
|
241
|
+
**Example: Login Testing**
|
|
242
|
+
```
|
|
243
|
+
Username: valid
|
|
244
|
+
Password: [vary this]
|
|
245
|
+
- Empty
|
|
246
|
+
- Wrong password
|
|
247
|
+
- Correct password
|
|
248
|
+
- SQL injection string
|
|
249
|
+
- 1000 characters
|
|
250
|
+
- Special characters
|
|
251
|
+
- Unicode
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
### Pattern 2: Boundary Testing
|
|
255
|
+
|
|
256
|
+
Test edges and limits.
|
|
257
|
+
|
|
258
|
+
```
|
|
259
|
+
Field: Age
|
|
260
|
+
- Minimum valid: 18
|
|
261
|
+
- Just below: 17
|
|
262
|
+
- Just above: 19
|
|
263
|
+
- Maximum valid: 120
|
|
264
|
+
- Just above max: 121
|
|
265
|
+
- Zero: 0
|
|
266
|
+
- Negative: -5
|
|
267
|
+
- Non-integer: 18.5
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
### Pattern 3: Combo Testing
|
|
271
|
+
|
|
272
|
+
Test interactions between features.
|
|
273
|
+
|
|
274
|
+
```
|
|
275
|
+
Feature A: Dark mode
|
|
276
|
+
Feature B: High contrast mode
|
|
277
|
+
Test: Both enabled simultaneously - readable?
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
### Pattern 4: State Transition Testing
|
|
281
|
+
|
|
282
|
+
Map application states, test transitions.
|
|
283
|
+
|
|
284
|
+
```
|
|
285
|
+
Cart States:
|
|
286
|
+
Empty → Has Items → Checkout Started → Payment → Order Complete
|
|
287
|
+
|
|
288
|
+
Test each transition and invalid transitions:
|
|
289
|
+
- Empty → Checkout (should block)
|
|
290
|
+
- Has Items → Order Complete (skip payment - should block)
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
### Pattern 5: Interrupt Testing
|
|
294
|
+
|
|
295
|
+
Interrupt processes mid-flow.
|
|
296
|
+
|
|
297
|
+
```
|
|
298
|
+
During file upload:
|
|
299
|
+
- Close browser
|
|
300
|
+
- Kill network
|
|
301
|
+
- Power off device
|
|
302
|
+
- Navigate away
|
|
303
|
+
Result: Should recover gracefully
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
## Bug Reporting from Exploration
|
|
307
|
+
|
|
308
|
+
### Effective Bug Report Structure
|
|
309
|
+
|
|
310
|
+
```markdown
|
|
311
|
+
## BUG-456: Checkout crashes on special characters in address
|
|
312
|
+
|
|
313
|
+
**Severity:** High
|
|
314
|
+
**Priority:** Medium
|
|
315
|
+
|
|
316
|
+
**Environment:**
|
|
317
|
+
- Chrome 118.0 on macOS 14.1
|
|
318
|
+
- Production environment
|
|
319
|
+
- User role: Customer
|
|
320
|
+
|
|
321
|
+
**Steps to Reproduce:**
|
|
322
|
+
1. Add item to cart
|
|
323
|
+
2. Proceed to checkout
|
|
324
|
+
3. Enter address with apostrophe: "123 O'Brien Street"
|
|
325
|
+
4. Click "Continue"
|
|
326
|
+
|
|
327
|
+
**Expected Result:**
|
|
328
|
+
Address accepted, proceed to payment
|
|
329
|
+
|
|
330
|
+
**Actual Result:**
|
|
331
|
+
500 Internal Server Error
|
|
332
|
+
Console shows: "Unescaped character in SQL query"
|
|
333
|
+
|
|
334
|
+
**Additional Context:**
|
|
335
|
+
- Tested with other special chars: &, <, > - same crash
|
|
336
|
+
- Regular addresses work fine
|
|
337
|
+
- Issue reproducible 100% of the time
|
|
338
|
+
- Potential SQL injection vulnerability
|
|
339
|
+
|
|
340
|
+
**Logs:**
|
|
341
|
+
[Attach relevant logs]
|
|
342
|
+
|
|
343
|
+
**Screenshots:**
|
|
344
|
+
[Attach error screenshot]
|
|
345
|
+
|
|
346
|
+
**Impact:**
|
|
347
|
+
- Blocks all users with apostrophes in address
|
|
348
|
+
- Estimated 2-5% of user base
|
|
349
|
+
- Security risk (SQL injection)
|
|
350
|
+
|
|
351
|
+
**Workaround:**
|
|
352
|
+
Tell users to omit apostrophes temporarily
|
|
353
|
+
|
|
354
|
+
**Suggested Fix:**
|
|
355
|
+
Parameterize SQL queries, use prepared statements
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
### Bug Triage During Exploration
|
|
359
|
+
|
|
360
|
+
**Stop and file immediately if:**
|
|
361
|
+
- Security vulnerability
|
|
362
|
+
- Data corruption
|
|
363
|
+
- Complete feature failure
|
|
364
|
+
- Crash/exception
|
|
365
|
+
|
|
366
|
+
**Note and continue if:**
|
|
367
|
+
- Minor UI glitch
|
|
368
|
+
- Spelling error
|
|
369
|
+
- Edge case with workaround
|
|
370
|
+
- Performance slightly slower
|
|
371
|
+
|
|
372
|
+
**End session notes if:**
|
|
373
|
+
- Multiple similar bugs (pattern detected)
|
|
374
|
+
- Enhancement ideas
|
|
375
|
+
- Questions for product team
|
|
376
|
+
|
|
377
|
+
## Collaborative Exploratory Testing
|
|
378
|
+
|
|
379
|
+
### Pair Exploration
|
|
380
|
+
|
|
381
|
+
**Navigator:** Directs testing strategy, takes notes
|
|
382
|
+
**Driver:** Operates application, reports observations
|
|
383
|
+
|
|
384
|
+
**Benefits:**
|
|
385
|
+
- Two perspectives simultaneously
|
|
386
|
+
- One focuses on exploration, one on documentation
|
|
387
|
+
- Real-time discussion of findings
|
|
388
|
+
- Better coverage
|
|
389
|
+
|
|
390
|
+
**Rotation:** Switch roles every 20-30 minutes
|
|
391
|
+
|
|
392
|
+
### Mob Exploration
|
|
393
|
+
|
|
394
|
+
3-5 people exploring together:
|
|
395
|
+
- One driver
|
|
396
|
+
- Others observe, suggest tests, take notes
|
|
397
|
+
- Rotate driver every 15 minutes
|
|
398
|
+
|
|
399
|
+
**Use when:**
|
|
400
|
+
- Complex new feature
|
|
401
|
+
- High-risk area
|
|
402
|
+
- Training new testers
|
|
403
|
+
- Critical bug investigation
|
|
404
|
+
|
|
405
|
+
## Exploratory Testing + Automation
|
|
406
|
+
|
|
407
|
+
### Automation-Assisted Exploration
|
|
408
|
+
|
|
409
|
+
**Use automation to:**
|
|
410
|
+
- Generate test data
|
|
411
|
+
- Set up complex scenarios
|
|
412
|
+
- Reset environment between sessions
|
|
413
|
+
- Capture screenshots/videos automatically
|
|
414
|
+
- Monitor logs in real-time
|
|
415
|
+
|
|
416
|
+
**Example:**
|
|
417
|
+
```bash
|
|
418
|
+
# Script to set up test scenario
|
|
419
|
+
./setup-test-user.sh --role=premium --with-orders=5
|
|
420
|
+
|
|
421
|
+
# Now explore manually with realistic data ready
|
|
422
|
+
```
|
|
423
|
+
|
|
424
|
+
### Exploration-Informed Automation
|
|
425
|
+
|
|
426
|
+
**After exploration session:**
|
|
427
|
+
1. Identify tests that are:
|
|
428
|
+
- Repetitive
|
|
429
|
+
- Regression-prone
|
|
430
|
+
- Require exact same steps
|
|
431
|
+
|
|
432
|
+
2. Automate those specific tests
|
|
433
|
+
|
|
434
|
+
3. Continue exploring new areas
|
|
435
|
+
|
|
436
|
+
**Don't automate:**
|
|
437
|
+
- Exploratory testing itself
|
|
438
|
+
- One-time investigations
|
|
439
|
+
- Rapidly changing features
|
|
440
|
+
|
|
441
|
+
## Metrics for Exploratory Testing
|
|
442
|
+
|
|
443
|
+
### Session Coverage
|
|
444
|
+
|
|
445
|
+
Track which areas explored:
|
|
446
|
+
```
|
|
447
|
+
Feature Map:
|
|
448
|
+
├─ Authentication [explored]
|
|
449
|
+
│ ├─ Login [thoroughly tested]
|
|
450
|
+
│ ├─ Registration [briefly tested]
|
|
451
|
+
│ └─ Password Reset [not yet tested]
|
|
452
|
+
├─ Checkout [explored]
|
|
453
|
+
│ ├─ Cart [thoroughly tested]
|
|
454
|
+
│ ├─ Payment [medium coverage]
|
|
455
|
+
│ └─ Confirmation [briefly tested]
|
|
456
|
+
```
|
|
457
|
+
|
|
458
|
+
### Bug Detection Rate
|
|
459
|
+
|
|
460
|
+
```
|
|
461
|
+
Sprint 12:
|
|
462
|
+
- 8 exploratory sessions (12 hours total)
|
|
463
|
+
- 23 bugs found
|
|
464
|
+
- 19 bugs were unique (not found by automation)
|
|
465
|
+
- Bug detection rate: 1.9 bugs/hour
|
|
466
|
+
```
|
|
467
|
+
|
|
468
|
+
### Risk Coverage
|
|
469
|
+
|
|
470
|
+
```
|
|
471
|
+
High-risk areas (payment, auth, data export):
|
|
472
|
+
- Planned: 10 hours
|
|
473
|
+
- Executed: 12 hours
|
|
474
|
+
- Bugs found: 15 (5 critical)
|
|
475
|
+
- Status: Well covered
|
|
476
|
+
|
|
477
|
+
Medium-risk areas:
|
|
478
|
+
- Planned: 6 hours
|
|
479
|
+
- Executed: 4 hours
|
|
480
|
+
- Bugs found: 7 (0 critical)
|
|
481
|
+
- Status: More exploration needed
|
|
482
|
+
|
|
483
|
+
Low-risk areas:
|
|
484
|
+
- Planned: 2 hours
|
|
485
|
+
- Executed: 1 hour
|
|
486
|
+
- Status: Adequate
|
|
487
|
+
```
|
|
488
|
+
|
|
489
|
+
## Common Mistakes
|
|
490
|
+
|
|
491
|
+
### ❌ No Charter
|
|
492
|
+
**Problem:** Aimless wandering, unclear what was tested
|
|
493
|
+
|
|
494
|
+
**Fix:** Always start with clear charter
|
|
495
|
+
|
|
496
|
+
### ❌ Too Long Sessions
|
|
497
|
+
**Problem:** Mental fatigue, diminishing returns after 2 hours
|
|
498
|
+
|
|
499
|
+
**Fix:** Keep sessions 45-90 minutes, take breaks
|
|
500
|
+
|
|
501
|
+
### ❌ Not Taking Notes
|
|
502
|
+
**Problem:** Can't reproduce bugs, forget what was tested
|
|
503
|
+
|
|
504
|
+
**Fix:** Take notes continuously during session
|
|
505
|
+
|
|
506
|
+
### ❌ Testing Same Things
|
|
507
|
+
**Problem:** Repetitive testing, missing new areas
|
|
508
|
+
|
|
509
|
+
**Fix:** Use session coverage map, vary tours
|
|
510
|
+
|
|
511
|
+
### ❌ Ignoring Automation
|
|
512
|
+
**Problem:** Wasting time on repetitive setup
|
|
513
|
+
|
|
514
|
+
**Fix:** Automate environment setup, data generation
|
|
515
|
+
|
|
516
|
+
## Advanced Techniques
|
|
517
|
+
|
|
518
|
+
### Hypothesis-Driven Exploration
|
|
519
|
+
|
|
520
|
+
```
|
|
521
|
+
Hypothesis: "Payment fails under high load"
|
|
522
|
+
|
|
523
|
+
Test Design:
|
|
524
|
+
1. Simulate 100 concurrent checkouts
|
|
525
|
+
2. Monitor error rates
|
|
526
|
+
3. Check if errors correlate with load
|
|
527
|
+
4. Investigate failed transactions
|
|
528
|
+
|
|
529
|
+
Result: Confirmed - database connection pool exhausted
|
|
530
|
+
```
|
|
531
|
+
|
|
532
|
+
### Personas-Based Exploration
|
|
533
|
+
|
|
534
|
+
Test as different user types:
|
|
535
|
+
|
|
536
|
+
**Persona 1: Novice User**
|
|
537
|
+
- Doesn't read instructions
|
|
538
|
+
- Makes mistakes frequently
|
|
539
|
+
- Uses basic features only
|
|
540
|
+
|
|
541
|
+
**Persona 2: Power User**
|
|
542
|
+
- Uses keyboard shortcuts
|
|
543
|
+
- Combines features in unexpected ways
|
|
544
|
+
- Pushes limits
|
|
545
|
+
|
|
546
|
+
**Persona 3: Malicious User**
|
|
547
|
+
- Tries to break security
|
|
548
|
+
- Attempts to access unauthorized data
|
|
549
|
+
- Injects malicious input
|
|
550
|
+
|
|
551
|
+
### State Model Exploration
|
|
552
|
+
|
|
553
|
+
```
|
|
554
|
+
Application States:
|
|
555
|
+
[Logged Out] → [Logged In] → [Premium User] → [Suspended]
|
|
556
|
+
|
|
557
|
+
Test state transitions:
|
|
558
|
+
- Valid: Logged Out → Logged In ✓
|
|
559
|
+
- Invalid: Logged Out → Premium User ✗ (should block)
|
|
560
|
+
- Edge: Suspended → attempt action (should prevent)
|
|
561
|
+
```
|
|
562
|
+
|
|
563
|
+
## Tools for Exploratory Testing
|
|
564
|
+
|
|
565
|
+
**Session Management:**
|
|
566
|
+
- Rapid Reporter (session notes)
|
|
567
|
+
- TestBuddy (charters and notes)
|
|
568
|
+
- Excel/Notion (custom templates)
|
|
569
|
+
|
|
570
|
+
**Screen Recording:**
|
|
571
|
+
- OBS Studio (screen capture)
|
|
572
|
+
- Loom (quick videos)
|
|
573
|
+
- Browser DevTools (network/console logs)
|
|
574
|
+
|
|
575
|
+
**Note Taking:**
|
|
576
|
+
- Obsidian (markdown notes with linking)
|
|
577
|
+
- Notion (structured templates)
|
|
578
|
+
- Simple text file (lightweight)
|
|
579
|
+
|
|
580
|
+
**Test Data:**
|
|
581
|
+
- Faker.js (generate realistic data)
|
|
582
|
+
- Mockaroo (custom data sets)
|
|
583
|
+
- SQL scripts (predefined scenarios)
|
|
584
|
+
|
|
585
|
+
## Using with QE Agents
|
|
586
|
+
|
|
587
|
+
### Agent-Assisted Exploration
|
|
588
|
+
|
|
589
|
+
**qe-flaky-test-hunter** uses this skill:
|
|
590
|
+
```typescript
|
|
591
|
+
// Agent uses exploration tours to hunt flaky tests
|
|
592
|
+
await agent.exploreWithTour({
|
|
593
|
+
tour: 'bad-neighborhood', // Focus on trouble-prone areas
|
|
594
|
+
duration: '90min',
|
|
595
|
+
charter: 'Discover flaky test patterns in authentication'
|
|
596
|
+
});
|
|
597
|
+
```
|
|
598
|
+
|
|
599
|
+
**qe-visual-tester** applies exploratory techniques:
|
|
600
|
+
```typescript
|
|
601
|
+
// Agent explores UI using Supermodel Tour
|
|
602
|
+
await agent.visualExploration({
|
|
603
|
+
tour: 'supermodel', // Focus on visual/UX aspects
|
|
604
|
+
heuristic: 'SFDIPOT',
|
|
605
|
+
recordSession: true
|
|
606
|
+
});
|
|
607
|
+
```
|
|
608
|
+
|
|
609
|
+
### Exploration-Generated Test Cases
|
|
610
|
+
|
|
611
|
+
Agents learn from human exploration sessions:
|
|
612
|
+
```typescript
|
|
613
|
+
// Human explores and finds pattern
|
|
614
|
+
// Session notes: "Payment fails when card expires during checkout"
|
|
615
|
+
|
|
616
|
+
// Agent converts to automated test
|
|
617
|
+
await qe-test-generator.generateFromSession({
|
|
618
|
+
sessionNotes: './sessions/payment-exploration-2025-10-20.md',
|
|
619
|
+
pattern: 'timing-related-errors',
|
|
620
|
+
priority: 'high'
|
|
621
|
+
});
|
|
622
|
+
// → Creates automated regression test for timing issue
|
|
623
|
+
```
|
|
624
|
+
|
|
625
|
+
### Agent-Human Pairing for Exploration
|
|
626
|
+
|
|
627
|
+
```typescript
|
|
628
|
+
// Collaborative exploration
|
|
629
|
+
const session = await agent.startExplorationSession({
|
|
630
|
+
charter: 'Explore checkout edge cases',
|
|
631
|
+
humanRole: 'navigator', // Human directs, agent executes
|
|
632
|
+
agentRole: 'driver'
|
|
633
|
+
});
|
|
634
|
+
|
|
635
|
+
// Agent executes while human observes and directs
|
|
636
|
+
await session.explore();
|
|
637
|
+
// Agent logs all actions, human spots patterns
|
|
638
|
+
```
|
|
639
|
+
|
|
640
|
+
---
|
|
641
|
+
|
|
642
|
+
## Related Skills
|
|
643
|
+
|
|
644
|
+
**Core Quality Practices:**
|
|
645
|
+
- [agentic-quality-engineering](../agentic-quality-engineering/) - Using agents for exploration
|
|
646
|
+
- [context-driven-testing](../context-driven-testing/) - Adapt exploration to context
|
|
647
|
+
- [risk-based-testing](../risk-based-testing/) - Focus exploration on high-risk areas
|
|
648
|
+
|
|
649
|
+
**Testing Approaches:**
|
|
650
|
+
- [api-testing-patterns](../api-testing-patterns/) - Exploratory API testing
|
|
651
|
+
- [security-testing](../security-testing/) - Security-focused tours
|
|
652
|
+
- [performance-testing](../performance-testing/) - Performance exploration
|
|
653
|
+
|
|
654
|
+
**Development Practices:**
|
|
655
|
+
- [xp-practices](../xp-practices/) - Ensemble exploration sessions
|
|
656
|
+
- [bug-reporting-excellence](../bug-reporting-excellence/) - Document findings effectively
|
|
657
|
+
|
|
658
|
+
---
|
|
659
|
+
|
|
660
|
+
## Remember
|
|
661
|
+
|
|
662
|
+
Exploratory testing is not:
|
|
663
|
+
- Random clicking
|
|
664
|
+
- Unstructured chaos
|
|
665
|
+
- What you do when lazy
|
|
666
|
+
|
|
667
|
+
Exploratory testing IS:
|
|
668
|
+
- Skilled investigation
|
|
669
|
+
- Structured thinking
|
|
670
|
+
- Critical analysis
|
|
671
|
+
- Creative test design
|
|
672
|
+
- Continuous learning
|
|
673
|
+
|
|
674
|
+
**Balance automation and exploration. Neither replaces the other.**
|
|
675
|
+
|
|
676
|
+
**With Agents**: Agents handle repetitive exploration patterns, humans focus on creative, context-driven investigation. Both amplify each other.
|