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
- Run the service.
make server
- 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 yetclean
- testyoke has never seen a failure on this SHAbroken
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23366adee4cb0468882c9cbe30366b24806f776c10574aa20eb03fbdf2c3fd7c |
|
MD5 | d1d96c7cc20c4b29c0222b1d3da32660 |
|
BLAKE2b-256 | 753f40e68c89b27824fa02e839aeae93d3afc5906b3585b377fee299ea5d3b0a |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 665c78cdab4d59c0f025ea4211eec69d24ad0c8a158fa71957e4459cebd078ca |
|
MD5 | 629625626e25f3b9cbbee4b5cc0af8e0 |
|
BLAKE2b-256 | f9c54f7fb486eba3e5a02d12df5e94c0e547babcff389ec0e12da1f42b13f836 |