Коммерческое тестирование и тестирование opensource: есть ли отличия?


Пару лет назад я делал серию интервью с лидерами открытых проектов о тестировании. Целью этих интервью было не столько праздное любопытство, сколько желание понять как обеспечивается качество в этих проектах и есть ли у них какие-то практики, которые можно позаимствовать. По мере публикации интервью у меня в голове появились ответы на эти вопросы, но я почему-то забыл собрать их вместе и опубликовать в виде отдельного поста.

Так что же отличает тестирование в опенсорсе от коммерческого тестирования? Тут надо сделать ремарку: под opensource я подразумеваю открытый проект, за которым стоит сообщество людей, а не коммерческая компания или компании. То есть люди не получают регулярно за работу в проекте материальное вознаграждение.

Простые тесты

Тесткейсы - это самодостаточные программы, в которых легко разобраться. Наверное это связано с тем, что часто в открытых проектах нет отдельных людей, которые занимаются только тестированиеми автотесты пишут сами разработчики. Если нужно сделать несколько похожих тестов, то делают маленький модуль или библиотеку и общие функции реализуют в нем. В то время как в коммерческом ПО автотесты это не отдельные программы, а кусочки одного большого фреймворка.

Примеры таких проектов: тесты репликации в PostgreSQL, syslogd в OpenBSD, GCC, тестирование пространства имён пользователей для контейнеров в LTP.

В рассылке OpenBSD Тео де Раадт явно пишет, что разбираться с “тяжелыми” тестами никто не будет и если хочешь сделать автоматический тест, то лучше написать свой небольшой быстрый тест с нуля.

Аренда IaaS вместо создания и использования собственной

Сейчас широко используются облачные сервера, но когда я делал интервью с человеком из команды тестирования Firefox это было в новинку. Тестировщики в Mozilla тестируют в инстансах AWS.

Нет ручного тестирования практически вообще

И это понятно. Отдельных людей, которые будут регулярно выполнять ручное регресионное тестирование, нет. Но отсутствие такого тестирование компенсируется постоянным реальным использованием тестовых сборок и проведением дней тестирования как в Fedora и Ubuntu Linux или ручное тестирование частично автоматизировано, как например в проекте ReactOS.

В Mozilla на вики есть специальный раздел на вики и портал с результатами ручного тестирования, но похоже, что это результаты работы сотрудников в Mozilla.

Нет никаких гарантий качества

Наверное самое важное отличие из всех перечисленных. В открытом проекте вам никто ничего не гарантирует относительно качества. Никто не отвечает за качество релизных выпусков.

Фан

Последнее отличие немного несерьёзное, но тем не менее:

Где ещё вы сможете сделать нагрузочное тестирование написав своим подписчикамв твиттере: “Эй, ребята, мы адресу test@opensmtpd.org принимает письма тестовая версия OpenSMTPD. Пришлите нам каждый немного писем, чтобы проверить стабильность этой версии.". Разработчики OpenSMTPD такое делают регулярно.

Метки: opensource softwaretesting