# Failure analysis
[![Version](https://img.shields.io/pypi/v/failures-analysis.svg)](https://pypi.org/project/failures-analysis/)
[![Actions Status](https://github.com/F-Secure/failures-analysis/workflows/CICD/badge.svg)](https://github.com/F-Secure/failures-analysis/actions)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
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 analyze which failures belong to the same group.
The failure-analysis package solves this problem by processing xunit xml files and failures found within by calculating the similarity score of failures using cosine similarity.
Results of this approach are to be published in Springer Book Series: Advances in Intelligent Systems and Computing
later (link to be provided once published).
# Installation instructions
Only Python 3.8 or newer is supported.
1. Update pip `pip install -U pip` to ensure latest version is used
2. 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](https://github.com/F-Secure/flaky-test-ci/blob/main/download_artifacts.py) 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.
Raw data
{
"_id": null,
"home_page": "https://github.com/F-Secure/failures-analysis",
"name": "failures-analysis",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8,<4.0",
"maintainer_email": "",
"keywords": "",
"author": "Tatu Aalto",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/4d/a7/ed7929ffbdf0a9a220f469cbd282d8479203ca0ad6d848ac31c454f7869b/failures_analysis-2.1.0.tar.gz",
"platform": null,
"description": "# Failure analysis\n\n[![Version](https://img.shields.io/pypi/v/failures-analysis.svg)](https://pypi.org/project/failures-analysis/)\n[![Actions Status](https://github.com/F-Secure/failures-analysis/workflows/CICD/badge.svg)](https://github.com/F-Secure/failures-analysis/actions)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\nTests failure analysis package provides fast and reliable way to find and group similar failures in your CI/CD\npipeline. When failure grouping and similarity scoring is done automatically by a machine, it will free\nresources from development team member to fix the most important failures in their CI/CD pipeline. It is tedious\nwork for a human to download, open and read all the test failures and analyze which failures belong to the same group.\nThe failure-analysis package solves this problem by processing xunit xml files and failures found within by calculating the similarity score of failures using cosine similarity. \n\nResults of this approach are to be published in Springer Book Series: Advances in Intelligent Systems and Computing\nlater (link to be provided once published). \n\n# Installation instructions\n\nOnly Python 3.8 or newer is supported.\n\n1. Update pip `pip install -U pip` to ensure latest version is used\n2. Install from the commandline: `pip install failures-analysis`\n\n# Usage\nTo be able to find similar failures, users need to download xunit result(s) in to folder. How and where the download of\nthe xunit files is done, is not part of this project, but example\n[flaky-test CI](https://github.com/F-Secure/flaky-test-ci/blob/main/download_artifacts.py) has an example\nhow download from GitHub can be performed. Tool can be used from command line and it needs only one argument:\npath to folder where xunit xml files are located, example: \n`failures-analysis path/to/xunit/files`\n\n# Supported xunit formats\nPackage has been tested with Pytest and Robot Framework xunit output files. Other format might be supported,\nbut because we do not have visibility on those formats, those are not listed.\n\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "failures-analysis package provides fast and reliable way to find and group similar failures in test automation.",
"version": "2.1.0",
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"md5": "d08bcce9f7a9101aae8d1e222c22d268",
"sha256": "17434b0d94776295ae06b40623b4358c9459feaf86de7d21991ef0fa498339e5"
},
"downloads": -1,
"filename": "failures_analysis-2.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d08bcce9f7a9101aae8d1e222c22d268",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<4.0",
"size": 10324,
"upload_time": "2022-12-09T09:38:42",
"upload_time_iso_8601": "2022-12-09T09:38:42.399291Z",
"url": "https://files.pythonhosted.org/packages/89/2b/1e03ee47fe6147ef77c80460304df7628ce233be4f73f6f92f65d768a981/failures_analysis-2.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "49d13590c568ffa395abc85229f5d9e9",
"sha256": "eb8c4967c5258bbe91cd5727896f58792bfdd4220b84b56eda09626ffc3b2d8d"
},
"downloads": -1,
"filename": "failures_analysis-2.1.0.tar.gz",
"has_sig": false,
"md5_digest": "49d13590c568ffa395abc85229f5d9e9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<4.0",
"size": 9351,
"upload_time": "2022-12-09T09:38:43",
"upload_time_iso_8601": "2022-12-09T09:38:43.710318Z",
"url": "https://files.pythonhosted.org/packages/4d/a7/ed7929ffbdf0a9a220f469cbd282d8479203ca0ad6d848ac31c454f7869b/failures_analysis-2.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2022-12-09 09:38:43",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "F-Secure",
"github_project": "failures-analysis",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "failures-analysis"
}