Skip to main content

Tool for search based test data generation

Project description

Search Based Test Input Generation

A Python implementation of automated test data generation.

Currently, it works only for the subset of Python functions satisfying these conditions:

  • takes only integer arguments

  • had only integer type local variables

  • contains predicates that only involve relational operators (==, !=, <, >, <=, >=), integer variables, and calls to functions with integer return type

Run from Source

If directly clone the source and run package, run below command on project root directory.

python -m covgen <file>

Additional options can be given (you can remain it as default value):

--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>

For example:

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

prints out list of generated inputs that cover detected branches, from each function defined in the target file.

Using pip

This input generator package is available on PyPI of name covgen.

After installing the dependencies:

pip install anytree
pip install astor

You can install this package with below command:

pip install covgen

Then run it anywhere with your python.

python -m covgen <target file location>

Or, you can build your own program using generated inputs.

from covgen.run.inputgenerator import InputGenerator

generator = InputGenerator('target/triangle.py', function_name='triangle')

inputs = generator.generate_all_inputs()

print(inputs['triangle'])

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

covgen-0.0.4-py3-none-any.whl (14.6 kB view details)

Uploaded Python 3

File details

Details for the file covgen-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: covgen-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 14.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.1

File hashes

Hashes for covgen-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 2bc2f28646fb1d126a474150a73b309b54dee042c1e55f292114aa5b59d891d9
MD5 12e9cffbea9b79112e12fbfbc04b7b4d
BLAKE2b-256 1fcaccce68795d5b5b4b2fa4c3150ee3492cb4c7ff4ceba6919cfe1f13f7b4b5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page