Соображения по поводу тестирования

SVI 911416c130 SVI Игнор служебных файлов 2 лет назад
.vscode 911416c130 SVI Игнор служебных файлов 2 лет назад
.gitignore 911416c130 SVI Игнор служебных файлов 2 лет назад
LICENSE b3c5994bfe Initial commit 2 лет назад
README.md b5baad7835 SVI Добавление текста 2 лет назад

README.md

tech_Test

Соображения по поводу тестирования.

Небюольшое эссе, в котором изложены основные мысли неоторым вопросам тестирования.

Содержание

Анализ ситуации

На протяжении всего процесса разработки цифрового продукта добавление тела продукта должно сопровождаются контрольным измерением соответствия тела продукта поставленным целям проекта по созданию цифрового продукта.

Для контроля соответствия изделия на заводах предумотрены специальные штатные инструменты для измерения размеров изделия в заданных допусках, качества поверхностей в заданных допусках, и др. параметры подлежащие контролю.

Инструменты контроля деляется на:

  • локальный контроль (измерение в ходе изготовления отдельной детали);
  • сборочный контроль (измерения при сборке крупных узлов и агрегатов);
  • контроль качества на выходе (проводится после сборки всего изделия из компоновочных узлов и агрегатов);

Также при крупносерийном производстве с целью улучшения качества продукции ведётся эксплуатационный контроль для сбора информации о редких событиях на этапе эксплуатации продукции, которую либо технически невозможно (либо финансово нецелесообразно) выполнять на всех этапах производства продукции.

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

  • юнит-тестирование;
  • пакетное тестирование;
  • интеграционное тестирование;
  • пользовательское тестирование;
  • сбор информации в ходе опытной, опытно-промышленной и промышленной эксплуатации;

То, что Фредерик Брукс описал как "вспомогательные строительные леса".

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

Это приводит к тому, что стоимость средств контроля производства не просто кратно превышает по стоимости аналогичные средства в материальном производстве -- стоимость средств контроля в информационном производстве превышает стоимость средств материального производства на несколько порядков. Это нормально.

Состояние средств контроля в проекте РАПИРА

Для подробного рассмотрения ситуации и её оценки следует рассмотреть от частного к общему.

Юнит-тестирование и пакетное тестирование

Разработка юнит-тестов и юнит-тестирование должно проводится инженером-разработчиком на этапе разработке юнитов (отдельных модулей). Степень покрытия тестами для подтверждения качества кода должна находиться в пределах 85-95%. В оответствии с результатми многих исследований покрытие тестами на уровне 50% ничего не доказывает -- как правило это прямая ветка исполнения, а интересуют именно граничные условия.

В проекте среднее покрытие тестами разнится крайне сильно -- от 0 до 95%. Отдельные сервисы покрыты тестами на 0%, отдельные даже более 95%. Отсутствие устойчивых показателей порождает ряд проблем на следующем уровне.

Интеграционное тестирование

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