jugmsk JUG.MSK Meetup #11 (04.06.2015 — 04.06.2015)

Cluster inside JVM

img

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

Результатом многолетних усилий докладчика по автоматизации тестов для кластера Oracle Coherece стала библиотека позволяющая эмулировать несколько независимых процессов в одной JVM (с индивидуальными system propeties, classpath и т.д.). Подход оказался достаточно универсальным и в дальнейшем успешно применялся для тестирования других распределенных систем (в частности стека Hadoop + Zookeeper + HBase).

В докладе будет рассказано о самой библиотеке (доступной как open source) и о тех возможностях, которые она открывает для автоматического тестирования (тесты на обратную совместимость, тесты процедур восстановления после сбоя и т.п.).