我是参与测试任何协议 (TAP) IETF 组的人员之一(如果有兴趣,请随时加入邮件列表)。许多编程语言开始采用 TAP 作为他们的主要测试协议,他们希望从中获得比我们目前提供的更多的东西。因此,我们希望从具有 xUnit、TestNG 或任何其他测试框架/方法背景的人那里获得反馈。
基本上,除了简单的通过/失败之外,您还需要测试工具提供哪些信息?只是给你一些例子:
- 文件名和行号(如果适用)
- 开始和结束时间
- 诊断输出,例如你得到的和你期望的之间的差异。
等等 ...
我是参与测试任何协议 (TAP) IETF 组的人员之一(如果有兴趣,请随时加入邮件列表)。许多编程语言开始采用 TAP 作为他们的主要测试协议,他们希望从中获得比我们目前提供的更多的东西。因此,我们希望从具有 xUnit、TestNG 或任何其他测试框架/方法背景的人那里获得反馈。
基本上,除了简单的通过/失败之外,您还需要测试工具提供哪些信息?只是给你一些例子:
等等 ...
绝对是您列表中每个项目的所有内容:
从我的头顶上看,除了我想知道的一组测试之外,别无他求
任意一组标签 - 所以我可以将测试标记为,例如“集成、UI、管理员”。
(你知道我会要求这个,不是吗:-)
编写测试必须非常非常容易,并且运行它们同样容易。对我来说,这是测试工具最重要的一个特性。如果有人必须启动 GUI 或跳过一堆圈来编写测试,他们不会使用它。
你说的我要补充:
任何类型的诊断输出 -尤其是在失败时都是至关重要的。如果测试失败,您不希望总是在调试器下重新运行测试以查看发生了什么 - 输出中应该有一些包含。
我还希望看到关键系统变量(如可用内存或硬盘空间)的前后快照,因为这些也可以提供很好的线索。
最后,如果您在任何测试中使用随机种子,请将种子写入日志文件,以便在必要时可以重现测试。
能够识别单个测试的唯一 ID(uuid、md5sum)——例如,用于在数据库中插入测试结果或在错误跟踪器中识别它们以使 QA 可以重新运行单个测试。
这也可以在产品的多个修订的整个生命周期中跟踪单个测试的行为,从构建到构建。这最终可能允许在“历史”事件(新员工、产品发布、硬件升级)和因此类事件而失败的测试配置文件之间建立更大规模的关联。
我还认为 TAP 应该通过专用的侧通道发出,而不是与标准输出混合。我不确定这是否在协议定义的范围内。
我想要连接和嵌套 TAP 流的能力。
可选的 ascii 彩色输出,绿色表示良好,黄色表示未决,红色表示错误
事情悬而未决的想法
将运行各个测试的命令的测试报告末尾的摘要,其中
项目清单
出问题了
测试中的某些内容未决
我使用 TAP 作为一组简单的 C++ 测试方法的输出协议,并且看到了以下缺点:
最后,测试输出必须适合作为轻松生成 HTML 报告文件的基础,该报告文件非常简洁地列出了成功的测试,给出了失败测试的详细输出,并且可以快速跳转到 IDE 到失败的测试行。
TAP 的扩展思路:
1..4
ok 1 - yay
not ok 2 - boo
ok 3 - yay #json:{...}
ok 4 - see my json
能够附加 #json 注释... - 可以安全地被现有代码忽略 - 可以在 testanything.org 上轻松保留定义明确的标签 - 易于生成、解析和读取复杂类型 - yaml 很痛苦