Skip to main content

Provide insights on the outcomes of software test cases.

Project description

testyoke

Provide insights on the outcomes of software test cases.

This project will provide resources to log the results of your test suites and aims to add useful insights to your testing. Tests are seen as gold, but how do you prune invalid, ineffective, or plain inaccurate test cases? With TestYoke you can:

  • See the results of tests on this git sha previously. Big time savings here, by not running again.
  • Flaky Tests - have both passed and failed on the present sha. There probably is a data or service dependency issue.
  • Bad Tests - tests that have been failing across consecutive shas. If these have been deployed anyways, these tests are worthless.  Prompt user to delete because they are costing the staff more than a good test is worth.
  • Regressions - tests that failed, were fixed, and fail again in different shas.  Regressions are recurring issues. They may prompt priority to fix.

The HTTP service in this project can run in the background and receive results of your test running, however you run them.

The service presently accepts junit xml, and there is a good chance your testing framework can export that format. Try setting up posting the results of your tests after every run of the suite via your build process.

getting started

  1. Run the service.
make server
  1. Everytime you run a test, POST the result to the service.
  • i.o.u docker

POST formats

Ultimately data will be collected by either testing frameworks' reporters, or by submitting reports after tests complete. This process must be automatic, and not be a manual submission.

junit xml

One of the more prevalent formats in the space, supported by pytest, scalatest, and obviously in java framworks as well. This is a supported.

You can submit via curl/HTTP Post via the following (Run this after your tests run):

  curl -H "vc-sha: $(GIT_SHA)" -H "Content-Type: application/xml+junit" -X POST -d @$(JUNIT_XML) http://localhost:$(FLASK_RUN_PORT)/projects/{your-project}/reports
	@python3 -m client

Analytics

Run this before your tests run.

  python3 -m client SHA=`git rev-parse HEAD`

Example output:

###################################################
#
# nature: untested.  fails 0, passes 0
#
###################################################

Nature

This is a classification of the SHA you are running on.

  • untested - testyoke hasn't seen results from this SHA yet
  • clean - testyoke has never seen a failure on this SHA
  • broken - this SHA has never passed completely.
  • flaky - there is at least one flaky test, defined as having passed and failed on the same SHA.

Components

  • HTTP service
  • reporters
    • scalatest
    • pytest
    • rspec
  • cli client
  • analytics
  • web portal

Arch

API -> persist analyzers

Project details


Download files

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

Source Distribution

testyoke-0.0.1.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

testyoke-0.0.1-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

Details for the file testyoke-0.0.1.tar.gz.

File metadata

  • Download URL: testyoke-0.0.1.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.3

File hashes

Hashes for testyoke-0.0.1.tar.gz
Algorithm Hash digest
SHA256 23366adee4cb0468882c9cbe30366b24806f776c10574aa20eb03fbdf2c3fd7c
MD5 d1d96c7cc20c4b29c0222b1d3da32660
BLAKE2b-256 753f40e68c89b27824fa02e839aeae93d3afc5906b3585b377fee299ea5d3b0a

See more details on using hashes here.

File details

Details for the file testyoke-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: testyoke-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 10.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.3

File hashes

Hashes for testyoke-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 665c78cdab4d59c0f025ea4211eec69d24ad0c8a158fa71957e4459cebd078ca
MD5 629625626e25f3b9cbbee4b5cc0af8e0
BLAKE2b-256 f9c54f7fb486eba3e5a02d12df5e94c0e547babcff389ec0e12da1f42b13f836

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