Szybkie generowanie danych testowych

Czasem w trakcie pracy zdarza się, że musimy przygotować dane testowe.  Przyczyny mogą być różne, możemy potrzebować danych w celu przetestowania fragmentu aplikacji lub chcąc przedstawić klientowi propozycję interfejsu użytkownika. Z pewnością możliwości jest więcej, jednak nie to jest celem tego wpisu.

Tak się składa, że ostatnio zajmuję się przygotowaniem prototypu UI i chciałem zobaczyć jak to wszystko będzie wyglądać i działać w zetknięciu z przybliżonymi danymi. Nie miałem czasu i ochoty na samodzielne wymyślanie danych i ręczne przepisywanie z zachowaniem odpowiedniego formatu. Zamiast tego poprosiłem Google o pomoc i w zasadzie od razu znalazłem całkiem ciekawy generator danych online dostępny pod adresem: http://www.generatedata.com/.

Wspomniany generator posiada wiele wbudowanych typów i zestawów danych m. in.: miasto, guid, telefon, mail itp., oprócz tego możemy definiować też swoje własne typy np. wyliczenia, typy złożone, czy struktury drzewiaste. Wygenerowane dane można wyeksportować do różnych formatów, np.: CSV, Excel, HTML, JSON, SQL, XML, JavaScript, PHP, czy Ruby. Mnogość oferowanych formatów, szczególnie SQL, JSON i CSV, uważam za duży plus. Generator ma jeszczę inne funkcjonalności, polecam zajrzeć samemu.

Jeżeli chodzi o minusy znalezione przez parę chwil użytkowania tego narzędzia:

  1. Nie generuje wartości logicznych (a przynajmniej ja nie zauważyłem takiej możliwości).
  2. Nie obsługuje eksportu do kodu C# np. w postaci listy obiektów POCO.
  3. Część funkcjonalności jest niedostępna w wersji demo. Pełną wersję można otrzymać przez wsparcie projektu w kwocie 20$.

Powyższe wady można w prosty sposób wyeliminować. Pierwszy problem możemy rozwiązać generując liczby całkowite z zakresu <0;1> i w kodzie rzutować je na wartości logiczne.

Drugi problem rozwiązałem korzystając z metody Deserialize klasy JavaScriptSerializer. Poniżej wrzuciłem prosty, działający, przykład transformacji formatu JSON do kolekcji obiektów POCO.

 

Ostatni problem jest oczywisty i zakładam, że jeżeli ktoś będzie chciał skorzystać z zablokowanych funkcjonalności to dobrze wie co należy zrobić :).

Uważam, że narzędzie jest całkiem funkcjonalne i upraszcza generowanie danych testowych. W ciągu kilku minut wygenerowałem zestaw danych i bez problemu użyłem ich w przygotowanym wcześniej GUI. Narzędzie z całą pewnością jest wystarczające dla większości naszych potrzeb. W przypadku bardziej złożonych scenariuszy może służyć jako narzędzie pomocnicze dostarczające podstawowe dane, które później samodzielnie doprowadzimy do pożądanej postaci. Polecam dodać adres http://www.generatedata.com lub cały post do ulubionych i przetestować narzędzie przy najbliższej okazji.

Edit

Niestety, jak zostało słusznie zauważone w komentarzu poniżej, obecna wersja generatora online nie wspiera polskich znaków diakrytycznych. Jeżeli faktycznie będziemy potrzebowali danych testowych z ogonkami to nie wszystko stracone. Kod źródłowy generatora znajduje się na githubie: https://github.com/benkeen/generatedata i w razie potrzeby możemy naprawić obsługę kodowania na własną rękę i odpalić generator lokalnie.

4 comments on “Szybkie generowanie danych testowych
    • Dzięki! :)

      Ten generator, który podesłałeś jest ok dla aplikacji biznesowych w PL. Z pewnością jest wartościowy, jednak ten, który opisuję w poście jest bardziej elastyczny.

Say something

Your email address will not be published. Required fields are marked with a grey bar.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Current ye@r *