failures-analysis package provides fast and reliable way to find and group similar failures in test automation.
Project description
Failure analysis
Tests failure analysis package provides fast and reliable way to find and group similar failures in your CI/CD pipeline. When failure grouping and similarity scoring is done automatically by a machine, it will free resources from development team member to fix the most important failures in their CI/CD pipeline. It is tedious work for a human to download, open and read all the test failures and analyse which failures belong to the same group. The failure-analysis package solves this problem by processing xunit xml files using cosine similiarity and Levenshtein distance to find similar failures from the test results.
Test failure analysis package supports calculating similiarities with the following algorithms.
- Sequence Matcher from Pythons diff library https://docs.python.org/3/library/difflib.html
- Jaro-Winkler distance using jellyfish library https://pypi.org/project/jellyfish/
- Jaccard index using jellyfish library https://pypi.org/project/jellyfish/
- Levenshtein ratio using jellyfish library https://pypi.org/project/jellyfish/
- Cosine similiarty using sklearn https://scikit-learn.org/stable/modules/generated/sklearn.metrics.pairwise.cosine_similarity.html
While it supports five different algorithms, best performing algorithms (cosine similiarity and levenshtein ratio) are only currently calculated.
Results and the reason why only cosine and levenshtein deemed good enough are published here: LINK TO THE FIRST PUBLICATION
Installation instructions
Only Python 3.8 or newer is supported.
- Update pip
pip install -U pip
to ensure latest version is used - Install from the commandline:
pip install failures-analysis
Usage
To be able to find similar failures, users need to download xunit result(s) in to folder. How and where the download of
the xunit files is done, is not part of this project, but example
flaky-test CI has an example
how download from GitHub can be performed. Tool can be used from command line and it needs only one argument:
path to folder where xunit xml files are located, example:
failures-analysis path/to/xunit/files
Supported xunit formats
Package has been tested with Pytest and Robot Framework xunit output files. Other format might be supported, but because we do not have visibility on those formats, those are not listed.
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 failures-analysis-2.0.3.tar.gz
.
File metadata
- Download URL: failures-analysis-2.0.3.tar.gz
- Upload date:
- Size: 9.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/35.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.11.4 keyring/23.5.1 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce523a6277be35addb52ea6de91210f083b8cdadc1be74a87523609a39b8d9aa |
|
MD5 | 164b3544b8d12d6a44657281cbab7463 |
|
BLAKE2b-256 | 05f16381113140c36c0d754f029c627777e98292833a53ede9864060cfe69632 |
File details
Details for the file failures_analysis-2.0.3-py3-none-any.whl
.
File metadata
- Download URL: failures_analysis-2.0.3-py3-none-any.whl
- Upload date:
- Size: 10.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/35.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.11.4 keyring/23.5.1 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61e7efc8bd44b126f5d1b3bc30dca5ee860278eee96fa5d5e441605d23a28dd5 |
|
MD5 | 2187b393607d1142ed31f8628b0eb2fc |
|
BLAKE2b-256 | 216c098318d0b8952fd3a3b45be1216f0fee517325d4bcd6a5effd03ba13450c |