问题标签 [mutation-testing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
218 浏览

java - 自动识别 Pitest 中哪些测试用例杀死了哪些突变体

我正在使用 Pitest 进行突变测试,并且我需要大量突变体用于一个项目(例如 500 个突变体)。我需要一个矩阵来显示 Pitest 创建了哪些突变体,被哪些测试用例杀死。我可以手动完成,但需要很长时间。

可以自动完成吗?如果是,如何,如果不是,我对解决方案的选择是什么?

0 投票
2 回答
67 浏览

testing - 具有未知输出的程序的突变测试

由于突变测试的最终目的是通过找到可以揭示故障的测试用例(通过更改程序的部分然后验证输出)来检测程序的故障,似乎只有当比较的突变体的输出不同时与原始人相比,是否可以检测到与该突变体相关的故障。

但是,如果开发人员不确定程序的输出,或者对于不同的测试用例,确实需要不同的值那么她/他如何检测突变体是否检测到错误(当然,当突变导致编译时错误)?

编辑:说突变体被杀死是否正确,只是如果原始程序和突变体具有不同的输出,而不验证原始程序的输出是否正确?

0 投票
0 回答
181 浏览

c - C 的变异测试工具 MILU 中的“Segmentation fault (core dumped)”

为了生成一些很棒的 C 程序变种,我从GitHub克隆了 Milu ,成功编译并运行了它的示例,就像Compilation in UbuntuExample说的一样。但是,当我想生成我的 c 文件的突变体时,我使用gcc -E并运行 Milu 处理 c 文件,然后core dump

因为这个故障很容易触发,而且c文件需要.h,所以这里就不放代码了,大家可以用其他的.c文件来触发。

然后我用它gdb来显示故障的细节。

表明

进入 $MILU_PATH,我发现几乎所有这些函数都在$MILU_PATH/src/mutation/. 其中之一是

我不知道为什么这些功能会导致故障。希望有人能帮助我。

0 投票
2 回答
308 浏览

java - 无法安装 Jumble 工具 Eclipse

我正在尝试使用 jumble 工具,但无法在 eclipse 中使用安装它。我正在按照此处给出的步骤进行操作。 http://jumble.sourceforge.net/ 现在当我尝试将混乱链接添加到添加新软件选项时出现错误。找不到http://jumble.sourceforge.net

谁能帮我解决这个问题?

0 投票
0 回答
53 浏览

eclipse - 如何在我自己的代码中启动第三方插件并在 eclipse 中使用它的方法?

我正在做一个项目来获取我编写的每个测试的变异分数,每次我更改输入时,我都想调用名为 Pitclipse 的 eclipse 插件并返回与输入对应的变异分数。

实际上这是一个优化问题,其中变异分数是要最大化的对象函数,我想找到变异分数高的测试用例。

您知道每次我在自己的代码上调用这个第三方插件时如何启动它吗?

0 投票
4 回答
8162 浏览

java - 从 PIT 执行中排除测试

我必须将我的集成测试排除在 PIT 的执行之外。excludedTestClasses从 1.3.0 版开始有一个选项。我试图通过 PIT 的 Maven 插件的以下配置来通过这些测试。

然而,PIT 仍在执行所有带有后缀的测试IT。我看了看源,但在晚上迷路了;-)

那么,我怎样才能跳过我的集成测试呢?

0 投票
2 回答
440 浏览

java - 使用pitest时过滤ant中的类

让我们考虑这个基本的 ant+pitest 示例:https ://github.com/hcoles/pitest-ant-example

测试类的类路径定义如下:

现在,假设我想更改它以过滤掉一些类。例如,我只想包含名称以“Partially”开头的测试类:

不幸的是,这个解决方案给了我以下错误:

该文件/root/pitest-ant-example/build/test-classes/com/example/PartiallyTestedTest$1.class确实存在。

我究竟做错了什么 ?如何过滤我想使用的测试类?

0 投票
1 回答
1100 浏览

java - PIT Mutation Testing maven 插件跳过所有私有方法

我相信并非所有私有方法都应该作为代码的独立部分进行测试。这就是为什么我想将它们从PIT 测试工具maven 插件的pit-reports 中排除。我试图找到一种方法来做到这一点,但失败了。在excludedMethods主题的文档中描述了一些关闭配置,但这显然不是排除每个私有方法的正确方法。

所以我的问题是在哪里可以排除 PIT 分析的所有私有方法?

0 投票
1 回答
142 浏览

java - Java ASM,收集所有重载方法并将调用替换为所有其他方法

ASM 中是否有工具/方法可以收集类中的所有方法,然后用那些重载方法替换类的调用?

我正在尝试将 ASM 与突变测试一起使用来执行这些操作:

  • 用重载方法替换方法
  • 将其替换为具有相同参数和返回类型(不同名称)的另一个方法
0 投票
1 回答
2772 浏览

maven-plugin - 正确设置pitest-maven报告聚合目标

伙计们!我尝试在我的 Maven / Java 项目中使用 ptest-maven 插件,但它显然无法生成汇总报告(考虑到我有一个多模块项目)。我从官方网站和其他几个来源收集了一些信息,但是,它们都没有真正有助于为这种场景定义正确的配置。简而言之,我的结构如下所示:

父项目

  • 孩子A
  • 孩子B
  • 孩子 ...
  • 孩子 N

在某些子模块中,执行 pi-test 确实有意义,而其他子模块则没有。可以这么说,我的配置总体来说是。

父模块 pom:

具有突变的子项目:

最后,当我尝试执行阶段 站点(如父项中定义的那样)时,即使我执行了创建文件(例如linecoverage.xmlmutation.xml的全新安装) ,我也会收到此错误:

如果我做了错误的配置,或者是否有更好的方法来完成此设置的任何部分,你们中的任何人都知道吗?