gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:43:46 27 4
gpt4 key购买 nike

我和我的队友很难理解是否可以/应该在引用 Swing 类的 JUnit 测试上进行突变测试。

更准确地说,我们目前正在使用 Junit 4 和 Assertj Swing 来测试大学测试作业(使用 TDD)的界面。我们还使用 PITEST 作为突变测试框架。

我们使用 Eclipse 的 WindowBuilder 插件构建了 Swing 类,因此我们无法控制类的结构。单元测试都是绿色的,但是当运行 pit 时,这些类中的 pit 会抛出大量异常,测试会惨败。可以在travis上看到maven登录.

由于我们刚刚开始了解测试世界,因此非常感谢实际处理这些事情的人的建议。

非常感谢。

最佳答案

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

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

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

关于java - 在用户界面上执行突变测试是好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57325556/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com