Python Code Tester

代码功能测试skill,根据用户需求搜索代码、生成测试用例、执行测试并修复问题

安装

概览

什么是Python Code Tester

Python Code Tester 是一个围绕“按需求验证代码功能”展开的测试型技能,重点不在通用代码生成,而在把用户提出的具体功能要求落到可执行、可核验的测试流程里。它的起点通常是业务化的问题描述,例如某个类的方法是否能正确处理空数据、某个函数在特定输入下是否给出已知结果,然后据此在项目中搜索相关实现,尽量把定位范围收敛到单个类或单个函数,明确文件位置与行号,再进入测试编写与执行阶段。

和只做冒烟式运行检查不同,这个工具强调“正确性验证”。测试脚本不仅要能跑起来,还要给出可对照的 Ground Truth:如果问题适合用数学方法构造已知结果,就先生成带标准答案的数据;如果需要真实外部数据,则通过下载数据集或让用户补充数据来源来完成验证。相应的测试数据会保存到 references/ 目录,后续测试直接复用,避免每次重复搭建环境或临时拼凑输入。

在执行层面,它把测试脚本放在 scripts/ 目录,测试结果和异常信息写入 scripts/log/,形成比较清晰的过程记录。如果测试暴露出代码缺陷,它不会止步于报错本身,而是进一步分析失败原因、尝试修复,并把成功修复后的版本保存到 scripts/release/v{n}/ 中,再重新运行测试确认问题是否真正解决。确认有效后,再把修复同步回项目实际文件,因此它更像是一套从定位、验证到修复闭环推进的代码功能测试工作流。

核心功能特点

  1. 根据用户描述先搜索并锁定相关类或函数,明确代码文件与行号,减少大范围排查
  2. 测试用例必须包含测试数据生成、数据读取和正确性校验,不只是验证代码“能运行”
  3. 要求将测试数据沉淀到 references/ 目录,便于复测、复现和后续回归使用
  4. 测试脚本、运行日志和错误信息分目录保存,过程记录相对完整,便于追踪问题
  5. 测试失败后会分析原因并尝试修复,修复版本按递增版本号保存,再次验证后同步回实际代码

适用场景

它比较适合用于已有项目中的定向功能验证,尤其是在需求描述已经比较具体、但代码实现位置还需要快速确认的时候。比如团队成员只知道“某个 DataLoader 的 load 方法处理空输入时有问题”,却不清楚实现散落在哪个文件,这类场景下,先搜索定位,再围绕该方法编写带校验逻辑的测试,会比手工阅读整个项目更直接。对于需要精确复现某个边界行为的任务,这种以单个类、单个函数为中心的测试方式也更容易落地。

如果项目中的算法或数据处理逻辑本身可以构造标准答案,这个工具的价值会更明显。证据包里强调可通过数学方式生成已知结果的数据,再用测试去比对输出是否正确,这使它尤其适合聚类、统计计算、规则转换等“不是只看是否报错,而是要看结果对不对”的模块。相比只检查函数返回不为空、程序不崩溃,这种做法更能发现隐藏较深的功能偏差。

它也适用于需要留下清晰测试痕迹的协作环境。测试数据放在 references/,脚本放在 scripts/,运行日志集中记录到 log,修复版本单独归档,这种目录化约定有利于团队成员回看测试依据、复现实验步骤,或者核对某次修复是否经过验证。对需要反复回归同一问题、或者要把修复过程交接给其他开发者的项目来说,这种“有输入、有日志、有修复版本”的方式会比临时在本地做一次性排查更稳妥。

不过,它最适合的是“围绕明确功能需求进行验证和修复”的任务,而不是泛泛的代码审计或大而全的自动化平台建设。当用户已经能说清想验证什么、期望结果如何、最好还能提供数据背景时,这套流程能较快形成闭环:先找代码,再造测试,再跑结果,最后根据失败信息修复并复测。对于希望把一次问题排查沉淀成可复用测试资产的开发团队,这正是它的实用之处。