@chongyan/autospec 1.0.1 → 1.0.3
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/LICENSE +242 -21
- package/README.md +54 -476
- package/dist/README.md +54 -0
- package/dist/adapters/claude-code/README.md.enc +6 -0
- package/dist/adapters/claude-code/agents.js +1 -0
- package/dist/adapters/claude-code/commands.config.js +1 -0
- package/dist/adapters/claude-code/commands.js +1 -0
- package/dist/adapters/claude-code/hooks.config.js +2 -0
- package/dist/adapters/claude-code/hooks.js +1 -0
- package/dist/adapters/claude-code/install.js +1 -0
- package/dist/adapters/claude-code/skills.js +1 -0
- package/dist/adapters/codex/README.md.enc +6 -0
- package/dist/adapters/codex/hooks/pre-commit.sh +10 -0
- package/dist/adapters/codex/install.js +1 -0
- package/dist/adapters/codex/prompts/env-learn.md.enc +6 -0
- package/dist/adapters/codex/prompts/review.md.enc +6 -0
- package/dist/adapters/codex/wrappers/autospec-cli.sh +118 -0
- package/dist/adapters/codex/wrappers/parallel.sh +20 -0
- package/dist/adapters/codex/wrappers/post-task.sh +138 -0
- package/dist/bin/autospec.js +2 -0
- package/dist/knowledge/README.en.md.enc +6 -0
- package/dist/knowledge/README.md.enc +6 -0
- package/dist/knowledge/change-management.md.enc +6 -0
- package/dist/knowledge/cognition-engine.md.enc +6 -0
- package/dist/knowledge/config/baseline-permissions.md.enc +6 -0
- package/dist/knowledge/config/external-mounts.yaml.enc +6 -0
- package/dist/knowledge/config/model-profiles.yaml.enc +6 -0
- package/dist/knowledge/config/role-composition.yaml.enc +6 -0
- package/dist/knowledge/config/token-optimization.yaml.enc +6 -0
- package/dist/knowledge/config/validation-patterns.yaml.enc +6 -0
- package/dist/knowledge/constitution.md.enc +6 -0
- package/dist/knowledge/core-rules.md.enc +6 -0
- package/dist/knowledge/environment/adapters/README.md.enc +6 -0
- package/dist/knowledge/environment/detection-patterns.yaml.enc +6 -0
- package/dist/knowledge/environment/failure-patterns.json +223 -0
- package/dist/knowledge/environment/repair-strategies.json +206 -0
- package/dist/knowledge/memory/README.md.enc +6 -0
- package/dist/knowledge/memory/field/README.md.enc +6 -0
- package/dist/knowledge/memory/project/decisions/README.md.enc +6 -0
- package/dist/knowledge/memory/project/evolution-log.md.enc +6 -0
- package/dist/knowledge/memory/project/health-metrics.md.enc +6 -0
- package/dist/knowledge/memory/team/best-practices.md.enc +6 -0
- package/dist/knowledge/pipeline/code.md.enc +6 -0
- package/dist/knowledge/pipeline/explore.md.enc +6 -0
- package/dist/knowledge/pipeline/plan.md.enc +6 -0
- package/dist/knowledge/pipeline/protocol.md.enc +6 -0
- package/dist/knowledge/protocol/capabilities.yaml.enc +6 -0
- package/dist/knowledge/protocol/evolve-integration.md.enc +6 -0
- package/dist/knowledge/skills/README.md.enc +6 -0
- package/dist/knowledge/skills/adversarial-review.md.enc +6 -0
- package/dist/knowledge/skills/analyze-requirement.md.enc +6 -0
- package/dist/knowledge/skills/channel-operations.md.enc +6 -0
- package/dist/knowledge/skills/content-operations.md.enc +6 -0
- package/dist/knowledge/skills/content-prompts.md.enc +6 -0
- package/dist/knowledge/skills/conversion-optimization.md.enc +6 -0
- package/dist/knowledge/skills/data-operations.md.enc +6 -0
- package/dist/knowledge/skills/design-solution.md.enc +6 -0
- package/dist/knowledge/skills/growth-strategies.md.enc +6 -0
- package/dist/knowledge/skills/implement-code.md.enc +6 -0
- package/dist/knowledge/skills/knowledge-distill.md.enc +6 -0
- package/dist/knowledge/skills/parallel-dev.md.enc +6 -0
- package/dist/knowledge/skills/private-domain-traffic.md.enc +6 -0
- package/dist/knowledge/skills/skill-format.md.enc +6 -0
- package/dist/knowledge/skills/social-commerce.md.enc +6 -0
- package/dist/knowledge/skills/team-orchestration.md.enc +6 -0
- package/dist/knowledge/skills/unified-review.md.enc +6 -0
- package/dist/knowledge/skills/user-operations.md.enc +6 -0
- package/dist/knowledge/templates/autospec-config.yaml.enc +6 -0
- package/dist/knowledge/templates/smoke-test.md.enc +6 -0
- package/dist/knowledge/templates/spec/SPEC.md.enc +6 -0
- package/dist/knowledge/templates/spec/layers/delta.md.enc +6 -0
- package/dist/knowledge/templates/spec/layers/how.md.enc +6 -0
- package/dist/knowledge/templates/spec/layers/plan.md.enc +6 -0
- package/dist/knowledge/templates/spec/layers/what.md.enc +6 -0
- package/dist/knowledge/templates/spec/layers/why.md.enc +6 -0
- package/dist/knowledge/templates/wiki/catalog.yaml.enc +6 -0
- package/dist/knowledge/templates/wiki/content.md.enc +6 -0
- package/dist/knowledge/templates/wiki/meta.yaml.enc +6 -0
- package/dist/package.json +62 -0
- package/dist/plugins/.claude-plugin/plugin.json +671 -0
- package/dist/plugins/agents/roles/ai-engineer.md.enc +6 -0
- package/dist/plugins/agents/roles/backend-engineer.md.enc +6 -0
- package/dist/plugins/agents/roles/ceo.md.enc +6 -0
- package/dist/plugins/agents/roles/channel-ops.md.enc +6 -0
- package/dist/plugins/agents/roles/content-ops.md.enc +6 -0
- package/dist/plugins/agents/roles/conversion-ops.md.enc +6 -0
- package/dist/plugins/agents/roles/data-engineer.md.enc +6 -0
- package/dist/plugins/agents/roles/data-ops.md.enc +6 -0
- package/dist/plugins/agents/roles/devops-engineer.md.enc +6 -0
- package/dist/plugins/agents/roles/frontend-engineer.md.enc +6 -0
- package/dist/plugins/agents/roles/marketing-director.md.enc +6 -0
- package/dist/plugins/agents/roles/operations-director.md.enc +6 -0
- package/dist/plugins/agents/roles/private-traffic.md.enc +6 -0
- package/dist/plugins/agents/roles/product-owner.md.enc +6 -0
- package/dist/plugins/agents/roles/quality-engineer.md.enc +6 -0
- package/dist/plugins/agents/roles/security-engineer.md.enc +6 -0
- package/dist/plugins/agents/roles/tech-lead.md.enc +6 -0
- package/dist/plugins/agents/roles/user-ops.md.enc +6 -0
- package/dist/plugins/agents/support/blind-comparator.md.enc +6 -0
- package/dist/plugins/agents/support/consistency-checker.md.enc +6 -0
- package/dist/plugins/agents/support/experiment-evaluator.md.enc +6 -0
- package/dist/plugins/agents/support/failure-diagnostician.md.enc +6 -0
- package/dist/plugins/agents/support/independent-reviewer.md.enc +6 -0
- package/dist/plugins/agents/support/memory-curator.md.enc +6 -0
- package/dist/plugins/agents/support/monitoring-agent.md.enc +6 -0
- package/dist/plugins/agents/support/safety-auditor.md.enc +6 -0
- package/dist/plugins/agents/support/skill-benchmarker.md.enc +6 -0
- package/dist/plugins/agents/support/skill-forger.md.enc +6 -0
- package/dist/plugins/agents/support/stage-gate-evaluator.md.enc +6 -0
- package/dist/plugins/agents/support/team-orchestrator.md.enc +6 -0
- package/dist/plugins/agents/support/test-coverage-reviewer.md.enc +6 -0
- package/dist/plugins/benchmarks/templates/README.en.md.enc +6 -0
- package/dist/plugins/benchmarks/templates/README.md.enc +6 -0
- package/dist/plugins/benchmarks/templates/commands/code-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/commands/explore-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/commands/field-evolve-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/commands/plan-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/commands/project-evolve-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/commands/review-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/commands/run-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/skills/benchmark-executor-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/skills/benchmark-generator-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/skills/delivery-stage-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/skills/design-stage-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/skills/exploration-phase-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/skills/field-evolve-analyzer-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/skills/field-evolve-distiller-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/skills/field-evolve-executor-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/skills/field-evolve-fixer-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/skills/field-evolve-learner-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/skills/field-evolve-scanner-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/skills/field-evolve-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/skills/field-evolve-verifier-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/skills/implementation-stage-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/skills/layer1-validation-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/skills/project-evolve-analyzer-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/skills/project-evolve-fixer-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/skills/project-evolve-generator-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/skills/project-evolve-learner-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/skills/project-evolve-reviewer-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/skills/project-evolve-scanner-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/skills/project-evolve-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/skills/project-evolve-verifier-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/skills/requirement-analyzer-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/skills/skill-forge-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/skills/startup-guard-template.yaml.enc +6 -0
- package/dist/plugins/benchmarks/templates/skills/testing-stage-template.yaml.enc +6 -0
- package/dist/plugins/commands/README.en.md.enc +6 -0
- package/dist/plugins/commands/README.md.enc +6 -0
- package/dist/plugins/commands/automation.md.enc +6 -0
- package/dist/plugins/commands/code.md.enc +6 -0
- package/dist/plugins/commands/contribute.md.enc +6 -0
- package/dist/plugins/commands/dashboard.md.enc +6 -0
- package/dist/plugins/commands/env.md.enc +6 -0
- package/dist/plugins/commands/explore.md.enc +6 -0
- package/dist/plugins/commands/field-evolve.md.enc +6 -0
- package/dist/plugins/commands/global.md.enc +6 -0
- package/dist/plugins/commands/init.md.enc +6 -0
- package/dist/plugins/commands/list.md.enc +6 -0
- package/dist/plugins/commands/memory.md.enc +6 -0
- package/dist/plugins/commands/monitor.md.enc +6 -0
- package/dist/plugins/commands/org.md.enc +6 -0
- package/dist/plugins/commands/persist.md.enc +6 -0
- package/dist/plugins/commands/plan.md.enc +6 -0
- package/dist/plugins/commands/plugin.md.enc +6 -0
- package/dist/plugins/commands/project-evolve.md.enc +6 -0
- package/dist/plugins/commands/review.md.enc +6 -0
- package/dist/plugins/commands/run.md.enc +6 -0
- package/dist/plugins/commands/status.md.enc +6 -0
- package/dist/plugins/commands/sync.md.enc +6 -0
- package/dist/plugins/commands/update.md.enc +6 -0
- package/dist/plugins/env-capabilities/env-core/plugin.json +33 -0
- package/dist/plugins/hooks/README.en.md.enc +6 -0
- package/dist/plugins/hooks/README.md.enc +6 -0
- package/dist/plugins/hooks/artifact-evaluation-hook.js +2 -0
- package/dist/plugins/hooks/cognitive-dreamer.js +2 -0
- package/dist/plugins/hooks/cognitive-sync.js +2 -0
- package/dist/plugins/hooks/cognitive-tracker.js +2 -0
- package/dist/plugins/hooks/config/detection-patterns.yaml.enc +6 -0
- package/dist/plugins/hooks/constitution-guard.js +2 -0
- package/dist/plugins/hooks/do-review-separation-guard.js +2 -0
- package/dist/plugins/hooks/environment-autocommit.js +2 -0
- package/dist/plugins/hooks/environment-doctor.js +1 -0
- package/dist/plugins/hooks/environment-startup-scan.js +2 -0
- package/dist/plugins/hooks/execution-tracker.js +2 -0
- package/dist/plugins/hooks/frozen-zone-guard.js +2 -0
- package/dist/plugins/hooks/layer1-validator.js +2 -0
- package/dist/plugins/hooks/lib/artifact-evaluator.js +1 -0
- package/dist/plugins/hooks/lib/auto-fix-loop.js +1 -0
- package/dist/plugins/hooks/lib/benchmarks/change-detector.js +1 -0
- package/dist/plugins/hooks/lib/benchmarks/evaluator.js +1 -0
- package/dist/plugins/hooks/lib/benchmarks/integration-example.js +1 -0
- package/dist/plugins/hooks/lib/cognitive/adaptive-matcher.js +1 -0
- package/dist/plugins/hooks/lib/cognitive/base-store.js +1 -0
- package/dist/plugins/hooks/lib/cognitive/causal-engine.js +1 -0
- package/dist/plugins/hooks/lib/cognitive/cognitive-config.js +1 -0
- package/dist/plugins/hooks/lib/cognitive/cognitive-fingerprint.js +1 -0
- package/dist/plugins/hooks/lib/cognitive/collective-sync.js +1 -0
- package/dist/plugins/hooks/lib/cognitive/confidence-engine.js +1 -0
- package/dist/plugins/hooks/lib/cognitive/dream-engine.js +1 -0
- package/dist/plugins/hooks/lib/cognitive/episodic-store.js +1 -0
- package/dist/plugins/hooks/lib/cognitive/index.js +1 -0
- package/dist/plugins/hooks/lib/cognitive/kernel.js +1 -0
- package/dist/plugins/hooks/lib/cognitive/knowledge-distiller.js +1 -0
- package/dist/plugins/hooks/lib/cognitive/memory-transport.js +1 -0
- package/dist/plugins/hooks/lib/cognitive/persistence-manager.js +1 -0
- package/dist/plugins/hooks/lib/cognitive/priority-store.js +1 -0
- package/dist/plugins/hooks/lib/cognitive/procedural-store.js +1 -0
- package/dist/plugins/hooks/lib/cognitive/semantic-store.js +1 -0
- package/dist/plugins/hooks/lib/cognitive/skill-tuner.js +1 -0
- package/dist/plugins/hooks/lib/cognitive/wiki-materializer.js +1 -0
- package/dist/plugins/hooks/lib/detection-pattern-loader.js +1 -0
- package/dist/plugins/hooks/lib/directory-discovery.js +1 -0
- package/dist/plugins/hooks/lib/environment-capability-package.js +1 -0
- package/dist/plugins/hooks/lib/environment-capability-probe.js +1 -0
- package/dist/plugins/hooks/lib/environment-config-loader.js +1 -0
- package/dist/plugins/hooks/lib/environment-executor.js +1 -0
- package/dist/plugins/hooks/lib/environment-feedback.js +1 -0
- package/dist/plugins/hooks/lib/environment-health-monitor.js +1 -0
- package/dist/plugins/hooks/lib/environment-knowledge-synthesizer.js +1 -0
- package/dist/plugins/hooks/lib/environment-knowledge-validator.js +1 -0
- package/dist/plugins/hooks/lib/environment-learning-discoverer.js +1 -0
- package/dist/plugins/hooks/lib/environment-learning-engine.js +1 -0
- package/dist/plugins/hooks/lib/environment-module-repository.js +1 -0
- package/dist/plugins/hooks/lib/environment-planner.js +1 -0
- package/dist/plugins/hooks/lib/environment-plugin-registry.js +1 -0
- package/dist/plugins/hooks/lib/environment-readiness.js +1 -0
- package/dist/plugins/hooks/lib/environment-route-ranking.js +1 -0
- package/dist/plugins/hooks/lib/environment-strategy-overlay.js +1 -0
- package/dist/plugins/hooks/lib/execution-path.js +1 -0
- package/dist/plugins/hooks/lib/external-mount-adapter.js +1 -0
- package/dist/plugins/hooks/lib/external-scanner.js +1 -0
- package/dist/plugins/hooks/lib/hook-error-recorder.js +1 -0
- package/dist/plugins/hooks/lib/hook-logger.js +1 -0
- package/dist/plugins/hooks/lib/hook-runner.js +2 -0
- package/dist/plugins/hooks/lib/hook-state-manager.js +1 -0
- package/dist/plugins/hooks/lib/memory-extractor.js +1 -0
- package/dist/plugins/hooks/lib/memory-manager.js +1 -0
- package/dist/plugins/hooks/lib/metrics-analyzer.js +1 -0
- package/dist/plugins/hooks/lib/mount-manager.js +1 -0
- package/dist/plugins/hooks/lib/plugin-activation-registry.js +1 -0
- package/dist/plugins/hooks/lib/plugin-selector.js +1 -0
- package/dist/plugins/hooks/lib/plugin-source-registry.js +1 -0
- package/dist/plugins/hooks/lib/plugin-workspace-registry.js +1 -0
- package/dist/plugins/hooks/lib/project-evolution/auto-fixer.js +1 -0
- package/dist/plugins/hooks/lib/project-evolution/memory-manager.js +1 -0
- package/dist/plugins/hooks/lib/project-evolution/pattern-detector.js +1 -0
- package/dist/plugins/hooks/lib/project-evolution/semantic-indexer.js +1 -0
- package/dist/plugins/hooks/lib/rollback-tracker.js +1 -0
- package/dist/plugins/hooks/lib/source-code-scanner.js +1 -0
- package/dist/plugins/hooks/lib/technology-stack-detector.js +1 -0
- package/dist/plugins/hooks/lib/test-failure-analyzer.js +1 -0
- package/dist/plugins/hooks/lib/test-failure-fixer.js +1 -0
- package/dist/plugins/hooks/lib/trace-context.js +1 -0
- package/dist/plugins/hooks/lib/validation-patterns.js +1 -0
- package/dist/plugins/hooks/memory-sync.js +1 -0
- package/dist/plugins/hooks/pipeline-observer.js +2 -0
- package/dist/plugins/hooks/retry-limit-guard.js +2 -0
- package/dist/plugins/hooks/scope-sentinel.js +2 -0
- package/dist/plugins/hooks/secret-scanner.js +2 -0
- package/dist/plugins/hooks/stop-evolve-prompt.js +1 -0
- package/dist/plugins/hooks/trace-initialization.js +2 -0
- package/dist/plugins/hooks/version-checker.js +2 -0
- package/dist/plugins/memory/templates/code-quality.yaml.enc +6 -0
- package/dist/plugins/memory/templates/multi-system.yaml.enc +6 -0
- package/dist/plugins/memory/templates/team-habits.yaml.enc +6 -0
- package/dist/plugins/memory/templates/testing.yaml.enc +6 -0
- package/dist/plugins/skills/README.en.md.enc +6 -0
- package/dist/plugins/skills/README.md.enc +6 -0
- package/dist/plugins/skills/ab-test-executor/SKILL.md.enc +6 -0
- package/dist/plugins/skills/benchmark-executor/SKILL.md.enc +6 -0
- package/dist/plugins/skills/benchmark-generator/SKILL.md.enc +6 -0
- package/dist/plugins/skills/content-prompts/SKILL.md.enc +6 -0
- package/dist/plugins/skills/delivery-stage/SKILL.md.enc +6 -0
- package/dist/plugins/skills/design-stage/SKILL.md.enc +6 -0
- package/dist/plugins/skills/environment-learning/SKILL.md.enc +6 -0
- package/dist/plugins/skills/environment-resilience/build-failure-doctor.md.enc +6 -0
- package/dist/plugins/skills/environment-resilience/environment-repair.md.enc +6 -0
- package/dist/plugins/skills/environment-resilience/pre-flight-check.md.enc +6 -0
- package/dist/plugins/skills/experiment-evaluator/SKILL.md.enc +6 -0
- package/dist/plugins/skills/exploration-phase/SKILL.md.enc +6 -0
- package/dist/plugins/skills/field-evolve-analyzer/SKILL.md.enc +6 -0
- package/dist/plugins/skills/field-evolve-distiller/SKILL.md.enc +6 -0
- package/dist/plugins/skills/field-evolve-executor/SKILL.md.enc +6 -0
- package/dist/plugins/skills/field-evolve-executor/executor.js +2 -0
- package/dist/plugins/skills/field-evolve-fixer/SKILL.md.enc +6 -0
- package/dist/plugins/skills/field-evolve-learner/SKILL.md.enc +6 -0
- package/dist/plugins/skills/field-evolve-scanner/SKILL.md.enc +6 -0
- package/dist/plugins/skills/field-evolve-scanner/scripts/fallback-scanner.js +2 -0
- package/dist/plugins/skills/field-evolve-verifier/SKILL.md.enc +6 -0
- package/dist/plugins/skills/heartbeat-monitor/SKILL.md.enc +6 -0
- package/dist/plugins/skills/implementation-stage/SKILL.md.enc +6 -0
- package/dist/plugins/skills/layer1-validation/SKILL.md.enc +6 -0
- package/dist/plugins/skills/multi-role-orchestration/SKILL.md.enc +6 -0
- package/dist/plugins/skills/ops-content-marketing/SKILL.md.enc +6 -0
- package/dist/plugins/skills/ops-conversion/SKILL.md.enc +6 -0
- package/dist/plugins/skills/ops-data-driven/SKILL.md.enc +6 -0
- package/dist/plugins/skills/ops-growth-strategies/SKILL.md.enc +6 -0
- package/dist/plugins/skills/ops-private-domain/SKILL.md.enc +6 -0
- package/dist/plugins/skills/ops-social-commerce/SKILL.md.enc +6 -0
- package/dist/plugins/skills/ops-user-growth/SKILL.md.enc +6 -0
- package/dist/plugins/skills/pending-dashboard/SKILL.md.enc +6 -0
- package/dist/plugins/skills/project-evolve-analyzer/SKILL.md.enc +6 -0
- package/dist/plugins/skills/project-evolve-fixer/SKILL.md.enc +6 -0
- package/dist/plugins/skills/project-evolve-generator/SKILL.md.enc +6 -0
- package/dist/plugins/skills/project-evolve-learner/SKILL.md.enc +6 -0
- package/dist/plugins/skills/project-evolve-reviewer/SKILL.md.enc +6 -0
- package/dist/plugins/skills/project-evolve-scanner/SKILL.md.enc +6 -0
- package/dist/plugins/skills/project-evolve-scanner/scripts/dependency-reuse-checker.js +2 -0
- package/dist/plugins/skills/project-evolve-scanner/scripts/subsystem-coverage.js +2 -0
- package/dist/plugins/skills/project-evolve-verifier/SKILL.md.enc +6 -0
- package/dist/plugins/skills/requirement-stage/SKILL.md.enc +6 -0
- package/dist/plugins/skills/secret-scanner/SKILL.md.enc +6 -0
- package/dist/plugins/skills/skill-forge/SKILL.md.enc +6 -0
- package/dist/plugins/skills/skill-forge/references/description-guide.md.enc +6 -0
- package/dist/plugins/skills/skill-forge/references/quality-rubric.md.enc +6 -0
- package/dist/plugins/skills/skill-forge/references/skill-template.md.enc +6 -0
- package/dist/plugins/skills/startup-guard/SKILL.md.enc +6 -0
- package/dist/plugins/skills/tdd-workflow/SKILL.md.enc +6 -0
- package/dist/plugins/skills/testing-stage/SKILL.md.enc +6 -0
- package/dist/plugins/skills/tracking-validator/SKILL.md.enc +6 -0
- package/dist/scripts/build-crypto.js +2 -0
- package/dist/scripts/cli/contribute.js +1 -0
- package/dist/scripts/cli/dashboard.js +1 -0
- package/dist/scripts/cli/env.js +1 -0
- package/dist/scripts/cli/global-init.js +1 -0
- package/dist/scripts/cli/global.js +1 -0
- package/dist/scripts/cli/index.js +1 -0
- package/dist/scripts/cli/init.js +1 -0
- package/dist/scripts/cli/list.js +1 -0
- package/dist/scripts/cli/memory.js +1 -0
- package/dist/scripts/cli/org.js +1 -0
- package/dist/scripts/cli/plugin.js +1 -0
- package/dist/scripts/cli/practice-report.js +1 -0
- package/dist/scripts/cli/runtime-governance.js +1 -0
- package/dist/scripts/cli/system.js +1 -0
- package/dist/scripts/cli/update.js +1 -0
- package/dist/scripts/commands/catalog.js +1 -0
- package/dist/scripts/commands/slash-command-docs.js +1 -0
- package/dist/scripts/config/external-mounts.config.js +2 -0
- package/dist/scripts/heartbeat/check.js +2 -0
- package/dist/scripts/heartbeat/setup-cron.js +2 -0
- package/dist/scripts/install/adapters.js +1 -0
- package/dist/scripts/install/constants.js +1 -0
- package/dist/scripts/install/file-reader.js +1 -0
- package/dist/scripts/install/index.js +1 -0
- package/dist/scripts/install/shards/constants-shard.js +1 -0
- package/dist/scripts/install/shards/crypto-config-shard.js +1 -0
- package/dist/scripts/install/shards/error-messages-shard.js +1 -0
- package/dist/scripts/install/shards/reassemble.js +1 -0
- package/dist/scripts/install/shards/utils-shard.js +1 -0
- package/dist/scripts/install/shards/version-info-shard.js +1 -0
- package/dist/scripts/postinstall.js +1 -0
- package/dist/scripts/state.js +1 -0
- package/package.json +21 -12
- package/README.en.md +0 -472
- package/bin/autospec.js +0 -3
- package/knowledge/README.md +0 -144
- package/knowledge/checklists/code.md +0 -182
- package/knowledge/checklists/design.md +0 -196
- package/knowledge/checklists/release.md +0 -70
- package/knowledge/checklists/requirement.md +0 -169
- package/knowledge/checklists/test.md +0 -46
- package/knowledge/config/README.en.md +0 -44
- package/knowledge/config/README.md +0 -44
- package/knowledge/config/role-composition.yaml +0 -98
- package/knowledge/config/role-extensions.yaml +0 -140
- package/knowledge/config/skill-compositions.yaml +0 -142
- package/knowledge/config/team-stage.yaml +0 -95
- package/knowledge/config/team-tasks.yaml +0 -139
- package/knowledge/config/team-triggers.yaml +0 -198
- package/knowledge/config/validation-patterns.yaml +0 -137
- package/knowledge/domain/README.md +0 -115
- package/knowledge/domain/flows/README.md +0 -194
- package/knowledge/domain/glossary.md +0 -143
- package/knowledge/domain/rules.md +0 -138
- package/knowledge/environment/README.en.md +0 -36
- package/knowledge/environment/README.md +0 -87
- package/knowledge/environment/component-knowledge.md +0 -316
- package/knowledge/environment/detection-patterns.yaml +0 -502
- package/knowledge/environment/middleware-knowledge.md +0 -237
- package/knowledge/environment/template-registry.md +0 -321
- package/knowledge/guides/domain-driven-design.md +0 -345
- package/knowledge/guides/knowledge-management.md +0 -369
- package/knowledge/guides/requirement-engineering.md +0 -329
- package/knowledge/guides/stages/ai-effect-evaluator.md +0 -93
- package/knowledge/guides/stages/code-implementer.md +0 -205
- package/knowledge/guides/stages/code-reviewer.md +0 -111
- package/knowledge/guides/stages/consistency-checker.md +0 -177
- package/knowledge/guides/stages/design-planner.md +0 -401
- package/knowledge/guides/stages/design-reviewer.md +0 -83
- package/knowledge/guides/stages/integration-test-runner.md +0 -105
- package/knowledge/guides/stages/release-checker.md +0 -205
- package/knowledge/guides/stages/requirement-analyzer.md +0 -195
- package/knowledge/guides/stages/requirement-reviewer.md +0 -83
- package/knowledge/guides/stages/security-reviewer.md +0 -89
- package/knowledge/guides/stages/test-context-analyzer.md +0 -250
- package/knowledge/guides/stages/test-generator.md +0 -241
- package/knowledge/guides/stages/test-planner.md +0 -183
- package/knowledge/guides/stages/test-reviewer.md +0 -76
- package/knowledge/guides/stages/unit-test-runner.md +0 -83
- package/knowledge/guides/support/ai-agent-analyzer.md +0 -362
- package/knowledge/guides/support/ai-anomaly-analyzer.md +0 -213
- package/knowledge/guides/support/ai-artifact-evaluator.md +0 -192
- package/knowledge/guides/support/ai-capability-analyzer.md +0 -193
- package/knowledge/guides/support/ai-component-analyzer.md +0 -169
- package/knowledge/guides/support/ai-data-validator.md +0 -276
- package/knowledge/guides/support/ai-evaluation-planner.md +0 -374
- package/knowledge/guides/support/ai-path-evaluator.md +0 -274
- package/knowledge/guides/support/ai-pipeline-evaluator.md +0 -219
- package/knowledge/guides/support/ai-rag-analyzer.md +0 -339
- package/knowledge/guides/support/ai-task-assessor.md +0 -418
- package/knowledge/guides/support/ai-test-diagnostics.md +0 -133
- package/knowledge/guides/support/complexity-assessor.md +0 -268
- package/knowledge/guides/support/component-discovery.md +0 -183
- package/knowledge/guides/support/environment-scanner.md +0 -207
- package/knowledge/guides/support/environment-validator.md +0 -207
- package/knowledge/guides/support/knowledge-generator.md +0 -234
- package/knowledge/guides/support/methodology-extractor.md +0 -55
- package/knowledge/guides/support/pipeline-protocol.md +0 -438
- package/knowledge/guides/support/practice-logger.md +0 -359
- package/knowledge/guides/support/scope-inference.md +0 -174
- package/knowledge/guides/support/skill-distiller.md +0 -91
- package/knowledge/guides/support/skill-updater.md +0 -45
- package/knowledge/guides/support/skill-validator.md +0 -72
- package/knowledge/guides/support/team-orchestrator.md +0 -323
- package/knowledge/guides/support/tech-stack-analyzer.md +0 -139
- package/knowledge/guides/support/test-runner.md +0 -254
- package/knowledge/guides/system-design.md +0 -352
- package/knowledge/organization/ai-native-team.md +0 -318
- package/knowledge/organization/team-metrics.md +0 -228
- package/knowledge/principles/constitution.md +0 -134
- package/knowledge/principles/core-principles.md +0 -368
- package/knowledge/principles/design-philosophy.md +0 -877
- package/knowledge/principles/evolution.md +0 -553
- package/knowledge/process/01-requirement.md +0 -113
- package/knowledge/process/02-design.md +0 -123
- package/knowledge/process/03-implementation.md +0 -90
- package/knowledge/process/04-review.md +0 -80
- package/knowledge/process/05-testing.md +0 -90
- package/knowledge/process/06-delivery.md +0 -88
- package/knowledge/process/README.en.md +0 -38
- package/knowledge/process/README.md +0 -48
- package/knowledge/process/ai-sdlc.md +0 -475
- package/knowledge/process/overview.md +0 -319
- package/knowledge/standards/code-review.md +0 -876
- package/knowledge/standards/coding-style.md +0 -940
- package/knowledge/standards/data-consistency.md +0 -1085
- package/knowledge/standards/document-versioning.md +0 -210
- package/knowledge/standards/risk-detection.md +0 -186
- package/knowledge/templates/ai-evaluation.md +0 -150
- package/knowledge/templates/api-design.md +0 -117
- package/knowledge/templates/database-design.md +0 -132
- package/knowledge/templates/domain-driven-design.md +0 -321
- package/knowledge/templates/product-proposal.md +0 -201
- package/knowledge/templates/system-design.md +0 -227
- package/knowledge/templates/task-breakdown.md +0 -107
- package/knowledge/templates/test-case.md +0 -170
- package/plugins/.claude-plugin/plugin.json +0 -134
- package/plugins/agents/roles/ai-engineer.md +0 -129
- package/plugins/agents/roles/backend-engineer.md +0 -165
- package/plugins/agents/roles/ceo.md +0 -94
- package/plugins/agents/roles/data-engineer.md +0 -135
- package/plugins/agents/roles/devops-engineer.md +0 -181
- package/plugins/agents/roles/frontend-engineer.md +0 -129
- package/plugins/agents/roles/product-owner.md +0 -98
- package/plugins/agents/roles/quality-engineer.md +0 -129
- package/plugins/agents/roles/security-engineer.md +0 -180
- package/plugins/agents/roles/tech-lead.md +0 -97
- package/plugins/agents/support/blind-comparator.md +0 -88
- package/plugins/agents/support/consistency-checker.md +0 -103
- package/plugins/agents/support/failure-diagnostician.md +0 -141
- package/plugins/agents/support/independent-reviewer.md +0 -80
- package/plugins/agents/support/safety-auditor.md +0 -121
- package/plugins/agents/support/skill-benchmarker.md +0 -86
- package/plugins/agents/support/skill-forger.md +0 -105
- package/plugins/agents/support/stage-gate-evaluator.md +0 -121
- package/plugins/agents/support/test-coverage-reviewer.md +0 -73
- package/plugins/benchmarks/templates/README.md +0 -44
- package/plugins/benchmarks/templates/commands/explore-template.yaml +0 -48
- package/plugins/benchmarks/templates/pipeline/agile-template.yaml +0 -84
- package/plugins/benchmarks/templates/pipeline/waterfall-template.yaml +0 -106
- package/plugins/benchmarks/templates/skills/requirement-analyzer-template.yaml +0 -48
- package/plugins/commands/README.en.md +0 -96
- package/plugins/commands/README.md +0 -96
- package/plugins/commands/apply.md +0 -191
- package/plugins/commands/archive.md +0 -76
- package/plugins/commands/env-export.md +0 -79
- package/plugins/commands/env-sync.md +0 -640
- package/plugins/commands/env-template.md +0 -223
- package/plugins/commands/env-update.md +0 -264
- package/plugins/commands/env-validate.md +0 -176
- package/plugins/commands/env.md +0 -79
- package/plugins/commands/explore.md +0 -76
- package/plugins/commands/field-evolve.md +0 -536
- package/plugins/commands/memory.md +0 -249
- package/plugins/commands/project-evolve.md +0 -821
- package/plugins/commands/propose.md +0 -93
- package/plugins/commands/review.md +0 -140
- package/plugins/commands/run.md +0 -224
- package/plugins/commands/status.md +0 -62
- package/plugins/commands/validate.md +0 -108
- package/plugins/hooks/README.en.md +0 -56
- package/plugins/hooks/README.md +0 -56
- package/plugins/hooks/ai-project-guard.js +0 -329
- package/plugins/hooks/artifact-evaluation-hook.js +0 -237
- package/plugins/hooks/constitution-guard.js +0 -211
- package/plugins/hooks/environment-autocommit.js +0 -264
- package/plugins/hooks/environment-manager.js +0 -778
- package/plugins/hooks/execution-tracker.js +0 -354
- package/plugins/hooks/frozen-zone-guard.js +0 -140
- package/plugins/hooks/layer1-validator.js +0 -423
- package/plugins/hooks/lib/artifact-evaluator.js +0 -414
- package/plugins/hooks/lib/benchmarks/change-detector.js +0 -390
- package/plugins/hooks/lib/benchmarks/evaluator.js +0 -605
- package/plugins/hooks/lib/benchmarks/integration-example.js +0 -169
- package/plugins/hooks/lib/data-and-ai-detector.js +0 -275
- package/plugins/hooks/lib/detection-pattern-loader.js +0 -865
- package/plugins/hooks/lib/directory-discovery.js +0 -395
- package/plugins/hooks/lib/environment-config-loader.js +0 -341
- package/plugins/hooks/lib/environment-detector.js +0 -553
- package/plugins/hooks/lib/environment-evolver.js +0 -564
- package/plugins/hooks/lib/environment-registry.js +0 -813
- package/plugins/hooks/lib/execution-path.js +0 -427
- package/plugins/hooks/lib/hook-error-recorder.js +0 -245
- package/plugins/hooks/lib/hook-logger.js +0 -538
- package/plugins/hooks/lib/hook-runner.js +0 -97
- package/plugins/hooks/lib/hook-state-manager.js +0 -480
- package/plugins/hooks/lib/memory-extractor.js +0 -377
- package/plugins/hooks/lib/memory-manager.js +0 -673
- package/plugins/hooks/lib/metrics-analyzer.js +0 -489
- package/plugins/hooks/lib/project-evolution/auto-fixer.js +0 -511
- package/plugins/hooks/lib/project-evolution/memory-manager.js +0 -346
- package/plugins/hooks/lib/project-evolution/pattern-detector.js +0 -476
- package/plugins/hooks/lib/project-evolution/semantic-indexer.js +0 -480
- package/plugins/hooks/lib/project-structure-detector.js +0 -326
- package/plugins/hooks/lib/rollback-tracker.js +0 -346
- package/plugins/hooks/lib/source-code-scanner.js +0 -596
- package/plugins/hooks/lib/technology-stack-detector.js +0 -374
- package/plugins/hooks/lib/test-failure-analyzer.js +0 -375
- package/plugins/hooks/lib/test-failure-fixer.js +0 -268
- package/plugins/hooks/lib/trace-context.js +0 -277
- package/plugins/hooks/lib/validation-patterns.js +0 -415
- package/plugins/hooks/memory-sync.js +0 -171
- package/plugins/hooks/pipeline-observer.js +0 -413
- package/plugins/hooks/scope-sentinel.js +0 -204
- package/plugins/hooks/trace-initialization.js +0 -169
- package/plugins/memory/templates/code-quality.yaml +0 -149
- package/plugins/memory/templates/multi-system.yaml +0 -155
- package/plugins/memory/templates/team-habits.yaml +0 -119
- package/plugins/memory/templates/testing.yaml +0 -121
- package/plugins/skills/README.en.md +0 -47
- package/plugins/skills/README.md +0 -104
- package/plugins/skills/benchmark-executor/README.md +0 -93
- package/plugins/skills/benchmark-executor/SKILL.md +0 -647
- package/plugins/skills/benchmark-generator/SKILL.md +0 -349
- package/plugins/skills/delivery-stage/SKILL.md +0 -203
- package/plugins/skills/design-stage/SKILL.md +0 -216
- package/plugins/skills/evolution-process/SKILL.md +0 -291
- package/plugins/skills/exploration-phase/SKILL.md +0 -133
- package/plugins/skills/implementation-stage/SKILL.md +0 -179
- package/plugins/skills/layer1-validation/SKILL.md +0 -79
- package/plugins/skills/pending-dashboard/SKILL.md +0 -109
- package/plugins/skills/project-evolution/SKILL.md +0 -847
- package/plugins/skills/requirement-stage/SKILL.md +0 -183
- package/plugins/skills/skill-forge/SKILL.md +0 -223
- package/plugins/skills/skill-forge/references/description-guide.md +0 -92
- package/plugins/skills/skill-forge/references/quality-rubric.md +0 -104
- package/plugins/skills/skill-forge/references/skill-template.md +0 -106
- package/plugins/skills/startup-guard/SKILL.md +0 -38
- package/plugins/skills/testing-stage/SKILL.md +0 -195
- package/scripts/cli/global-init.js +0 -288
- package/scripts/cli/global.js +0 -324
- package/scripts/cli/index.js +0 -55
- package/scripts/cli/init.js +0 -382
- package/scripts/cli/list.js +0 -69
- package/scripts/cli/org.js +0 -340
- package/scripts/cli/update.js +0 -44
- package/scripts/config/commands.config.js +0 -145
- package/scripts/config/hooks.config.js +0 -197
- package/scripts/evolution/evolution-router.js +0 -273
- package/scripts/evolution/evolution-signal-collector.js +0 -307
- package/scripts/evolution/knowledge-loader.js +0 -346
- package/scripts/evolution/marketplace.js +0 -317
- package/scripts/evolution/version-manager.js +0 -371
- package/scripts/install/agents.js +0 -106
- package/scripts/install/commands.js +0 -133
- package/scripts/install/constants.js +0 -424
- package/scripts/install/hook-logger.js +0 -536
- package/scripts/install/hooks.js +0 -110
- package/scripts/install/index.js +0 -39
- package/scripts/install/skills.js +0 -95
- package/scripts/postinstall.js +0 -25
- package/scripts/state.js +0 -376
- /package/{plugins → dist/plugins}/hooks/lib/hook-runner.sh +0 -0
|
@@ -1,250 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: test-context-analyzer
|
|
3
|
-
description: 在生成测试代码前,分析项目现有测试代码的风格和模式,提取可复用的测试基础设施
|
|
4
|
-
type: produce
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## 定位
|
|
8
|
-
|
|
9
|
-
测试阶段的前置技能。分析现有测试代码,提取风格、模式、基础设施,供 test-generator 使用。
|
|
10
|
-
|
|
11
|
-
## 输入
|
|
12
|
-
|
|
13
|
-
- 必须输入:
|
|
14
|
-
- 项目源码目录(包含现有测试代码)
|
|
15
|
-
- config.json 中的测试配置
|
|
16
|
-
- 可选输入:
|
|
17
|
-
- 环境知识中的测试最佳实践
|
|
18
|
-
|
|
19
|
-
## 输出
|
|
20
|
-
|
|
21
|
-
- 测试风格分析报告(写入 `.autospec/specs/{feature}/test-context.md`)
|
|
22
|
-
|
|
23
|
-
## 执行步骤
|
|
24
|
-
|
|
25
|
-
### Step 1: 检测测试框架和工具
|
|
26
|
-
|
|
27
|
-
1. 检查依赖文件:
|
|
28
|
-
- **Node.js**: `package.json` 的 devDependencies
|
|
29
|
-
- **Python**: `requirements.txt` 或 `pyproject.toml`
|
|
30
|
-
- **Java**: `pom.xml` 或 `build.gradle`
|
|
31
|
-
- **Go**: `go.mod`
|
|
32
|
-
|
|
33
|
-
2. 识别测试框架:
|
|
34
|
-
|
|
35
|
-
| 框架类型 | 常见选择 |
|
|
36
|
-
|---------|---------|
|
|
37
|
-
| 单元测试 | Jest, Mocha, pytest, JUnit, TestNG, Go testing |
|
|
38
|
-
| E2E测试 | Cypress, Playwright, Selenium, Puppeteer |
|
|
39
|
-
| API测试 | Supertest, REST-assured, httpx |
|
|
40
|
-
| Mock工具 | Sinon, unittest.mock, Mockito, testify |
|
|
41
|
-
|
|
42
|
-
3. 检测测试相关配置:
|
|
43
|
-
- Jest: `jest.config.js`, `jest.setup.js`
|
|
44
|
-
- pytest: `pytest.ini`, `conftest.py`
|
|
45
|
-
- Maven: `surefire` 插件配置
|
|
46
|
-
|
|
47
|
-
### Step 2: 分析测试代码风格
|
|
48
|
-
|
|
49
|
-
扫描现有测试文件(`tests/`, `__tests__/`, `test/`, `src/**/*.test.*`, `*_test.py` 等):
|
|
50
|
-
|
|
51
|
-
1. **命名规范**:
|
|
52
|
-
- 文件命名:`*.test.js`, `*.spec.ts`, `*_test.py`, `*Test.java`
|
|
53
|
-
- 函数命名:`describe/it`, `test_`, `@Test`
|
|
54
|
-
|
|
55
|
-
2. **断言风格**:
|
|
56
|
-
- Jest: `expect().toBe()`, `expect().toEqual()`
|
|
57
|
-
- Mocha + Chai: `expect().to.equal()`, `should.equal()`
|
|
58
|
-
- pytest: `assert x == y`
|
|
59
|
-
- JUnit: `assertEquals()`, `assertThat()`
|
|
60
|
-
|
|
61
|
-
3. **组织结构**:
|
|
62
|
-
- `describe/it` 嵌套层级
|
|
63
|
-
- `beforeEach/afterEach` 使用模式
|
|
64
|
-
- `fixture` 文件组织方式
|
|
65
|
-
|
|
66
|
-
### Step 3: 提取测试基础设施
|
|
67
|
-
|
|
68
|
-
1. **Setup/Teardown**:
|
|
69
|
-
- 全局 setup 文件位置和内容
|
|
70
|
-
- `beforeAll/beforeEach` 中的初始化逻辑
|
|
71
|
-
- 数据库连接、Mock 初始化
|
|
72
|
-
|
|
73
|
-
2. **Mock 配置**:
|
|
74
|
-
- Mock 文件位置(`__mocks__/`, `mocks/`, `fixtures/`)
|
|
75
|
-
- Mock 策略(自动 mock vs 手动 mock)
|
|
76
|
-
- 常用 Mock 模式
|
|
77
|
-
|
|
78
|
-
3. **测试数据**:
|
|
79
|
-
- Fixtures 目录结构
|
|
80
|
-
- Factory 模式使用
|
|
81
|
-
- 测试数据准备脚本
|
|
82
|
-
|
|
83
|
-
### Step 4: 提取集成测试配置(关键)
|
|
84
|
-
|
|
85
|
-
1. **环境启动方式**:
|
|
86
|
-
- `docker-compose.yml` 的使用
|
|
87
|
-
- `npm scripts` 中的测试环境命令
|
|
88
|
-
- `Makefile` 中的测试目标
|
|
89
|
-
|
|
90
|
-
2. **依赖服务配置**:
|
|
91
|
-
- 测试数据库配置(连接字符串、数据库名)
|
|
92
|
-
- 测试 Redis 配置
|
|
93
|
-
- Mock 服务配置
|
|
94
|
-
|
|
95
|
-
3. **测试数据准备**:
|
|
96
|
-
- Seed 脚本位置
|
|
97
|
-
- 测试数据文件
|
|
98
|
-
- 数据清理策略
|
|
99
|
-
|
|
100
|
-
### Step 5: 加载环境知识中的测试最佳实践
|
|
101
|
-
|
|
102
|
-
1. 读取 `.autospec/environment/registry.json` 获取活跃中间件
|
|
103
|
-
2. 加载对应的 `integration/testing/{middleware}-testing.yaml`
|
|
104
|
-
3. 提取可用的测试策略和模板
|
|
105
|
-
|
|
106
|
-
### Step 6: 输出测试上下文
|
|
107
|
-
|
|
108
|
-
生成 `.autospec/specs/{feature}/test-context.md`:
|
|
109
|
-
|
|
110
|
-
```markdown
|
|
111
|
-
## 测试风格分析
|
|
112
|
-
|
|
113
|
-
### 测试框架
|
|
114
|
-
- 单元测试: Jest
|
|
115
|
-
- E2E测试: Cypress
|
|
116
|
-
- Mock工具: Sinon
|
|
117
|
-
|
|
118
|
-
### 断言风格
|
|
119
|
-
- 使用 `expect().toBe()` 风格
|
|
120
|
-
- 异步测试使用 `async/await`
|
|
121
|
-
|
|
122
|
-
### 测试基础设施
|
|
123
|
-
- Setup: `jest.setup.js`
|
|
124
|
-
- Fixtures: `tests/fixtures/`
|
|
125
|
-
- Mocks: `__mocks__/`
|
|
126
|
-
|
|
127
|
-
### 集成测试配置
|
|
128
|
-
- 环境启动: `docker-compose -f docker-compose.test.yml up -d`
|
|
129
|
-
- 数据库: 使用测试数据库 `test_db`
|
|
130
|
-
- 数据准备: `npm run test:seed`
|
|
131
|
-
|
|
132
|
-
### 环境知识最佳实践
|
|
133
|
-
- MySQL: 使用 testcontainer 策略
|
|
134
|
-
- Redis: 使用 mock 策略
|
|
135
|
-
|
|
136
|
-
### 复用建议
|
|
137
|
-
- 新测试文件放在 `tests/` 目录
|
|
138
|
-
- 使用现有的 `testUtils.ts` 工具函数
|
|
139
|
-
- 集成测试复用 `docker-compose.test.yml`
|
|
140
|
-
- 参考 `mysql-testing.yaml` 生成数据库测试
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
## 检测模式
|
|
144
|
-
|
|
145
|
-
### Node.js 项目检测
|
|
146
|
-
|
|
147
|
-
```javascript
|
|
148
|
-
// 检测 package.json
|
|
149
|
-
const pkg = require('./package.json');
|
|
150
|
-
const devDeps = pkg.devDependencies || {};
|
|
151
|
-
|
|
152
|
-
// 检测测试框架
|
|
153
|
-
const frameworks = {
|
|
154
|
-
jest: devDeps.jest ? 'Jest' : null,
|
|
155
|
-
mocha: devDeps.mocha ? 'Mocha' : null,
|
|
156
|
-
vitest: devDeps.vitest ? 'Vitest' : null,
|
|
157
|
-
cypress: devDeps.cypress ? 'Cypress' : null,
|
|
158
|
-
playwright: devDeps['@playwright/test'] ? 'Playwright' : null,
|
|
159
|
-
};
|
|
160
|
-
|
|
161
|
-
// 检测测试命令
|
|
162
|
-
const testScript = pkg.scripts?.test;
|
|
163
|
-
const testSetup = pkg.scripts?.['test:setup'];
|
|
164
|
-
const testTeardown = pkg.scripts?.['test:teardown'];
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
### Python 项目检测
|
|
168
|
-
|
|
169
|
-
```python
|
|
170
|
-
# 检测 requirements.txt 或 pyproject.toml
|
|
171
|
-
# 常见测试框架:
|
|
172
|
-
# - pytest
|
|
173
|
-
# - unittest
|
|
174
|
-
# - nose2
|
|
175
|
-
|
|
176
|
-
# 检测配置文件
|
|
177
|
-
# - pytest.ini
|
|
178
|
-
# - conftest.py
|
|
179
|
-
# - setup.cfg
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
### 测试文件扫描
|
|
183
|
-
|
|
184
|
-
```
|
|
185
|
-
扫描目录:
|
|
186
|
-
- tests/
|
|
187
|
-
- test/
|
|
188
|
-
- __tests__/
|
|
189
|
-
- src/**/*.test.{js,ts}
|
|
190
|
-
- src/**/*.spec.{js,ts}
|
|
191
|
-
- **/*_test.py
|
|
192
|
-
- **/test_*.py
|
|
193
|
-
- src/test/**/*Test.java
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
## 反模式清单(DP7)
|
|
197
|
-
|
|
198
|
-
1. **忽略现有测试风格**:生成与项目风格不一致的测试
|
|
199
|
-
- 检测:必须先分析现有测试再生成
|
|
200
|
-
|
|
201
|
-
2. **不复用基础设施**:重复创建 setup/teardown
|
|
202
|
-
- 检测:必须检查并复用现有配置
|
|
203
|
-
|
|
204
|
-
3. **忽略环境知识**:不使用已定义的测试最佳实践
|
|
205
|
-
- 检测:必须加载环境知识中的测试配置
|
|
206
|
-
|
|
207
|
-
## 适用场景与边界
|
|
208
|
-
|
|
209
|
-
- **适用**:测试阶段开始前、需要生成与现有代码风格一致的测试
|
|
210
|
-
- **不适用**:全新项目(无现有测试代码)
|
|
211
|
-
- **前置**:项目有测试代码或环境知识
|
|
212
|
-
- **后续**:test-generator 使用分析结果生成测试
|
|
213
|
-
|
|
214
|
-
## 示例
|
|
215
|
-
|
|
216
|
-
**输入**:一个使用 Jest + MySQL 的 Node.js 项目
|
|
217
|
-
|
|
218
|
-
**输出**:
|
|
219
|
-
|
|
220
|
-
```markdown
|
|
221
|
-
## 测试风格分析
|
|
222
|
-
|
|
223
|
-
### 测试框架
|
|
224
|
-
- 单元测试: Jest v29
|
|
225
|
-
- API测试: Supertest
|
|
226
|
-
|
|
227
|
-
### 断言风格
|
|
228
|
-
- 使用 `expect().toBe()` 风格
|
|
229
|
-
- 异步测试使用 `async/await` + `resolves/rejects`
|
|
230
|
-
|
|
231
|
-
### 测试基础设施
|
|
232
|
-
- Setup: `jest.setup.js` - 初始化测试数据库
|
|
233
|
-
- Fixtures: `tests/fixtures/` - JSON 格式测试数据
|
|
234
|
-
- Mocks: `__mocks__/` - 手动 mock 外部服务
|
|
235
|
-
|
|
236
|
-
### 集成测试配置
|
|
237
|
-
- 环境启动: `npm run test:setup` (docker-compose)
|
|
238
|
-
- 数据库: MySQL testcontainer
|
|
239
|
-
- 数据准备: `tests/seed.ts`
|
|
240
|
-
|
|
241
|
-
### 环境知识最佳实践
|
|
242
|
-
- MySQL: 项目使用 testcontainer 策略
|
|
243
|
-
- 参考 `mysql-testing.yaml` 中的模板
|
|
244
|
-
|
|
245
|
-
### 复用建议
|
|
246
|
-
1. 新测试文件放在 `tests/` 目录,命名为 `*.test.ts`
|
|
247
|
-
2. 使用 `tests/utils/testDb.ts` 创建测试数据库连接
|
|
248
|
-
3. 使用 `tests/fixtures/` 中的测试数据
|
|
249
|
-
4. 参考 `tests/api/users.test.ts` 的测试结构
|
|
250
|
-
```
|
|
@@ -1,241 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: test-generator
|
|
3
|
-
description: 当需要系统化生成测试用例和测试代码以覆盖功能验证、边界条件和异常路径时触发
|
|
4
|
-
type: produce
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## 定位
|
|
8
|
-
测试阶段的核心"做"类skill。系统化生成测试用例,确保测试覆盖充分。用于研发自测和QA测试方案中的用例生成。
|
|
9
|
-
|
|
10
|
-
## 输入
|
|
11
|
-
- 必须输入:结构化需求文档(验收标准是测试用例的基础)、可运行代码
|
|
12
|
-
- 可选输入:技术方案文档(理解设计意图和边界)、关键假设清单、现有测试代码(用于学习风格)
|
|
13
|
-
|
|
14
|
-
## 输出
|
|
15
|
-
|
|
16
|
-
### Step 0: 学习现有测试风格 + 加载环境知识(新增)
|
|
17
|
-
|
|
18
|
-
在生成测试代码前,先分析项目现有的测试风格和加载环境知识:
|
|
19
|
-
|
|
20
|
-
**a. 学习现有测试风格**:
|
|
21
|
-
1. 调用 `test-context-analyzer` 分析现有测试代码
|
|
22
|
-
2. 检测测试框架和工具(Jest、pytest、JUnit 等)
|
|
23
|
-
3. 分析断言风格和组织结构
|
|
24
|
-
4. 提取测试基础设施(setup/teardown、fixtures、mocks)
|
|
25
|
-
5. 提取集成测试配置(环境启动方式、测试数据准备)
|
|
26
|
-
6. 生成测试上下文报告(`.autospec/specs/{feature}/test-context.md`)
|
|
27
|
-
|
|
28
|
-
**b. 加载环境知识中的集成测试最佳实践**:
|
|
29
|
-
1. 读取 `.autospec/environment/registry.json` 获取活跃中间件
|
|
30
|
-
2. 加载对应的 `integration/testing/{middleware}-testing.yaml`
|
|
31
|
-
3. 提取可用的测试策略(testcontainer、mock 等)
|
|
32
|
-
4. 提取测试模板和最佳实践
|
|
33
|
-
|
|
34
|
-
**c. 生成测试代码时参考**:
|
|
35
|
-
- 使用相同的测试框架和断言风格
|
|
36
|
-
- 复用现有的测试基础设施
|
|
37
|
-
- 应用环境知识中的集成测试最佳实践
|
|
38
|
-
- 保持与现有测试代码风格一致
|
|
39
|
-
|
|
40
|
-
**关键**:如果项目中已有测试代码,生成的测试必须与现有风格保持一致。
|
|
41
|
-
|
|
42
|
-
### Step 1: 确定模式
|
|
43
|
-
|
|
44
|
-
读取 `.autospec/config.json`,检查 `subsystems` 字段:
|
|
45
|
-
- **无 subsystems 或长度为1** → 单系统模式
|
|
46
|
-
- **有 subsystems 且长度>1** → 多系统模式
|
|
47
|
-
|
|
48
|
-
检查是否需要效果评测:
|
|
49
|
-
- 有 `type: ai` 的子系统或 `needsEvaluation: true` → 需要效果评测开发
|
|
50
|
-
- 需求文档包含效果相关指标 → 需要效果评测开发
|
|
51
|
-
|
|
52
|
-
### 单系统模式(普通功能)
|
|
53
|
-
- 测试用例列表(含场景描述、步骤、预期结果)
|
|
54
|
-
- 测试代码(单元测试、集成测试)
|
|
55
|
-
- 覆盖报告(哪些需求点被覆盖、哪些未覆盖)
|
|
56
|
-
- **关键假设验证用例**(针对关键假设设计的专项测试)
|
|
57
|
-
- **证据清单**(测试执行日志、覆盖率数据)
|
|
58
|
-
- 产出文件:`test-report.md`
|
|
59
|
-
|
|
60
|
-
### 多系统模式
|
|
61
|
-
- **`tests/integration.md`** — 集成测试报告
|
|
62
|
-
- 跨系统测试场景
|
|
63
|
-
- 接口联调结果
|
|
64
|
-
- E2E测试结果
|
|
65
|
-
- **`tests/{subsystem}.md`** — 各子系统测试报告
|
|
66
|
-
- 单元测试覆盖率
|
|
67
|
-
- 集成测试结果
|
|
68
|
-
- 发现的问题
|
|
69
|
-
|
|
70
|
-
### 效果评测模式(AI/模型功能)
|
|
71
|
-
- **`tests/evaluation/dataset/`** — 评测数据集
|
|
72
|
-
- **`tests/evaluation/evaluator.py`** — 评测脚本
|
|
73
|
-
- **`tests/evaluation-report.md`** — 评测报告
|
|
74
|
-
|
|
75
|
-
## 执行步骤
|
|
76
|
-
|
|
77
|
-
### Step 2: 单系统模式(普通功能)
|
|
78
|
-
|
|
79
|
-
1. 逐条对照需求文档的验收标准,生成正向测试用例
|
|
80
|
-
- 预期产出:每条验收标准至少一个测试用例
|
|
81
|
-
- 失败处理:验收标准不明确则标记,不自行假设
|
|
82
|
-
2. 分析每条功能需求的边界条件,生成边界测试用例
|
|
83
|
-
3. 识别异常路径(无效输入、超时、并发等),生成异常测试用例
|
|
84
|
-
4. **针对关键假设设计验证用例**(验证假设是否在代码中正确体现)
|
|
85
|
-
5. 将测试用例转化为可执行的测试代码
|
|
86
|
-
6. 运行测试,确认用例本身无错误
|
|
87
|
-
7. 生成覆盖报告,标注需求覆盖情况和假设验证情况
|
|
88
|
-
|
|
89
|
-
### Step 3: 多系统模式
|
|
90
|
-
|
|
91
|
-
1. **各子系统测试**:
|
|
92
|
-
```
|
|
93
|
-
for subsystem in config.subsystems:
|
|
94
|
-
a. 运行 {subsystem.test}
|
|
95
|
-
b. 收集测试结果
|
|
96
|
-
c. 产出 tests/{subsystem.name}.md
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
2. **集成测试**(增强):
|
|
100
|
-
a. 读取 `design/overview.md` 中的系统交互定义
|
|
101
|
-
b. **读取环境知识中的集成测试最佳实践**:
|
|
102
|
-
- 加载活跃中间件的测试知识(如 `mysql-testing.yaml`)
|
|
103
|
-
- 选择合适的测试策略(testcontainer、mock、docker-compose)
|
|
104
|
-
- 参考测试模板(`api-test.template.js`、`e2e-test.template.js`)
|
|
105
|
-
c. **生成集成测试代码**:
|
|
106
|
-
- 使用 Step 0 中学习的测试风格
|
|
107
|
-
- 应用环境知识中的测试策略模板
|
|
108
|
-
- 复用现有的测试基础设施
|
|
109
|
-
d. 执行端到端测试
|
|
110
|
-
e. 产出 `tests/integration.md`
|
|
111
|
-
|
|
112
|
-
3. **验收标准对照**:
|
|
113
|
-
- 逐条对照需求文档中的验收标准
|
|
114
|
-
- 确保每条标准都有对应测试覆盖
|
|
115
|
-
|
|
116
|
-
### Step 4: 效果评测开发(AI/模型类功能)
|
|
117
|
-
|
|
118
|
-
当项目包含 AI/模型 相关功能时,测试阶段需要额外开发:
|
|
119
|
-
|
|
120
|
-
#### 4.1 评测需求分析
|
|
121
|
-
|
|
122
|
-
1. 从需求文档中提取效果相关指标:
|
|
123
|
-
- 准确率、召回率、F1等(分类任务)
|
|
124
|
-
- BLEU、ROUGE等(生成任务)
|
|
125
|
-
- 任务完成率、响应质量(智能体)
|
|
126
|
-
- 业务效果指标(转化率、用户满意度等)
|
|
127
|
-
|
|
128
|
-
2. 确定评测方法:
|
|
129
|
-
- 自动评测(有标注数据)
|
|
130
|
-
- 人工评测(需要评测人员)
|
|
131
|
-
- A/B测试(线上对比)
|
|
132
|
-
- LLM-as-Judge(用LLM评估LLM)
|
|
133
|
-
|
|
134
|
-
#### 4.2 评测数据集构建
|
|
135
|
-
|
|
136
|
-
1. 从需求中提取典型场景
|
|
137
|
-
2. 构造正例和反例
|
|
138
|
-
3. 标注预期结果
|
|
139
|
-
4. 数据集格式:
|
|
140
|
-
- 输入数据
|
|
141
|
-
- 预期输出/行为
|
|
142
|
-
- 评测维度(可选)
|
|
143
|
-
5. 写入 `tests/evaluation/dataset/`
|
|
144
|
-
|
|
145
|
-
#### 4.3 评测脚本开发
|
|
146
|
-
|
|
147
|
-
```python
|
|
148
|
-
# tests/evaluation/evaluator.py 示例结构
|
|
149
|
-
|
|
150
|
-
def load_dataset():
|
|
151
|
-
"""加载评测数据集"""
|
|
152
|
-
pass
|
|
153
|
-
|
|
154
|
-
def run_evaluation(model, dataset):
|
|
155
|
-
"""执行评测"""
|
|
156
|
-
pass
|
|
157
|
-
|
|
158
|
-
def calculate_metrics(results):
|
|
159
|
-
"""计算效果指标"""
|
|
160
|
-
pass
|
|
161
|
-
|
|
162
|
-
def generate_report(metrics, results):
|
|
163
|
-
"""生成评测报告"""
|
|
164
|
-
pass
|
|
165
|
-
|
|
166
|
-
if __name__ == "__main__":
|
|
167
|
-
dataset = load_dataset()
|
|
168
|
-
results = run_evaluation(model, dataset)
|
|
169
|
-
metrics = calculate_metrics(results)
|
|
170
|
-
report = generate_report(metrics, results)
|
|
171
|
-
print(report)
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
#### 4.4 智能体评测
|
|
175
|
-
|
|
176
|
-
如果项目包含智能体(Agent)功能:
|
|
177
|
-
|
|
178
|
-
1. **任务完成评测**:
|
|
179
|
-
- 定义评测任务集
|
|
180
|
-
- 执行任务并记录过程
|
|
181
|
-
- 判断任务是否成功完成
|
|
182
|
-
- 计算任务成功率
|
|
183
|
-
|
|
184
|
-
2. **响应质量评测**:
|
|
185
|
-
- 使用LLM-as-Judge评估响应质量
|
|
186
|
-
- 或使用预设规则评估
|
|
187
|
-
- 评分维度:准确性、完整性、有用性
|
|
188
|
-
|
|
189
|
-
3. **工具使用评测**:
|
|
190
|
-
- 验证工具调用是否正确
|
|
191
|
-
- 验证参数传递是否正确
|
|
192
|
-
- 计算工具使用成功率
|
|
193
|
-
|
|
194
|
-
#### 4.5 数据系统测试
|
|
195
|
-
|
|
196
|
-
如果项目包含数据系统(data类型):
|
|
197
|
-
|
|
198
|
-
1. **数据质量测试**:
|
|
199
|
-
- 完整性检查(空值、缺失记录)
|
|
200
|
-
- 一致性检查(跨表关联、业务规则)
|
|
201
|
-
- 准确性检查(数据范围、格式校验)
|
|
202
|
-
|
|
203
|
-
2. **ETL流程测试**:
|
|
204
|
-
- 数据转换正确性
|
|
205
|
-
- 增量更新正确性
|
|
206
|
-
- 异常数据处理
|
|
207
|
-
|
|
208
|
-
3. **性能测试**:
|
|
209
|
-
- 大数据量处理能力
|
|
210
|
-
- 查询性能
|
|
211
|
-
|
|
212
|
-
#### 4.6 评测报告生成
|
|
213
|
-
|
|
214
|
-
产出 `tests/evaluation-report.md`,包含:
|
|
215
|
-
- 评测概述(评测方法、数据集规模)
|
|
216
|
-
- 效果指标结果
|
|
217
|
-
- 与基线/目标对比
|
|
218
|
-
- Badcase分析(失败案例及原因)
|
|
219
|
-
- 改进建议
|
|
220
|
-
|
|
221
|
-
## 反模式清单(DP7)
|
|
222
|
-
1. **只测happy path**:不测边界和异常。检测:覆盖报告必须包含边界和异常用例
|
|
223
|
-
2. **测试与需求脱节**:测了很多但没对照验收标准。检测:每条用例必须关联到具体验收标准
|
|
224
|
-
3. **测试代码有bug**:测试本身逻辑有误导致假通过。检测:运行测试并review测试逻辑
|
|
225
|
-
4. **假设验证遗漏**:不验证关键假设。检测:关键假设清单中每条必须有对应测试
|
|
226
|
-
5. **过度mock**:mock掉了真正需要测试的部分。检测:集成测试不mock核心业务逻辑
|
|
227
|
-
6. **跳过效果评测**:AI/模型功能不开发评测。检测:ml类型子系统必须有评测代码和报告
|
|
228
|
-
7. **评测数据不真实**:评测数据过于简单或不具代表性。检测:评测数据需覆盖典型场景和边界
|
|
229
|
-
8. **忽略现有测试风格**:生成的测试与项目现有风格不一致。检测:必须先执行 Step 0 学习现有风格
|
|
230
|
-
9. **不复用测试基础设施**:重复创建 setup/teardown 而非复用现有配置。检测:检查是否复用了现有 fixtures/mocks
|
|
231
|
-
10. **忽略环境知识**:不使用已定义的测试最佳实践。检测:必须加载环境知识中的测试配置
|
|
232
|
-
|
|
233
|
-
## 适用场景与边界
|
|
234
|
-
- 适用:需要系统化生成测试用例的场景
|
|
235
|
-
- 不适用:探索性测试(那是quality角色的exploratory-tester);性能测试(需专门skill)
|
|
236
|
-
- 边界:生成用例和代码,不判断覆盖是否充分(那是test-reviewer的事)
|
|
237
|
-
- 前置:code-implementer完成编码
|
|
238
|
-
- 后续:test-reviewer审查测试充分性
|
|
239
|
-
|
|
240
|
-
## 示例
|
|
241
|
-
(待从实践中积累第一个完整示例)
|
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: test-planner
|
|
3
|
-
description: 当进入QA测试阶段,需要制定测试方案、设计测试用例覆盖场景时触发。基于需求文档和代码实现规划测试策略。
|
|
4
|
-
type: produce
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## 定位
|
|
8
|
-
|
|
9
|
-
QA测试阶段专用技能。负责制定测试方案、设计端到端测试用例、规划边界条件和异常路径覆盖。
|
|
10
|
-
|
|
11
|
-
## 输入
|
|
12
|
-
|
|
13
|
-
- 必须输入:
|
|
14
|
-
- 需求文档(.autospec/specs/{feature}/requirement.md)- 提取验收标准
|
|
15
|
-
- 技术方案(.autospec/specs/{feature}/design.md)- 理解架构和接口
|
|
16
|
-
- 代码实现 - 理解实现细节
|
|
17
|
-
- 测试类型配置(config.json中的test命令)
|
|
18
|
-
- 可选输入:
|
|
19
|
-
- 历史测试用例(可复用)
|
|
20
|
-
- 子系统配置(多系统项目的测试范围)
|
|
21
|
-
|
|
22
|
-
## 输出
|
|
23
|
-
|
|
24
|
-
```markdown
|
|
25
|
-
## 测试方案
|
|
26
|
-
|
|
27
|
-
### 测试范围
|
|
28
|
-
- 功能范围:...
|
|
29
|
-
- 边界范围:...
|
|
30
|
-
- 不包括范围:...
|
|
31
|
-
|
|
32
|
-
### 测试策略
|
|
33
|
-
| 测试类型 | 方法 | 覆盖目标 | 优先级 |
|
|
34
|
-
|----------|------|----------|--------|
|
|
35
|
-
| 功能测试 | 逐条验证 | 100% 验收标准 | P0 |
|
|
36
|
-
| 边界测试 | 极端值/异常输入 | 所有边界条件 | P1 |
|
|
37
|
-
| 集成测试 | 端到端场景 | 核心用户场景 | P1 |
|
|
38
|
-
| 兼容性测试 | 多环境验证 | 配置矩阵 | P2 |
|
|
39
|
-
|
|
40
|
-
### 测试用例设计(示例)
|
|
41
|
-
| 用例ID | 场景 | 输入 | 预期 | 优先级 | 类型 |
|
|
42
|
-
|--------|------|------|------|--------|------|
|
|
43
|
-
| TC001 | 正常创建 | ... | ... | P0 | 功能 |
|
|
44
|
-
| TC002 | 边界值Max | ... | ... | P1 | 边界 |
|
|
45
|
-
| TC003 | 空值处理 | null | 报错/默认值 | P0 | 异常 |
|
|
46
|
-
|
|
47
|
-
### 关键假设验证计划
|
|
48
|
-
- [ ] 假设X:在测试环境中验证...
|
|
49
|
-
|
|
50
|
-
### 风险评估
|
|
51
|
-
- **High Risk 区域**:...
|
|
52
|
-
- **依赖项**:...
|
|
53
|
-
- **环境限制**:...
|
|
54
|
-
|
|
55
|
-
### 执行计划
|
|
56
|
-
1. 准备测试数据(如果有)
|
|
57
|
-
2. 执行优先级P0用例
|
|
58
|
-
3. 执行P1/P2用例
|
|
59
|
-
4. 探索性测试(30分钟)
|
|
60
|
-
5. 生成测试报告
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## 执行步骤
|
|
64
|
-
|
|
65
|
-
### Step 1: 分析输入(确定性)
|
|
66
|
-
|
|
67
|
-
1. 读取需求文档,提取所有验收标准
|
|
68
|
-
2. 读取技术方案,识别关键接口和模块
|
|
69
|
-
3. 检查 config.json:
|
|
70
|
-
- 确定项目类型(backend/frontend/ai)
|
|
71
|
-
- 读取测试命令配置
|
|
72
|
-
- 多系统项目记录各子系统的测试策略
|
|
73
|
-
|
|
74
|
-
### Step 2: 设计测试策略(模型)
|
|
75
|
-
|
|
76
|
-
基于输入分析设计测试策略:
|
|
77
|
-
|
|
78
|
-
```
|
|
79
|
-
决策逻辑:
|
|
80
|
-
- API/后端项目 → 重点:接口测试 + 边界测试 + 并发测试
|
|
81
|
-
- 前端项目 → 重点:E2E测试 + 兼容性测试 + 交互测试
|
|
82
|
-
- AI/模型项目 → 重点:效果评测(另走evaluation-planner)
|
|
83
|
-
- 数据管道 → 重点:数据完整性 + 转换逻辑 + 调度可靠性
|
|
84
|
-
|
|
85
|
-
边界识别:
|
|
86
|
-
- 数值边界:0, null, max, min, 溢出值
|
|
87
|
-
- 集合边界:空列表、单元素、大量元素
|
|
88
|
-
- 状态边界:初始态、终态、中间态转换
|
|
89
|
-
- 并发边界:同时请求、资源竞争
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
### Step 3: 设计测试用例(模型)
|
|
93
|
-
|
|
94
|
-
为每个验收标准设计测试用例:
|
|
95
|
-
|
|
96
|
-
**原则**:
|
|
97
|
-
- 每个验收标准至少1个正例
|
|
98
|
-
- 每个边界条件至少1个边界测试
|
|
99
|
-
- 预期结果必须可判定(pass/fail明确)
|
|
100
|
-
|
|
101
|
-
**格式**:
|
|
102
|
-
```
|
|
103
|
-
用例ID: TC{三位数字}
|
|
104
|
-
场景: {一句话描述}
|
|
105
|
-
前置条件: {执行前必须满足的条件}
|
|
106
|
-
输入: {具体输入值}
|
|
107
|
-
预期: {期望输出或行为}
|
|
108
|
-
优先级: P0/P1/P2
|
|
109
|
-
类型: 功能/边界/异常/集成
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
### Step 4: 规划测试数据(确定性+模型)
|
|
113
|
-
|
|
114
|
-
确定需要的测试数据:
|
|
115
|
-
- 真实数据采样
|
|
116
|
-
- 合成数据生成
|
|
117
|
-
- Mock外部依赖
|
|
118
|
-
|
|
119
|
-
### Step 5: 输出测试方案
|
|
120
|
-
|
|
121
|
-
按格式输出完整的测试方案文档。
|
|
122
|
-
|
|
123
|
-
## 反模式清单(DP7)
|
|
124
|
-
|
|
125
|
-
1. **只测happy path**:遗漏边界和异常
|
|
126
|
-
- 检测:必须显式列出边界条件覆盖计划
|
|
127
|
-
|
|
128
|
-
2. **用例不可执行**:描述模糊,无法判定结果
|
|
129
|
-
- 检测:每个用例的预期结果必须可判定
|
|
130
|
-
|
|
131
|
-
3. **与需求脱节**:设计的用例不对应任何验收标准
|
|
132
|
-
- 检测:每个用例必须关联到需求的某条验收标准
|
|
133
|
-
|
|
134
|
-
4. **过度测试**:在所有层重复测试同一逻辑
|
|
135
|
-
- 检测:明确测试分层,避免重复
|
|
136
|
-
|
|
137
|
-
5. **忽略环境因素**:不考虑测试环境与生产的差异
|
|
138
|
-
- 检测:显式记录环境差异和应对策略
|
|
139
|
-
|
|
140
|
-
## 适用场景与边界
|
|
141
|
-
|
|
142
|
-
- **适用**:QA测试阶段开始、新功能需要测试方案、回归测试规划
|
|
143
|
-
- **不适用**:单元测试设计(编码阶段已做)、纯探索性测试(无预设方案)
|
|
144
|
-
- **前置**:代码实现完成、需求文档已审查通过
|
|
145
|
-
- **后续**:test-generator(生成测试代码)或执行测试
|
|
146
|
-
|
|
147
|
-
## 示例
|
|
148
|
-
|
|
149
|
-
**输入**:
|
|
150
|
-
```
|
|
151
|
-
需求:用户收藏功能
|
|
152
|
-
- 用户可以收藏商品
|
|
153
|
-
- 取消收藏
|
|
154
|
-
- 查看收藏列表(分页)
|
|
155
|
-
- 最多收藏1000个商品
|
|
156
|
-
|
|
157
|
-
验收标准:
|
|
158
|
-
1. 收藏成功后返回收藏ID
|
|
159
|
-
2. 重复收藏返回已存在提示
|
|
160
|
-
3. 分页每页20条,支持排序
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
**输出**:
|
|
164
|
-
```markdown
|
|
165
|
-
## 测试方案
|
|
166
|
-
|
|
167
|
-
### 测试用例设计
|
|
168
|
-
| 用例ID | 场景 | 输入 | 预期 | 优先级 | 关联标准 |
|
|
169
|
-
|--------|------|------|------|--------|----------|
|
|
170
|
-
| TC001 | 正常收藏 | userId=1, productId=100 | 返回收藏ID, 状态200 | P0 | 标准1 |
|
|
171
|
-
| TC002 | 重复收藏 | 同一用户收藏同一商品 | 返回提示"已收藏", 状态409 | P0 | 标准2 |
|
|
172
|
-
| TC003 | 已达上限 | 用户已有1000个收藏,再收藏 | 返回错误"收藏上限" | P0 | - |
|
|
173
|
-
| TC004 | 分页默认 | userId=1, 无参数 | 返回20条, 按时间倒序 | P0 | 标准3 |
|
|
174
|
-
| TC005 | 分页排序 | page=1, size=10, sort=price_asc | 返回10条, 按价格升序 | P1 | 标准3 |
|
|
175
|
-
| TC006 | 取消收藏 | 传入收藏ID删除 | 删除成功, 再次查询不存在 | P0 | - |
|
|
176
|
-
| TC007 | 取消不存在 | 收藏ID不存在 | 返回404或静默成功 | P1 | - |
|
|
177
|
-
| TC008 | 边界:第1000个 | 在第999个基础上再添加 | 成功,计数=1000 | P1 | 边界 |
|
|
178
|
-
| TC009 | 边界:第1001个 | 已有1000个,再尝试添加 | 失败提示上限 | P1 | 边界 |
|
|
179
|
-
|
|
180
|
-
### 关键假设验证
|
|
181
|
-
- [ ] 假设:数据库事务保证收藏计数一致性
|
|
182
|
-
验证:并发场景下100个用户同时收藏,验证计数正确
|
|
183
|
-
```
|