feat: harden runtime import and frontend verification workflows
This commit is contained in:
104
scripts/test/init_test_plan.sh
Executable file
104
scripts/test/init_test_plan.sh
Executable file
@@ -0,0 +1,104 @@
|
||||
#!/usr/bin/env bash
|
||||
# init_test_plan.sh — Generate task-level test plan + test case template
|
||||
#
|
||||
# Usage:
|
||||
# bash scripts/test/init_test_plan.sh <task-name> [target-dir]
|
||||
#
|
||||
# Example:
|
||||
# bash scripts/test/init_test_plan.sh "preflight-host-readiness" internal/provision
|
||||
#
|
||||
# Output:
|
||||
# docs/test-plans/TEST_PLAN_YYYY-MM-DD_<task-name>.md
|
||||
# docs/test-cases/TEST_CASES_YYYY-MM-DD_<task-name>.md
|
||||
#
|
||||
# These are TEMPLATES. Fill in the actual test cases before implementation,
|
||||
# and mark PASS/FAIL after verification.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
||||
TASK_NAME="${1:?Usage: $0 <task-name> [target-dir]}"
|
||||
TARGET_DIR="${2:-.}"
|
||||
DATE_TAG="$(date +%Y-%m-%d)"
|
||||
|
||||
PLAN_DIR="${SCRIPT_DIR}/docs/test-plans"
|
||||
CASE_DIR="${SCRIPT_DIR}/docs/test-cases"
|
||||
mkdir -p "$PLAN_DIR" "$CASE_DIR"
|
||||
|
||||
# ── Test Plan Template ──────────────────────────────────────────────
|
||||
PLAN_FILE="${PLAN_DIR}/TEST_PLAN_${DATE_TAG}_${TASK_NAME}.md"
|
||||
cat > "$PLAN_FILE" << EOFTPL
|
||||
# Test Plan: ${TASK_NAME}
|
||||
|
||||
日期: ${DATE_TAG}
|
||||
目标文件: ${TARGET_DIR}
|
||||
|
||||
## 测试目标
|
||||
|
||||
<!-- 一句话说明本任务的测试目标 -->
|
||||
|
||||
## 范围
|
||||
|
||||
- 影响文件: <!-- 列出被修改的文件 -->
|
||||
- 风险点: <!-- 可能出问题的地方 -->
|
||||
- 不变区域: <!-- 明确不需要测试的范围 -->
|
||||
|
||||
## 验证层级
|
||||
|
||||
| 层级 | 验证内容 | 命令 | 通过标准 |
|
||||
|------|----------|------|----------|
|
||||
| L1 单测 | | | |
|
||||
| L2 静态分析 | | | |
|
||||
| L3 集成测试 | | | |
|
||||
| L4 构建验证 | | | |
|
||||
| L5 前端验证 | | | |
|
||||
| L6 真实环境 | | | |
|
||||
|
||||
## 测试用例
|
||||
|
||||
见 docs/test-cases/TEST_CASES_${DATE_TAG}_${TASK_NAME}.md
|
||||
|
||||
## 回归检查
|
||||
|
||||
- [ ] 已有测试不受影响
|
||||
- [ ] 覆盖率不低于当前基线
|
||||
EOFTPL
|
||||
|
||||
# ── Test Cases Template ──────────────────────────────────────────────
|
||||
CASE_FILE="${CASE_DIR}/TEST_CASES_${DATE_TAG}_${TASK_NAME}.md"
|
||||
cat > "$CASE_FILE" << EOFCASE
|
||||
# Test Cases: ${TASK_NAME}
|
||||
|
||||
日期: ${DATE_TAG}
|
||||
|
||||
## 用例列表
|
||||
|
||||
| ID | 描述 | 输入 | 预期结果 | 实际结果 | 状态 |
|
||||
|----|------|------|----------|----------|------|
|
||||
| TC1 | | | | | PENDING |
|
||||
| TC2 | | | | | PENDING |
|
||||
| TC3 | | | | | PENDING |
|
||||
|
||||
## 边界用例
|
||||
|
||||
| ID | 描述 | 输入 | 预期结果 | 实际结果 | 状态 |
|
||||
|----|------|------|----------|----------|------|
|
||||
| B1 | | | | | PENDING |
|
||||
| B2 | | | | | PENDING |
|
||||
|
||||
## 异常用例
|
||||
|
||||
| ID | 描述 | 输入 | 预期结果 | 实际结果 | 状态 |
|
||||
|----|------|------|----------|----------|------|
|
||||
| E1 | | | | | PENDING |
|
||||
| E2 | | | | | PENDING |
|
||||
EOFCASE
|
||||
|
||||
echo "✅ Test plan: ${PLAN_FILE}"
|
||||
echo "✅ Test cases: ${CASE_FILE}"
|
||||
echo ""
|
||||
echo "下一步:"
|
||||
echo " 1. 编辑测试计划和用例"
|
||||
echo " 2. 实现代码"
|
||||
echo " 3. 按用例逐条验证"
|
||||
echo " 4. 更新状态为 PASS/FAIL"
|
||||
Reference in New Issue
Block a user