diff --git a/skills/spring-boot-api-testing.skill b/skills/spring-boot-api-testing.skill new file mode 100644 index 0000000..f61dff2 --- /dev/null +++ b/skills/spring-boot-api-testing.skill @@ -0,0 +1,49 @@ +Skill: Spring Boot 接口模块化测试 +=================================== + +目标 +---- +系统化测试由 Spring Boot 提供的接口模块:先确保运行环境可用,再通过控制器入口理解业务、输出测试计划、执行计划,并最终汇报测试数据。 + +适用前置 +-------- +1. 用户提供需要测试的控制类或其路径。 +2. 可访问源码,以及必要的数据库/Redis/第三方依赖信息。 + +执行步骤 +-------- +1. **环境自检** + - 运行 `java -version`,确认主版本号为 17;否则安装 `openjdk-17-jdk` 并设置 `JAVA_HOME`。 + - 运行 `mvn -v`,确认 Maven 可用;否则安装 `maven`(APT 或其他包管理器)。 + - 若安装动作发生,记录命令和结果,确保再次检查通过。 +2. **入口确认** + - 向用户确认要测试的控制器文件(可多选),记录模块名称与路径。 + - 根据控制器注释/命名确定模块背景(例如岗位、登录等)。 +3. **业务分析** + - 逐个接口整理:HTTP 方法、URL、请求参数/体、响应结构、鉴权方式、依赖的 Service/组件、可能的异常和边界输入。 + - 必要时查阅对应 Service/工具类,补充业务规则和数据依赖(如需要登录、依赖 Redis、外部 API 等)。 + - 输出“接口说明表”,等待用户确认理解是否正确。 +4. **测试计划** + - 以模块为单位编制计划,包含: + - 测试目标与范围。 + - 数据/配置前置(数据库初始化、账户、第三方秘钥等)。 + - 覆盖的接口列表及关键用例(正常、异常、权限、边界、性能/耗时)。 + - 使用工具(curl/Postman/脚本)及验证方式(响应体、日志、数据库)。 + - 计划需征得用户确认后才能执行。 +5. **测试执行** + - 按计划顺序调用接口,记录每个用例的:请求、响应、状态码、耗时、日志/数据库校验结果。 + - 若遇阻塞(缺数据、服务依赖异常等),立即反馈并暂停执行,待用户处理或提供信息。 + - 需要登录态时默认携带 Cookie `Token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjIwMzIzNTQ3NzA3NzQ3NDA5OTQsInV1SWQiOiJhNTZmYzY2MGZhZGY0OTBjYTlhYjNlMDRhNDlmZmQyMSJ9.yc9NzCHwGu9mIgcWfcihmqRcXQsseW8sDSh27ppbEZE`,视作长效凭证。 +6. **结果汇报** + - 汇总模块测试结论: + - 成功/失败接口数量及列表。 + - 每个接口的功能结果、异常情况、耗时统计。 + - 未执行或部分执行的原因。 + - 遇到的问题、风险及建议的后续动作。 + - 提供复现步骤或截图/日志路径,便于研发排查。 + +输出要求 +-------- +- 所有文档与沟通纪录采用 Markdown/纯文本,路径引用使用相对路径。 +- 重要命令、请求示例使用代码块标注。 +- 未经用户确认不得私自修改生产配置或清理数据。