OpenStack или как не стоит делать проекты


В научных институтах вроде ИСП РАН и ВМК МГУ есть люди, которые занимаются проблемами качества программного обеспечения с научной точки зрения. Например, есть такой вид тестирования как тестирование на основе формальных спецификаций, с помощью кoторого можно доказать, что ошибок в ПО нет. При таком тестировании утверждение об отсутствии ошибoк доказывается как математическая теорема. Или, к примеру, тестирование на основе моделей - тестирование ПО, при котором варианты тестирования частично или целиком получаются из модели, описывающей аспекты тестируемой системы. Конечно теорией дело не ограничивается, люди из науки разрабатывают инструменты для таких видов тестирования и применяют их на практике. Например на YaC в 2011 году Александр Петренко из ИСП РАН рассказывал об успехах тестирования на основе моделей и упомянул, что в 1985-1993 годах с помощью моделей тестировали компилятор для космических кораблей типа “Буран”. В рамках проектов ИСП РАН был разработан инструмент UniTESK для тестирования на основе формальных спецификаций, он применялся для тестирования реализации протокола IPv6. То есть некоторый опыт практического тестирования у людей из науки есть. Но конечно же объем этого опыта несравним с опытом людей, которые на постоянной основе занимаются тестированием коммерческих проектов.

Чтобы объединить “теоретиков” и “практиков” в решении проблем качества ПО у ИСП РАН есть отличная инициатива - проводить встречи между этими людьми с тем, чтобы они обменивались знаниями и опытом. В 2015 году в рамках этой инициативы мы с моим коллегой рассказывали о проблемах тестирования Virtuozzo на факультете ВМК

  • “Как разрабатывать коммерческое ПО с высокой долей инноваций” (Часть 1, Часть 2).

Это было лирическое отступление.

В рамках всё той же инициативы ИСП РАН организовал доклад Бориса Павловича перед сотрудниками ИСП РАН, где он рассказал о проблемах в проекте OpenStack. Борис работает в компании Мирантис, где занимается разработкой компонентов OpenStack и его доклад ценен хотя бы тем, что он видит проект изнутри.

Рассказ он начинает с того, что он осознал плачевную ситуацию с качеством OpenStack. Для того, чтобы продемонстировать это масштаб проблемы он сделал инструмент Rally, который позволял сломать любой стенд с OpenStack. Далее он утверждает, что даже если бы ему дали команду из 200 человек, то он даже с такой командой не под силу было бы починить существующие проблемы в проекте, потому что решать их нужно на разных уровнях проекта: организационной, архитектурной и т.д.

Всем, кому интересен OpenStack или разработка в масштабных проектах, рекомендуется к просмотру.

Метки: opensource softwaretesting