为了账号安全,请及时绑定邮箱和手机立即绑定

在用户界面上执行突变测试是好的做法吗?

在用户界面上执行突变测试是好的做法吗?

慕盖茨4494581 2023-05-10 15:20:45
我和我的队友很难理解是否可以/应该在引用 Swing 类的 JUnit 测试上进行突变测试。更准确地说,我们目前正在使用 Junit 4 和 Assertj Swing 来测试大学测试作业(使用 TDD)的接口。我们还使用 PITEST 作为突变测试框架。我们使用 Eclipse 的 WindowBuilder 插件构建了 Swing 类,因此我们对类的结构没有太多控制。单元测试都是绿色的,但是当运行 pit 时,这些类中的 pit 会抛出大量异常,测试会惨败。你可以在travis上看到 maven 日志。由于我们刚刚开始了解测试世界,因此非常感谢实际处理这些事情的人的建议。非常感谢。
查看完整描述

1 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

突变测试用于测试您的测试覆盖率,而不是您的代码。所以当你的测试失败时没关系,你的测试覆盖率是可以接受的。

问题是 UI 测试很难编码,而且它们不是很稳定(至少几年前是这样,尤其是对于 Linux)。所以变异测试没有为他们提供额外的价值。UI 代码中的任何小变化都可能提供无法解释的堆栈跟踪,因此您不能说您的测试是否好,或者 Swing 是否太复杂并且可以轻松搞定(Swing 会抛出大量异常,因此任何小变化都可能引发其中之一他们)。

我的建议是标准的:将您的 UI 代码与业务逻辑分开,并为您的业务类提供正常测试。在这种情况下,您的变异测试可能是合理的。


查看完整回答
反对 回复 2023-05-10
  • 1 回答
  • 0 关注
  • 85 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信