понедельник, 30 июля 2018 г.

pytest BVT часть 1

Поговорим немного о тестировании. Что такое Build Verification Test (BVT/БВТ)?

Найти общего определения на просторах интеренета мне не удалось, поэтому попробую свормулировать сам. 

BVT - это набор базовых тестовых сценариев, нацеленных на выявление явных ошибок. Часто в литературе также под BVT понимают Смок или Дымовое тестирование.

BVT обладают следующими свойствами:
  1. выполнение тестов производится на каждую сборку
  2. высокая скорость исполнение
  3. высокое покрытие базовой функциональности
  4. включают только критичные тестовые сценарии 
Оговорюсь здесь, что описанные выше свойства довольно условные, каждая команда вправе сама устанавливать критерии качества и расширать BVT до нужного ей объема.
Что все это значит для автоматизатора?

Необходимо написать такие автотесты, которые проверят каждую выпускаемую сборку на соотвествие критичным требованиям. Если у команды есть CI, то на основе прохождения BVT делается заключение о пригодности сборки для дальнейшего тестирования.

Примеры автоматических BVT.
  1. Проверка статусов запущенных сервисов.
  2. Наличие в сборке исполняемых и конфигурационных файлов.
  3. Отсутсвие критичных сообщений об ошибках в логах.
  4. и т.п. и т.д.
Разобравшись немного с BVT в следующих частях попробуем написать на pytest небольшой фремворк для разработки универсальных BVT.