Сквозное тестирование как ключевой результат проекта
Данная работа проводится для того, чтобы все стороны были уверены, что ИС подготовлена к дальнейшим этапам с точки зрения:
▫️функциональности;
▫️механизмов интеграции;
▫️механизмов загрузки первоначальных данных.
В случае если этап "Подготовка к ОЭ" отсутствует (т.е. работы по выверке, очистке и загрузке первоначальных данных отнесены к этапу "Разработка и настройка", а работы по обучению пользователей группы ОЭ либо выделены в самостоятельный этап перед ОЭ, либо включены непосредственно в этап "Проведение ОЭ"), то вместо сквозного тестирования и показа проводят полноценные предварительные испытания.
Они включают в себя, помимо функционального тестирования результатов разработки и показа сквозного примера, ещё и нагрузочное тестирование, и оценку качества подготовленных документов. Но о них поговорим в рамках следующего этапа.
О документах по этапам будет отдельная серия публикаций, но здесь хотелось бы отметить, что для проведения тестирования и финального показа необходимо заранее подготовить и согласовать с заказчиком контрольные примеры, которые полностью покроют функциональность, которая:
▫️отражена в изначальном ТЗ;
▫️согласована в детальных требованиях и отражена в ТЗ на разработку;
▫️согласована как дополнительная функциональность и принятая к разработке непосредственно в рамках текущего этапа.
Данный документ по большей части войдёт в дальнейшем в состав:
▫️ПМПИ (программа и методика предварительных испытаний) - на этапе 3 "Подготовка к ОЭ";
▫️ПМИ (программа и методика испытаний) - по завершении ОЭ на этапе 4 "Проведение ОЭ".
А также будет (полностью или частично) использоваться при проведении ПСИ (приемо-сдаточные испытания)) после переноса ИС на промышленную площадку на этапе 5 "Перевод в ПЭ".
Разумеется, могут возникнуть некоторые корректировки, но по большей части можно будет переиспользовать и тест-кейсы, и контрольные примеры. В ходе финального показа в рамках текущего этапа также могут возникнуть доп. требования, но если вы проводили демо периодически в течение всего этапа, их либо не будет, либо поступят в минимальном объеме, ну и, строго говоря, реализацию "бантиков" (некритическая функциональность) можно перенести по договорённости либо на следующий этап, либо на ОЭ (там, как правило, все равно как минимум "бантики" тоже возникают, поэтому в любом случае интеллектуальные ресурсы разработчика на ОЭ должны быть запланированы).
Зачем же проводить сквозное тестирование, если мы и так тестируем каждую доработку, а после еще и демонстрируем заказчику? Теоретически же мы должны выйти к данной точке с полностью готовой функциональностью. Но дело в том, что мы тестируем и показываем отдельные участки системы.
Во-первых, если даже все компоненты по отдельности работают, это не значит, что в комплексе они также будут работать правильно. Да, мы проверяем, сохранилась ли работоспособность связанных объектов. Тем не менее случается так, что при сквозном тестировании возникают ошибки.
Во-вторых, интеграционные механизмы. Да, в процессе разработки можно показать, что данные «кусочками» передаются между системами. Но так ли это будет, если сделать полноценный пример? А вот не всегда.
В-третьих, допустим, по какому-то невероятному стечению обстоятельств вам удалось собрать систему «по кусочкам» и в комплексе она работает тоже без ошибок. Но как об этом узнает заказчик (неважно, внешний или внутренний)? То есть в конце этапа вы должны будете подписать акт о его сдаче. Что должен подписывать заказчик, какой результат? А вот если вы продемонстрируете, что система доработана на сквозном примере, то тут у заказчика появляется фактура. Да, в процессе проведения опытной эксплуатации могут проявиться разные артефакты, тем не менее, как минимум будет уверенность, что в общем и целом система может быть запущена в дальнейшем в работу.
Полный перечень результатов по этапам проекта - здесь.