Wypowiedzi
-
Nie miałem czasu odpisywać sobie samemu, ale już nast. dnia wpadłem na tego bloga. Jawna informacja to użycie postprocesora i sampler.addArgument(name,value)
Tak czy siak dzięki za info. -
Hey,
Pracuję obecnie nad dość skomplikowanym testem który musi przyjmować dynamiczną ilość parametrów HTTP POST w trakcie działania.
Doszedłem już jak połączyć zmienne z danymi wyciągniętymi z bazy danych tak aby wykluczyć potrzebę tworzenia gigantycznego pliku CSV (około 150 parametrów testu, 30 tysięcy próbek).
Test ma symulować cały dzień roboczy dlatego tyle próbek. W związku z tym docelowo będzie też się zmieniać ilość aktywnych wątków itd.
Tyle tytułem wstępu.
Jeden z fragmentów strony przyjmuje parametry w zależności od zaznaczonych checboxów. Jeśli któryś z checboxów nie jest zaznaczony, parametr do POST'a nie powinien zostać przekazany. Nie jestem jeszcze dobrze zaznajomiony z post i preprocesorami, wiem jedynie że trzeba tutaj tego użyć, żeby osiągnąć ten efekt.
Pytanie jest oczywiście takie - czy ktoś z was robił coś podobnego, jakieś gotowe rozwiązanie? Nie lubię tracić czasu na ponowne odkrywanie koła, ale w temacie jmetera jest naprawdę niewiele pożytecznych informacji wykraczających poza "nagraj i puść test".
Może znacie jakieś forum które jest skarbnicą wiedzy a o którym ja nie wiem.
O http://jmeter.512774.n5.nabble.com/ wiem ;) -
Nie jestem pewien jak jest w przypadku testowania bazy danych, ale JMeter ma pre i postprocesory. W przypadku testów WEB'a da się z odpowiedzi wyciągnąć jakieś dane i wstawić je pod zmienną. Dalej już wiadomo, wstawienie zmiennej jako parametru itd itp.
Nie znam javy, czy javascriptu więc dla mnie było to trochę problematyczne, ale da się w tym pisać całe skrypty które będą przetwarzały dane.
Zmienną oczywiście trzeba zdefiniować w liście "Zmiennych zdefiniowanych przez użytkownika" -
Krystian wychodzi że jest ten tool
http://code.google.com/p/aost/
I dodatek do FF.
https://addons.mozilla.org/pl/firefox/addon/217284/
Staję właśnie przed problemem szybkiego wprowadzenia testów automatycznych pod regresję. Z opcji które testowałem jest selenium i imacros. Ktoś z was zna jeszcze jakieś ciekawe bezpłatne narzędzia ? -
Czyli podsumowując, generalnie wszystko jest ok z testami bazy przez jmeter ;) Patrząc z mojego doświadczenia, inne wyniki dostaniesz na 2 różnych komputerach. Analizując tylko to co piszesz nie robiłeś tego.
Procek chyba celeron 1,7 dla mojego testu przy 15 wątkach miał obciążenie na win xp 100%, Quad / win7 na 100 wątkach chyba 20%. Wyniki przy takiej samej ilości wątków wychodziły trochę wyższe na gorszej maszynie, dlatego właśnie testowaliśmy na 5 różnych, a wyniki uśrednialiśmy ilością pętli i maszyn. Cechą wspólną była tylko wersja javy.
pconnect pewnie pochodzi od persistent connection. Nie wiem na ilu użytkowników pracujących jednocześnie zaplanowana jest wasza aplikacja, możliwe jest jednak, że serwer klęknie na tych waszych połączeniach/rozłączeniach. Powoduje to zauważalne obciążenie przy większej ilości pracujących osób. Wykorzystywanie puli zdefiniowanych połączeń jest zdecydowanie bardziej efektywne (pod warunkiem że PHP nie ma akurat buga ;) -
Nie podałeś nigdzie wartości maksymalnej ilości jednoczesnych połączeń do bazy, jedynie ilość wątków (użytkowników).
Ponieważ jestem właściwie testerem, a nie programistą to wiem tyle co mi oni opowiedzieli i co sam ewentualnie doczytałem. Bazuję na tej wiedzy. Reszta to moje domysły, jeśli coś się nie będzie zgadzać to pewnie ktoś mnie poprawi.
Przykład z plików konfiguracyjnych na serwerze:
max ilość połączeń do bazy 500
ilość połączeń do bazy utworzonych na starcie - 100
ilość połączeń do bazy rezerwowych - 400
wartości oczekiwania na połączenie różna od "utwórz kolejne natychmiast" (czyli mamy zwłokę testowo 2 sekundy)
max ilość klientów 1000 (dla 500 połączeń do bazy)
Uruchomiony connection puling.
Praktyczny wynik dla jednej pętli:
ilość jednoczesnych wątków podczas testów WWW - 50
Wszystko działa szybko.
ilość jednoczesnych wątków podczas testów WWW - 100
Serwis działa wolnej.
Ilość jednoczesnych połączeń do bazy która jest potrzebna aby serwis działał prawidłowo jest większa niż 100 - w konfiguracji mamy ustawioną zwłokę czasową na tworzenie nowego połączenia. Czekamy 2 sekundy, jeśli w tym czasie zwolni się jakieś połączenie to zostanie ono przejęte, powyżej 2 zostanie utworzone połączenie z puli rezerwowej. Tak dzieje się teraz.
Zmieniamy parametr - utwórz nowe połączenie od razu - poprawia to znacząco wynik testu.
Dochodzimy do granicy np 400 użytkowników. Ilość max połączeń do bazy jest 500 więc zawsze będziemy czekać aż jakieś połączenie się zwolni. Czas odpowiedzi serwisu wraz z rosnącą ilością użytkowników powinien coraz bardziej się zwiększać.
Dla 1001 serwis powinien być niedostępny bo przekroczyliśmy liczbę klientów.
Testując WWW mamy odpowiedzi serwera, dostajemy dane które pokazały by się w przeglądarce. Jednym słowem testujemy rzeczywistą aplikację.
Przy uruchomieniu testu na 1 maszynie 100 wątków/10 pętli mamy wartość 200. Dwie maszyny 50 wątków /10 pętli mamy wartość różną od 200, ale mniej lub bardziej zbliżoną. I na koniec 50 wątków/10 pętli dwie maszyny. Pomiędzy uruchomieniem testów na maszynie A i B jest zwłoka czasowa. Wyniki są zawsze mniejsze niż 200. Ilość jednocześnie uruchomionych wątków jest taka sama, jednak operacje które wykonują w tym samym czasie są różne.
Wszystko to ma wpływ na wyniki testów.
Przekładając to na twoje testy. Pamiętaj, że nie badasz tutaj jak zachowa się aplikacja tylko jak zachowa się baza danych. Zapewne inaczej następuje nawiązanie połączenia, możecie mieć zrobione jakieś "myki" w kodzie których nie ma w oprogramowaniu jmetera. To co możesz osiągnąć to sprawdzenie ile jednoczesnych zapytań potrzeba aby baza danych zaczęła krzyczeć "Nie wyrabiam się, zwolnij". Być może 3 pętle to za mało aby mieć dobre wyniki. Dla naszych testów po piątej pętli wyniki były już w miarę prawidłowe, zazwyczaj testowaliśmy dla 10. Inna kwestia to właśnie ta zwłoka podczas nawiązania połączenia do bazy. W kodzie możecie mieć zrealizowane wykorzystywanie połączeń
Wg mnie to co obserwujesz u siebie czyli zwłokę 200 ms to jest to czas jaki:
- jmeter potrzebuje na utworzenie połączeń
- czas jaki jest potrzebny aby zwolnić połączenie dla kolejnego użytkownika jeśli: ilość użytkowników > ilość połączeń. -
Być może jest to kwestia ilość jednoczesnych połączeń do bazy. Np moje testy łączenia się www do postgres'a przez pgbouncera.
Tworzone było na starcie programu 50 połączeń do bazy, w konfiguracji było ustawione X połączeń rezerwowych, testy dla 100 użytkowników potrzebowały oczywiście więcej jednoczesnych połączeń niż 100. Różnica w czasach pomiędzy dwoma testami gdzie podczas 1 testu w locie musiały być utworzone połączenia z puli rezerwowej, a drugim gdzie połączenia już istniały była ogromna.
Być może to jest problemem. W kolejnych pętlach połączenia do bazy już istnieją i dostajesz czas samego zwrotu danych. -
To wszystko chyba przebija moja sytuacja na zlocie. W replice mam 380 fps, wg regulaminu z taką repliką nie wchodzimy do budynków na szturm. Wyjąłem Glocka i skradam się do drzwi. Wychyliłem się, gość wszedł mi pod lufę. W kroczę z 30 cm nie będę strzelał więc mówię.. dostałeś. W tym momencie dostałem serię w rękę. 360 fps z 30-40 cm. To nie było miłe doświadczenie. Rany zagoiły się ale ślady po 4 kulkach gdzie dostałem w gołe ciało zostały.
-
Warto chyba zauważyć że Kolporter to nie jest 1 firma tylko grupa kapitałowa. Wg mnie wychodzi na to, że nikt z was nie zadał sobie trudu żeby to sprawdzić.
W skład grupy kapitałowej wchodzą spółki:
Kolporter Holding
Kolporter DP
Kolporter Sieci Handlowe
Kolporter Service
Kolporter Express
Kolporter eBiznes
Kolporter Info
Kolporter Promocja
Kolporter Expo
Condite
Condite Development
Pretorius
Ferment
Pracuję w Info i owszem nie słyszałem o bezpośredniej współpracy z uczelniami, ale duża liczba pracowników skończyła naszą kielecką PŚK. Nie wiem z kim się kontaktowałeś, jednak należało by kontaktować się z każdą firmą z osobna gdyż są one osobnymi podmiotami. Info nie potrzebuje specjalistów od targów tylko informatyków, tak jak Condite budowlańców. Różne profile firm, różne wymagania.
Z innej beczki.
Sam mam pogląd na to czego nauczyłem się na uczelni, a czego wymaga ode mnie codzienna praca. Właściwie niewielki procent z tego co robię na co dzień dostałem od PŚK reszta wiedzy to praca własna. Podstawą na studiach powinna być praktyka, której brakuje po studiach. Sucha wiedza nadaje się do kosza, nijak się to ma do praktyki.
Zgadzam się natomiast z postulatem, że wiedza jest kluczem do pieniędzy. Obawiam się jednak, że więcej miast ma taki pomysł na rozwój. Edukacja to tylko jeden z potrzebnych elementów. Infrastruktura transportowa, bez tego większe firmy nie wejdą do miasta. Jakoś muszą być zaopatrywane. Plan zagospodarowania przestrzennego - gdzieś muszą się budować.
Problem goni problem i rozwój musi być kompleksowy, a nie nastawiony tylko na jeden element.
Pozdrawiam. -
To może ja zapytam przy okazji. Krystian może wiesz jakie powinny być parametry serwera który powinien uciągnąć pracę 100 użytkowników równolegle. Mamy problemy ze zdiagnozowaniem miejsca w którym serwis utyka, nie jesteśmy pewni czy strona została napisana mało wydajnie czy też winą jest za słaby serwer WWW. Na ten moment poprawiamy obie rzeczy.
Interesuje mnie procek/ram (macierz dyskowa na 100% nie powoduje problemu). Zastanawiamy się też jakie łącze powinno być przeznaczone pod stronę.
Pełna ścieżka testu w pierwszym przejściu to jakieś 2,5 mega danych+skrypty, w jmeter dodana jest obsługa cache więc drugie przejście to 10x mniej danych. -
Zastanawia mnie jedno. Piszecie o tym, że upiększanie parkingu jest to niepotrzebne.
Czy byliście tam ostatnio?
Widzieliście ile dzieci bawi się w tej wodzie płynącej z fontanny - szczególnie w takie upały jak są teraz?
Czy przyglądaliście się wieczorem ile ludzi przechodzi tamtędy i robi sobie zdjęcia?
Ile ludzi kupuje sobie coś do jedzenia i siada w okolicy tych fontann? Młode pary są zabierane przez fotografów na sesje zdjęciową.
Czy naprawdę wszystko w tym naszym życiu musi być praktyczne i racjonalne?
Tok rozumowania idzie w kierunku - trzeba było zrobić to tanio (taniej) bez ekstrawagancji. Zauważcie, że zwykły budynek jakim jest ten parking został przekształcony w obiekt który cieszy oko. Fakt jest niszczony, 60 tysięcy za 3 szyby - ta kasa nie idzie z tego co mi wiadomo z funduszu miasta, ale z ubezpieczenia jakim objęty jest budynek.
Co do oddania terenu/budynku w prywatne ręce. Jasne można było tak zrobić, jednak jeśli nie było by w umowie zapisów że cena nie może być wyższa niż.. itd to po paru latach mogło by nie być miejsca w centrum gdzie można by TANIO zaparkować. Przykładem są nasze autostrady które są w prywatnych rękach - produkt autostrado-podobny tak trzeba by go nazywać.
W okolicy jest teatr, knajpki - mówicie ludzie powinni przesiąść się do komunikacji miejskiej. Jasne nie ma nic przyjemniejszego niż czekanie na autobus o 1 czy 2 w nocy i jazda z pijanymi gimnazjalistami. Dziękuję wolę własne auto.
Władze miasta chcą, aby centrum miasta było przyjemne. Chcecie szare mury? Wyjedźcie do Łodzi, szara atmosfera, szare miasto podobnie jak Katowice.
Jak by na to nie patrzeć parking, jest w centrum Kielc. Po remoncie rynku będzie jednym z częściej mijanych obiektów. Czy powinien cieszyć oko? Zdecydowanie tak. -
Właśnie ze względu na różnice które wymieniłeś uważam, że testowanie wszystkiego co ma działać pod przeglądarką przebiega całkiem inaczej niż testy aplikacji lokalnych.
Mam teraz "przyjemność" testować fragment systemu przygotowany pod web. Szczerze mówiąc to w porównaniu z aplikacjami które do tej pory testowałem, testy pod WEB to jest jedna wielka masakra. Firefox - działa wszystko, IE7/IE8 co krok to problem. Przy okazji jakieś drobne błędy na Chrome czy Operze. Właściwie to wypadało by na każdej z tych przeglądarek puszczać całość testów ze zrzutem ekranu co stronę (na operę chyba nie ma darmowego narzędzia). I nie dość, że sprawdzać czy logika biznesowa działa prawidłowo to czy strona przypadkiem gdzieś się nie rozjechała. Nie wspominam już to o testach strony w różnych rozdzielczościach bo tutaj to już momentami ręce mi opadają.
Generalnie uważam, że testy WEB są o wiele bardziej czasochłonne niż testy aplikacji lokalnej. Dużo bardziej podatne na błędy związane z wersją przeglądarki, zainstalowanych dodatków, rozdzielczością ekranu itp. Zdarza się, że błąd pojawia się na 1 konkretnym komputerze, na 3 innych z tą samą wersją przeglądarki wszystko działa prawidłowo.
Dlatego testy regresji w tym przypadku wg mnie powinny być puszczane znacznie częściej niż przy aplikacjach lokalnych. Im więcej poświęcam czasu przeglądarkom tym bardziej jestem przekonany, że znajdę błąd na którejś z nich przy jakiejkolwiek większej zmianie strony.
Być może moje odczucia są takie bo nasi programiści słabo się starają, staram się jednak myśleć, że to jest jednak problem braku jednolitych standardów. Jeśli u was jest tak samo to wszystkim pracującym w tej gałęzi szczerze współczuję. Ja na ten moment z WEB chciał bym mieć jak najmniej wspólnego i jak najszybciej przejść do kolejnego projektu który nie będzie z WEB'em związany. -
Krystian szeroko opisał jak zorganizowane jest to u nich, wszystko pięknie ale to jest WEB. Czy ktoś z was ma doświadczenia z automatami na zwykłych aplikacjach?
W moim przypadku testy automatyczne oparte są o TestComplete 6. Mamy napisany framework do obsługi kontrolek (standardowych jak i devexpres), można to potraktować jako jedną część kodu.
Druga część kodu wprowadza inteligencję do obsługi plików w excelu. Czyli wywoływanie klikania na komponencie, zaznaczanie opcji, wyszukiwanie na listach poprzez słowa kluczowe.
Na samym końcu w pliku excela mamy zapisaną logikę biznesową. Na podstawie pliku wiadomo co powinno się wykonać w aplikacji i jaki powinien być wynik poszczególnego przypadku.
Jeśli był czas przeprowadzaliśmy testy całej aplikacji rozpoczynaliśmy od pustej bazy i wprowadzane były wszystkie słowniki, przez generowanie danych na ich podstawie aż do fakturowania. Backup bazy był robiony co 1 arkusz. W ten sposób łatwo wciągnąć konkretny stan bazy w którym występuje błąd.
Takie testy trwały powyżej 24h przy działaniu non stop.
Gdy czasu mniej.. (czyli ta standardowa opcja ;P) rozpoczynaliśmy testy po słownikach lub wciągany był konkretny backup pod konkretne miejsce do przetestowania.
Testy cząstkowe wykonywane były zawsze, testy całości przy większych zmianach w aplikacji. Oczywiście do tego jakieś mniejsze rzeczy - manualne. -
Oczywiście warto by skupić się też na aspekcie samych kosztów testów. Jeśli macie automaty to puszczenie wcześniej napisanego automatu przynosi oszczędności w projektach które są bardzo rozłożone w czasie (tester może robić coś innego np. pisać nowy automat). W związku z tym musi być osoba odpowiedzialna za nadzorowanie zgodności testu z aplikacją.
Z mojego doświadczenia wynika, że automatyczne testy regresywne znajdują błędy zdecydowanie szybciej niż tester manualny czy użytkownik końcowy (wtedy dochodzi serwis np. naprawa bazy danych na środowisku produkcyjnym).
Samo napisanie testów jest oczywiście czasochłonne - w krótkich projektach mało opłacalne.
U nas stosujemy tylko współczynnik czasowy - czyli ilość godzin jaka będzie potrzebna na przetestowanie funkcjonalności. -
Sposoby testowania wydajności niewebowych aplikacji bazodanowych.Dominik Jeziorski edytował(a) ten post dnia 12.02.10 o godzinie 12:34
-
Patrząc z mojego pkt widzenia. Wiele firm chce testować, ale nie ma zielonego pojęcia jak to robić. Brakuje im podstawowej wiedzy że testowanie to nie "przeklikanie" programu na chybił trafił i mooże coś się znajdzie. To specyficzna gałąź IT. Testy muszą być przemyślane zarówno od strony jak to zrobić jak i co testować.
Jeśli chodzi o wynagrodzenie w Polsce niestety panuje jeszcze przekonanie że to jest proste przeklikanie aplikacji w związku z czym i pensja jest marna. Programiści są bardziej doceniani może przez to że efekt ich pracy jest widoczny tzn powstają kolejne formatki przyciski itd. Pracy samego testera nie widać może to jest problemem.
Lepiej wygląda praca testera który pracuje na automatach. Wynik jego pracy można zobaczyć program "sam" się klika. Tu jednak jest niestety przekonanie że wszystko można tak przetestować co niestety nie jest prawdą. Podobnie jak przekonanie że samo nagranie testu załatwi sprawę. Nic nie zadziała lepiej jak samodzielnie zaprojektowany test. Tu jednak b. dobrze działają chwytliwe reklamy programów - "wystarczy tylko nagrać i już". Z płacą w tej branży jest lepiej wciąż jednak mało jak na stosunek ilości pracy do kwoty. -
Z tą pracą jest tak. Z mojego pkt widzenia praca MUSI być satysfakcjonująca. Jeśli nie robi się tego co sie lubi, to chociaż niech się zarabia tyle ile sie chce, a jeśli sie nie zarabia tyle ile sie chce to niech sie chociaż robi to co sie lubi ;)
Miałem cel - rok po studiach zarabiać określoną sumę pieniędzy, cóż muszę powiedzieć że mi się to udało. Fakt nie w firmie w której zaczynałem pracę ale.. praca z taką kwotą przyszła sama. Kwestia podejścia. Widzę bardzo dużo ludzi w CK którzy nie mają wiary w swoje możliwości. Ci którzy tą wiarę posiadają wyjeżdżają dalej. Tak jak ktoś napisał pracodawcy myślą że dadzą pracownikowi 1200 zł i będzie zadowolony że ma pracę. Nie tędy droga. W mojej ocenie rynek robi się coraz trudniejszy bardzo dużo ludzi wyjeżdża za granicę. Kiedy w poprzedniej firmie szukaliśmy asystentki handlowca tak naprawdę dziewczyny nie spełniały podstawowych wymogów jak znajomość Excela.
Podobnie jest z remontem mieszkań prawdziwi fachowcy mają nagrane roboty na 2 miesiące do przodu tak że trzeba się zapisywać do nich na wolny termin.
Tak jak już kiedyś powiedziałem.. Jeszcze trochę to my pracownicy będziemy sprite a oni pragnienie ;) -
Witam,
W prawdzie wysłałem CV jednak pewnie mało ono powie co tak naprawde robiłem na studiach, być może warto to było wysłać zeskanowany suplement do dyplomu.
Jeśli tak to prosze dać znać w meilu
Niestety oceny nie odzwierciedlają pracy włożonej w nauke (kto był na mechanicznym na PŚK wie o czym mówie)
Pozdrawiam. -
Z mojej strony mam takie pytanie, widze ze propagujesz to spotkanie tutaj. Zastanawia mnei czy pomyśleliście o ludziach pracujących. Z miłą chęcią porozmawiał bym/zostawił CV ale.. koncze prace o 16 na polibudzie mógł bym byc koło 16:30 - będzie tam ktoś wtedy ?
Druga sprawa - cóż mimo tego że skończyłem wydział mechaniczny - specjalizacja zastosowanie informatki miałem MES na wydziale, zarówno metodą łopatologiczną (czytaj wyliczenia na kartce wg książki/schematu) jak i na kompie. Nie mając z tym styczności na codzień nie wiem czy potrafił bym zaprojektować prostą bryłę (np sześcian) w Nastranie. Tak żeby mi obliczył. To pierwsza sprawa druga.. spotkanie z takim oprogramowaniem prywatnie to .. tylko piractwo - samemu nie ma się okazji.
Jeśli chodzi o wymagania.. hmm też je spełniam :) obecnie jestem testerem (kreatywny), w pracy jest ciężko (nie ma nawet jak w necie posiedzieć :P) angielski - well I think i could say few words :) -
siema,
Ewentualnie wystarczy podejśc na polibude we wrześniu i jest tam pełno ogłoszeń wynajmę pokoje czy noclegi - albo jest to w bloku u innych studentów albo np w domkach jednorodzinnych ludzie pokój wynajmują.
Podobnie jest na AŚ - byłem pare razy w budynku przy exbudzie.
Mam kilku kumpli u których właśnie studenci spali przez weekendy - tak ze nie ma z tym najmniejszego problemu.
- 1
- 2