Ines Sombra, Fastly Testing in a Distributed World
Короткі нотатки з доповіді про тестування розподілених систем
Чому розподілені системи важко тестувати?
- недетермінованість
- багато станів
- багатопоточність
- відсутність централізованого погляду на систему
- таймінги
Які помилки можуть бути?
- Deadlock - система не може виконувати функцій взагалі
- Livelock / starvation - система працює над чимось, але не над тим, що потрібно
- Under specification - отримали месседж який не очікували отримати
Як тестують розподілені системи дослідники?
Формальне тестування
- Формальні методи (human assisted proofs) - TLA+, COQ, ISABELLE
- model checking - TLA+, MODIST, SPIN
- "Полегшені" формальні методи - ALLOY, SAT
Інші наукові підходи
- Top-Down. Ін'єкція помилок із застосуванням генераторів вхідних значень
- Bottom-up. Ін'єкція помилок керованих походженням.
- White / black box testing
Post #344
1.36K