基于搜索的测试数据生成工具

covgen的Python项目详细描述


基于搜索的测试输入生成

自动化测试数据生成的python实现。

目前,它只适用于满足以下条件的python函数的子集:

  • 只接受整数参数

  • 只有整型局部变量

  • 包含仅涉及关系运算符(=,)的谓词!=、<;、>;、<;=、>;=、整数变量和对整数返回类型的函数的调用

从源运行

如果直接克隆源并运行包,请在项目根目录下运行下面的命令。

python -m covgen <file>

可以提供其他选项(您可以将其保留为默认值):

--function (-f) <target_function_name> 

--method (-m) <avm or hillclimbing> 

--retry-count (-r) <retry count> 

--int-min <minimum value of initial arguments for heuristic methods> 

--int-max <maximum value of initial arguments for heuristic methods>

例如:

python -m covgen target/triangle.py -m avm --retry-count 10 --int-min 0 --int-max 1000

打印出包含检测到的分支的生成输入列表, 从目标文件中定义的每个函数。

使用pip

这个输入生成器包在名为covgen的pypi上可用。

安装依赖项后:

pip install anytree
pip install astor

您可以使用以下命令安装此软件包:

pip install covgen

然后用你的python在任何地方运行它。

python -m covgen <target file location>

或者,可以使用生成的输入构建自己的程序。

fromcovgen.run.inputgeneratorimportInputGeneratorgenerator=InputGenerator('target/triangle.py',function_name='triangle')inputs=generator.generate_all_inputs()print(inputs['triangle'])

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java数组列表故障   Lambda表达式中方法引用的java方法引用   java上载文件并将其内容附加到现有文本文件   java JUnit:如何在非活动测试用例上获取上下文?   java将可比较对象的较低和较大实例提取到专用变量中   java如何将按钮活动链接到另一个Textview活动   错误:java。lang.SecurityExceptionsigner信息与同一包中其他类的签名者信息不匹配   java Geotools库突然从存储库中消失   java如何编写正则表达式来删除字符串中的所有字母字符   java反应式springdatasolr存储库   使用java将一个Zip的内容插入另一个Zip   在公式标记中创建别名时发生java错误   java异常\访问\冲突(0xc0000005)javaCV   Wicket中多文件上传的java FileNotFoundException   java从由“|”分隔的txt文件中获取特定值