alxvng/qatracker

QATracker 是一个用于收集、存储和渲染质量保证指标的工具。

v0.5.0 2020-04-18 15:49 UTC

This package is auto-updated.

Last update: 2024-09-29 05:22:24 UTC


README

Quality

QATracker

QATracker 是一个用于收集、存储和渲染质量保证指标的工具。
例如,您可以在项目中运行一些静态代码分析工具,如 phploc 或 phpcpd,然后通过导出的文件收集一些指标。这些特定收集的数据将存储在其他文件中,如果您愿意,可以将其推送到您的存储库。

QATracker report image

演示

您可以在以下链接查看报告示例: 演示

要求

您可以在 Packagist 网站上查看要求: https://packagist.org.cn/packages/alxvng/qatracker

安装

如有必要,请删除之前的安装

rm qatracker.phar;

安装 phar (master)

wget https://github.com/alxvgt/qa-tracker/raw/master/release/qatracker.phar

如果您更喜欢更稳定的版本,请从 https://github.com/alxvgt/qatracker/releases 检出最新稳定版本

使用方法

如何运行 qatracker

php qatracker.phar

首次使用

  1. 运行您喜欢的 QA 工具并生成日志文件
  2. 运行 qatracker,如果检测到配置文件,则工具将为您生成一个示例。
  3. 根据您的指标日志修改生成的示例文件,然后再次运行该工具。
  4. 将生成一个 HTML 页面报告,您可以在您喜欢的浏览器中打开它。您可以看到报告,但图表是空的(收集的值不足)。

注意:至少需要 两次收集 指标才能显示历史记录图表。

定期使用

  1. 再次运行您喜欢的 QA 工具并生成日志文件
  2. 再次运行 qatracker,它会从您已经配置的相同 qa 工具日志文件路径中收集新的指标,然后生成一个包含新旧值的新的报告。
  3. 现在您可以看到您喜欢的指标的历史记录。享受吧!

配置 config.yaml

您需要添加自己的配置来构建自己的指标和报告。配置基于两个对象

  • dataSerie:此对象使您能够从任何您想要的文件中选择/提取数据。qatracker 每次运行都会运行每个 dataSerie 提供商,并将整理后的数据存储在文件中。
  • chart:此对象将 dataSerie 与最终报告中的图表相关联
qatracker:
    dataSeries:
        [list of your data series]
    charts:
        [list of your charts]

示例:您可以在 .qatracker.dist/config.yaml 中查看默认配置文件

dataSeries

您需要遵循此结构并替换括号内的变量

[id]:
    class: [provider class]
    arguments:
        - [path to a qa tool log file]
        - [expression to retrieve data in the file (xpath, jsonpath, etc.)]

可用的提供程序类

  • Alxvng\QATracker\DataProvider\XPathProvider:从 xml 文件中选择唯一数据
  • Alxvng\QATracker\DataProvider\XPathSumProvider:从 xml 文件中选择多个数据,并使用总和进行归约
  • Alxvng\QATracker\DataProvider\XPathCountProvider:计算在 xml 文件中通过表达式检索的节点数
  • Alxvng\QATracker\DataProvider\XPathAverageProvider:从 xml 文件中选择多个数据并计算平均值
  • Alxvng\QATracker\DataProvider\JsonPathProvider:从 json 文件中选择唯一数据
  • Alxvng\QATracker\DataProvider\JsonPathSumProvider:从 json 文件中选择多个数据,并使用总和进行归约
  • Alxvng\QATracker\DataProvider\JsonPathCountProvider:计算在 json 文件中通过表达式检索的节点数
  • Alxvng\QATracker\DataProvider\JsonPathAverageProvider:从 json 文件中选择多个数据并计算平均值

示例

total-duplicated-lines:
    class: Alxvng\QATracker\DataProvider\XpathSumProvider
    arguments:
        - '/tmp/qa-logs/phpcpd/log.xml'
        - '/pmd-cpd/duplication/@lines'

charts

您需要遵循此结构并替换括号内的变量

[id]:
    type: [graph type class]
    dataSeries:
        - [data serie id]
    graphSettings:
        [graph settings]

图形类型类:您可以在库文档中找到所有可用的图形选项:https://www.goat1000.com/svggraph.php#graph-types

数据系列ID:您应该参考上一节中定义的数据系列。

图形设置:您可以在库文档中找到所有可用的图形选项:https://goat1000.com/svggraph-options.php

示例

total-duplicated-lines:
    type: Goat1000\SVGGraph\LineGraph
    dataSeries:
        - 'total-duplicated-lines'
    graphSettings:
        graph_title: 'Totla duplicated lines'

使用导入组合您的配置

您可以通过使用imports指令将主config.yaml与其他配置文件组合。导入的文件将首先处理,然后才是config.yaml的内容。

imports:
    - { resource: config-phploc.yaml }

文档与问答

有关此工具的一些信息可在此处找到:文档

贡献

您可以通过添加问题或拉取请求来为此项目做出贡献。为了开始项目,您可以遵循以下说明:

要求

  • docker >= 19.03.5
  • docker-compose >= 1.25.0

安装

首先,将此存储库进行分叉。然后,遵循以下说明。

git clone <your-fork-repository-url>
cd qatracker/docker
make start
make connect

现在您已连接到容器,可以开始在此项目上工作。