Skip to main content

Nitpicker is a CLI tool for black-box testing written in Python

https://travis-ci.org/flipback/nitpicker.svg?branch=master

Motivation

The project has been started to fix some problems that many developers and testers, who practice black-box testing, might be familiar to:

1. Black-box testing are not under version control with the code. Why not? As developers, we would like to do some review of test cases like code review. As a manger I would be calm knowing that all the test plans and cases are stored with the code on Git repository and are always available.

2. Black-box testing stays apart from the develop cycle. I can ban a merge request if it breaks my unit or integration tests because I see it at once by using CI tools. I believe it is possible for manual tests too. I want my CI tool to check if a tester do all the needed tests.

3. A testing tool should be interactive. When you see a whole test case with all the steps it is hard not to jump between them trying to do test as fast as possible. When a tester is in a dialogue with a tool and goes step-by-step, they can test more carefully. Especially, if the tool keep time tracking automatically.

How does it work?

All your test cases and run reports are stored in YAML format with the code which they test.

project
|-src/
|-docs/
|-qa/
  |-feature_1/
  |-feature_2/
    |-plan_1/
      |-test_case1.yml
      |-test_case2.yml
      |-test_case3.yml
      |-runs/
         |-20180820_232000_run.report
         |-20180820_232010_run.report

Nitpicker provides command to create a test case in the given test plan:

python -m nitpicker add test_case -p feature_1.plan_1

Then you should write the case by using your favourite text editor. It is a not bad idea to commit and push it, so your teammate can review the case before you run the plan which the case belongs to.

Now you can run the test plan:

python -m nitpicker run feature_1.plan_1

The program runs all the cases in the interactive mode leading the tester step by step. The results of the run will be written in directory runs in YAML format.

After all the test cases have been run you can push the reports into the git repo, so your CI server can check if all the test runs are passed

python -m nitpicker check --all-runs-passed

The project uses itself for testing. You can find qa directory in the repo. Also you can run some plans for demonstration.

Features

  • CLI interface to create, run, validate and check user tests

  • Run tests in an interactive mode

  • Storing user tests and run reports as files in YAML format

  • Integration with version control systems (currently only git)

Installation

pip install nitpicker

or

python -m pip install nitpicker

Currently Nitpicker supports Python 3.3 and newer.

If you are a Windows user and you would like to use Nitpicker as a command (run nitpicker instead of python -m nitpicker) you should add Script directory of your Python to PATH variable.

Usage

In order to start:

python -m nitpicker --help

Documentation

See the last documentation here.

Release files for nitpicker 0.4.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nitpicker 0.4.2
File Size Uploaded
nitpicker-0.4.2.tar.gz 13.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nitpicker 0.4.2
File Interpreter ABI Platform
nitpicker-0.4.2-py3-none-any.whl Python 3 none any Details

Total release size: 36.3 kB

Release files / nitpicker-0.4.2.tar.gz

Download URL nitpicker-0.4.2.tar.gz
Size 13.7 kB
Tags Source
SHA-256 checksum
How to use checksums
39d4de3cef5c6f9fdfc1945888475c4f63bc51c63da821891611ca0277d998e2
BLAKE2b-256 checksum
How to use checksums
8052cb5007bb602b0f77d25921f5ed0c1deb58801fcf7fba7faa7f1c75bfee79
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.9.1 setuptools/20.7.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.5.2

Release files / nitpicker-0.4.2-py3-none-any.whl

Download URL nitpicker-0.4.2-py3-none-any.whl
Size 22.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2256834ff73c2404f97afa68d1691cc043a139560e838571b274e83930c8d7fb
BLAKE2b-256 checksum
How to use checksums
334f8a7c6f2555d0894e9a52ddcd4f04b83520f21400b7dcceeafc2b648691a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.9.1 setuptools/20.7.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.5.2

Release history Release notifications | RSS feed

This release

0.4.2 This release

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.0

2 release files

0.0.3

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page