Статистика о тестировании в открытых проектах
Мне нужно написать парсеры тестовых отчётов в форматах JUnit, TAP и SubUnit. Парсеры почти готовы и чтобы их протестировать мне нужно было найти результаты из настоящих проектов. Нужные данные я нашёл, но дополнительно я проанализировал информацию о пятидесяти открытых проектах, чтобы ответить на три вопроса:
- доступны ли результаты о тестировании в выбранных проектах публично
- какие форматы используют проекты для отчётов о тестировании
- возможно ли принять участие в тестировании в выбранных проектах
Я получил следующие данные:
- чуть менее половины проектов (24) публикует данные о тестировании
- половина проектов использует три наиболее популярных формата: TAP (19), JUnit (8), SubUnit (3), остальные изобрели какой-то свой формат
- в десяти проектах возможно участие людей со стороны
| Проект | Формат | Данные о результатах тестирования доступны публично | Возможность принять участие в тестировании проекта |
|---|---|---|---|
| LibVirt | TAP | Нет | Нет |
| LTP (Linux Test Project) | TAP? | Да | Нет |
| CRIU | TAP | Да | Нет |
| OpenVZ | - | Нет | Нет |
| FreeBSD | JUnit/TAP (используется фреймворк kyua) | Да | Нет |
| GIT SCM | TAP | Нет | Нет |
| NGINX | TAP | Нет | Нет |
| Perl 6 | TAP | Да | Да |
| Perl 5 | TAP | Да (perl.daily-build.reports, perl5.test-smoke.org) | Да |
| MariaDB | TAP | Нет | Нет |
| LibreSSL | TAP | Нет | Нет |
| Chromium | TAP/JUnit (Google Test) | Да | Да |
| OpenCV | TAP/JUnit (Google Test) | Нет | Нет |
| Protocol Buffers | TAP/JUnit (Google Test) | Нет | Нет |
| Mercurial | JUnit | Нет | Нет |
| OpenBSD | Собственный | Нет | Нет |
| muslibc | Собственный | Нет | Нет |
| unpaper | Собственный | Нет | Нет |
| tesseract-ocr | Собственный | Нет | Нет |
| Linux kernel | Собственный в юнит-тестах, TAP в функциональных тестах, | Да (1, 2) | Да |
| Wine | Собственный | Да | Да |
| Piglit | Собственный? | Да | Нет |
| Boost | Собственный? | Да | Нет |
| FFMpeg | Собственный? | Да | Да |
| Ubuntu | Раньше использовали JUnit, потом перешли на SubUnit | Да | Да (1, 2, 3) |
| PostgreSQL | TAP | Да (1, 2) | Да |
| ReactOS | Собственный? | Нет | Нет |
| OpenResty | TAP | Да | Нет |
| Redis | Собственный? | Да | Нет |
| OpenStack | SubUnit (Tempest, testr) | Да | Нет? |
| LLVM | Собственный в функциональных тестах (1, 2) и TAP/JUnit в юнит-тестах (Google Test) | Нет | Нет? |
| QEMU | Собственный | Нет | Нет? |
| Xen | Собственный | Да (HTML, xen-devel@) | Да |
| LibreSwan | Собственный | Да | Да |
| NetBSD | Собственный | Да | Да? |
| GCC | Собственный | Да (1, 2) | Нет |
| OpenSMTPD | TAP | Нет | Нет |
| LXC | Собственный? | Нет | Нет |
| ClamAV | Собственный? | Нет | Нет |
| gawk | Собственный? | Нет | Нет |
| Ruby | Собственный? | Нет | Нет |
| Haskell | Собственный? | Нет | Нет |
| LustreFS | TAP/JUnit | ResultsDB, Maloo | Да |
| GlusterFS | JUnit | Да | Нет |
| Go | Собственный | Нет | Нет |
| Zsh | Собственный | Нет | Нет |
| Lua | Собственный | Нет | Нет |
| curl | Собственный | Нет | Нет |
| Busybox | Собственный | Нет | Нет |
| Rsync | Собственный | Нет | Нет |
| runc | TAP | Нет | Нет |
| Samba | SubUnit | Нет | Нет? |
| Apache | TAP | Нет? | Нет |
| KVM | Собственный | Нет | Нет |
| Bazaar | SubUnit | Нет | Нет |
| libinput | TAP/SubUnit (используется фреймворк Check) | Нет | Нет |
| xfs-tests | Собственный |