2009-06-30 11 views
5

Wykonuję test integracji/warunków skrajnych na bardzo dużym produkcie (myślę, że rozmiar systemu operacyjnego), a ostatnio mój zespół i ja omawialiśmy sposoby lepszego organizowania naszych obciążeń testowych. Do tej pory byliśmy zadowoleni z posiadania wszystkich naszych (niestandardowych) aplikacji do obciążania pracą w serii zadań typu wsadowego, z których każdy reprezentuje pojedynczy test warunków skrajnych. Teraz, gdy znajdujemy się w punkcie, w którym średnia liczba testów obejmuje ponad 100 obciążeń działających w 13 systemach, uważamy, że nadszedł czas, aby zbudować coś bardziej zaawansowanego.Projektowanie systemu testowania warunków skrajnych

Wiele widziałem na temat ram testów jednostkowych, ale bardzo niewiele dla testów typu stresowego wyższego poziomu. Czy ktoś wie o powszechnym (lub rzadkim) sposobie rozwiązania problemu zarządzania dużą liczbą zadań?

W tej chwili chcielibyśmy zachować bazę danych każdego indywidualnego obciążenia pracą i zapewnić front-end do mieszania i dopasowywania ich do pakietów testowych w zależności od tego, jakiego rodzaju stresu potrzebujemy w danym dniu, ale nie mamy przykłady najlepszych sposobów wykonywania bardziej zaawansowanych czynności, takich jak zestawienie stresu, który poszczególne obciążenia nakładają na system.

Co robią moi koledzy testujący stres na dużych produktach? Dla nas kilka ręcznie pisanych skryptów po prostu go nie przestanie.

+0

Nie mogę ci naprawdę pomóc, ale tutaj są dwa linki do dostępnych narzędzi do oceny. http://www.opensourcetesting.org/performance.php http://www.testingfaqs.org/t-load.html – jitter

Odpowiedz

1

Moje własne doświadczenie było początkowo na platformie IIS z WCAT, a następnie z JMeter i Selenium.

WCAT i JMeter pozwalają na przechodzenie przez witrynę internetową jako trasę, wypełnianie formularzy itp. I zapisują proces jako skrypt. Skrypt można następnie odtwarzać pojedynczo lub symulować wielu klientów i wiele wątków. Losowe odtwarzanie gry w celu symulowania nierównego i nieprzewidywalnego użycia itd.

Skrypty można edytować i można je zapisywać ręcznie, gdy już się zorientujesz. WCAT umożliwia odtwarzanie z plików dziennika, co pozwala symulować rzeczywiste użycie.

Oba powyższe są instalowane na komputerze lub serwerze.

Selen to dodatek do FireFox, ale działa w podobny sposób, nagrywając i odtwarzając skrypty i pozwalając na skalowanie.

Trochę trudniej jest opracować scenariusze, które testujesz, a następnie zaprojektować testy, aby je dopasować. Konieczne jest również uwzględnienie interakcji z bazą danych i innymi zewnętrznymi zasobami. Należy poświęcić wiele czasu na przeglądanie plików dziennika, dlatego bardzo ważne są dobre wyniki graficzne.

0

Najtrudniej było mi zebrać i uporządkować dane o wydajności z serwerów obciążonych. Monitor wydajności był moim głównym narzędziem. Gdy pojawiła się wersja Visual Studio Tester, byłem zaskoczony, jak łatwo można pracować z licznikami wydajności. Zapakowali oni listę liczników dla serwera WWW, serwera SQL, aplikacji ASP.NET itd. Dowiedziałem się o wielu licznikach wydajności, o których istnieniu nawet nie wiedziałem. Dodatkowo możesz zbierać własne liczniki. Po każdym uruchomieniu możesz przechowywać dane. Możesz także połączyć się z serwerami produkcyjnymi i zobaczyć, jak się dzisiaj czują. Wtedy widzę te wszystkie grafiki w czasie rzeczywistym, czuję się wzmocniona! :) Jeśli potrzebujesz więcej obciążenia, możesz uzyskać VS Load Agents i stworzyć platformę do generowania obciążenia (lub czy powinienem ją nazwać botnetem). W porównaniu do zbyt wielu produktów na rynku jest stosunkowo niedrogi. Licencja MS idzie na procesor, ale nie na jedno żądanie równoczesne. Oznacza to, że możesz wytworzyć tyle ładunku, ile może obsłużyć twój sprzęt. Średnio udało mi się uzyskać około 3000 równoczesnych żądań internetowych na dwurdzeniowym komputerze z pamięcią 2 GB. Ponadto możesz włączyć testy wydajności do swoich kompilacji.

Oczywiście, że dotyczy systemu Windows. Poza tym cena około 6K $ za narzędzie może być nieco wysoka, plus ta sama ilość pieniędzy za dodatkowego agenta załadunku.