• ? programming Как правильно дизайнить тесты и вообще стабильность системы из многих компонентов, чтобы не пропустить возможные случаи live/dead локов и неожиданных падений?

Replies (20)

  • @qnikst, как предвидеть неожиданное? Я правильно вопрос понял?
  • @qnikst, Поднимать в аля докере окружения своих приложений и делать игтеграционные тесты.
  • @alar, да, как имея описание системы угадать где и какие проблемы могут возникнуть, в т.ч. которые теоритически невозможные
  • @segfault, как сделать чтобы интеграционные тесты покрыли интересные сценарии, к не занимались разогревом атмосферы?
  • @qnikst, как предусмотреть отказы, вызванные разогревом атмосферы при интеграционном тестировании?
  • @qnikst, Ну вероятно симулировать интересные сценарии на тестовых данных, делать моки частей системы чтобы те гарантированно падали, например.
  • @segfault, !!! вопрос в том как подойти к проектированию так чтобы не пропускать такие вещи, а не в каком докере запускать. С моками мне не нравится то, я буду тестить моки, а не реальную систему иногда это нормально, когда компоненты разнесены, иногда нет
  • @segfault, как не задолбаться, описывая в тестах сценарии с падением любого компонента по "Oh noes! Teh inpossible happend!"?
  • @qnikst, Без моков ты пропустишь отказы безотказных компонентов.
  • @alar, да с моками компонентов в том же процессе, например, я буду тестить неизвестно что
  • @qnikst, Я ни чего лучше моков не знаю. Можно сделать рандомно падаюдие моки например, и завершать тест по количеству успешно пройденных тестов.
  • @qnikst, вот потому я и ною про размножение тесткейсов, что они должны предусматривать и нормальное поведение и невозможные отказы
  • @qnikst, youtube.com
    Может и не совсем в тему, но любопытно.
  • @qnikst, метамодель
  • @qnikst, twitter.com из соседней вкладки браузера :)
  • @qrilka, и floating points
  • @agr, куда читать?
  • @qnikst, на митапе поищу. у меня нет теории, одна лишь практика.
  • @agr, что-то я конкретно промахнулся с темой, пардон. метамодели это про типы, а не про локи
  • @qnikst, С дедлоками лучше всего поступили в FreeBSD kernel: сделали подсистему проверки порядка захвата локов. Если два лока были захвачены в порядке A -> B, а потом B -> A, то издается много ругани.