Aplikacje wymagają testowania na różnych etapach swojego rozwoju. Często z uwagi na charakter danych przechowywanych w bazie nie jest pożądane przeprowadzanie testów w oparciu o kopie danych produkcyjnych, chociażby ze względu na ich poufność. Dlatego istotne jest przeprowadzanie testów na danych innych niż produkcyjne. Proces anonimizacji danych produkcyjnych jest osobnym zagadnieniem. Zazwyczaj jest on kosztowny i wymaga uaktualniania wraz ze zmianami struktury bazy.

Dla usprawnienia procesu rozwoju oprogramowania, a także w celach zapewnienia bezpieczeństwa danych klientów w trakcie testów (zarówno użytkownika, jak i penetracyjnych), EuroDB zostało wyposażone w mechanizm generowania danych losowych.

Dane są generowane w oparciu o schemat bazy danych na podstawie zawartych w nim typów pól, ich parametrów i kluczy obcych oraz wykluczających. Korzystając z dostępnych parametrów bądź przy użyciu wyrażeń regularnych, możliwe jest strojenie generowanych danych. Wspierane są główne typy danych, w tym, co istotne, adresy IP i adresy MAC. Dane mogą być generowane z alternatywnych, również zdefiniowanych przez użytkownika makr w zadanych proporcjach (na przykład logowanie do aplikacji klientów wewnętrznych i zewnętrznych). Wspierane jest generowanie „przerw w danych” symulujących awarie zależnych systemów.

Funkcje generatora:

  • generowanie danych z ustalonym offsetem
  • skalowanie per tabela (np. 100 produktów, 10 000 klientów, milion identyfikatorów sesji)
  • ustalanie procentowej wartości NULL (np. brak numeru telefonu klienta)
  • konkatenacja wartości kilku generatorów
  • tworzenie BLOB
  • generator zgodny z algorytmem Luhna (generowanie poprawnych numerów kart kredytowych).

Przykładowe zastosowanie narzędzia:

Przedsiębiorstwo udostępnia aplikację do zarządzania kontem dla swoich klientów. Aplikacja udostępniana jest w 3-miesięcznych cyklach deweloperskich. W ramach polityki bezpieczeństwa zewnętrzna firma wykonuje testy penetracyjne przed każdym deployem w środowisku produkcyjnym. Testy te wykonywane są na środowisku, w którym EuroDB zostało zasilone losowo wygenerowanymi danymi. Do danych dodawany jest unikalny prefix, nieznany firmie zewnętrznej. Dostarczenie przez testerów tego prefiksu jest dowodem na spenetrowanie aplikacji.