Testowanie bazy danych

0

Cześć,
mam w planach testować crud'a. Proces z mojej perspektywy wygląda mniej więcej tak:

generowanie raportu -> proces, który oblicza wyniki dla widoku (dla mnie blackbox) -> baza danych -> wygenerowanie widoku

Chciałem sobie przygotować paczkę przykładów testowych, aby zmniejszyć wielkość tego "blackboxa". Chciałem to zrobić na początku studiując źródła, ale niestety - za dużo jest magicznych liczb, parametrów na zapas. Wpadłem na pomysł, żeby po prostu sobie rozjaśnić poprzez zrobienie na tyle dużo przykładowych konfiguracji, aż chociaż część rzeczy stanie się jaśniejsza, chociażby w debugu.

Namierzyłem wątek, w którym Shalom pokazywał DSLa przykładowego, tylko u mnie pojawia się problem, że musze namierzyć na ile pozwala sama konfiguracja tabel na bazie danych. Żeby mieć chociaż jeden składnik do raportu, muszę przebrnąć przez kilkanaście tabel i wypełnić je danymi testowymi.

Jako że, całe obliczenie i inne rzeczy są poza moim zasięgiem na chwilę obecną nie mogę odłączyć się po prostu od bazy danych, a przynajmniej tak mi się wydaje. Czy ten sposób, który @Shalom przedstawił w tym repo wzbogacony o inserty na fizyczną bazę zda egzamin, czy źle się do tego zabieram po prostu?

1
BartoSAS napisał(a):

Cześć,
mam w planach testować crud'a. Proces z mojej perspektywy wygląda mniej więcej tak:

generowanie raportu -> proces, który oblicza wyniki dla widoku (dla mnie blackbox) -> baza danych -> wygenerowanie widoku

Chciałem sobie przygotować paczkę przykładów testowych, aby zmniejszyć wielkość tego "blackboxa".

A "zmniejszyć wielkość blackboxa" to znaczy, co konkretnie?

BartoSAS napisał(a):

Chciałem to zrobić na początku studiując źródła, ale niestety - za dużo jest magicznych liczb, parametrów na zapas. Wpadłem na pomysł, żeby po prostu sobie rozjaśnić poprzez zrobienie na tyle dużo przykładowych konfiguracji, aż chociaż część rzeczy stanie się jaśniejsza, chociażby w debugu.

A Ty te testy próbujesz pisać żeby testowały, czy żeby się nauczyć czegoś?

Bo z reguły, testy które napiszesz żeby "poznać aplikacje", potem są słabe w testowaniu czegokolwiek.

0

A "zmniejszyć wielkość blackboxa" to znaczy, co konkretnie?

No, jeżeli będę wiedział, że powiedzmy na tabeli w bazie można wpisać różne rzeczy, to ten blackbox już ma w sobie zakute, co ma sens z tej bazy, a co nie - właśnie te ograniczenia z niego chciałbym odwzorować sobie w bazie danych.

Bo z reguły, testy które napiszesz żeby "poznać aplikacje", potem są słabe w testowaniu czegokolwiek.

Na początek takie mi muszą wystarczyć, nie wykluczam, że pójdą do zaorania. Chyba, że masz lepsze rozwiązanie, bo wywiad z osobami, co to pisały, przez wiek kodu, odpada :/

1
BartoSAS napisał(a):

A "zmniejszyć wielkość blackboxa" to znaczy, co konkretnie?

No, jeżeli będę wiedział, że powiedzmy na tabeli w bazie można wpisać różne rzeczy, to ten blackbox już ma w sobie zakute, co ma sens z tej bazy, a co nie - właśnie te ograniczenia z niego chciałbym odwzorować sobie w bazie danych.

Bo z reguły, testy które napiszesz żeby "poznać aplikacje", potem są słabe w testowaniu czegokolwiek.

Na początek takie mi muszą wystarczyć, nie wykluczam, że pójdą do zaorania. Chyba, że masz lepsze rozwiązanie, bo wywiad z osobami, co to pisały, przez wiek kodu, odpada :/

Moim zdaniem jak piszesz testy, to one przede wszystkim powinny mieć zdolność testowania aplikacji.

Jeśli chcesz się nauczyć jak aplikacja działa, to moim zdaniem lepiej oraz szybciej, jest po prostu używanie tej aplikacji, debugowanie jej, rozwijanie, etc. Nie da się mieć ciastka, i zjeść ciastka.

0

W porządku, tylko w tym wypadku mam wrażenie, że muszę ją nabić jakimiś danymi, żeby był sens generowania tych raportów. No i tutaj dochodzę do tego, że reguły na bazie nie bardzo mi wyjaśniają, jak to zrobić, aby nie robić rzeczy, które nie mają prawa bytu w praktyce.

0
BartoSAS napisał(a):

W porządku, tylko w tym wypadku mam wrażenie, że muszę ją nabić jakimiś danymi, żeby był sens generowania tych raportów. No i tutaj dochodzę do tego, że reguły na bazie nie bardzo mi wyjaśniają, jak to zrobić, aby nie robić rzeczy, które nie mają prawa bytu w praktyce.

Nie możesz uruchomić aplikacji i potworzyć z UI'a tych danych?

0

No to jest jakiś sposób, tylko dosyć mozolny, myślałem, że jakimiś zapytaniami pogonię to szybciej :/

0
BartoSAS napisał(a):

No to jest jakiś sposób, tylko dosyć mozolny, myślałem, że jakimiś zapytaniami pogonię to szybciej :/

No możesz też strzelać zapytaniami, jeśli wiesz jakimi i z jakimi danymi to strzelaj - tylko po co to ubierać w testy?

Odpal sobie ileś zapytań ze skryptu lokalnie i tylle.

1 użytkowników online, w tym zalogowanych: 0, gości: 1