Dla jasności napisany przeze mnie test warunków skrajnych zwiększa obciążenie systemu, aż osiągnie punkt krytyczny. Teoretycznie działa w nieskończoność, ale ponieważ zasoby systemowe są skończone, oczekuje się, że po pewnym czasie ulegnie awarii. Mam oczekiwane obciążenie systemu, ale jest to testowane osobno w teście obciążenia . Celem tego testu warunków skrajnych jest ustalenie, ile obciążenia mogę nałożyć na system, zanim będę musiał wdrożyć skalowanie.
Jestem w trakcie pisania testu warunków skrajnych dla systemu i zastanawiam się, czy sensowne jest posiadanie kryteriów pozytywnych / negatywnych. Z natury testu obciążenie stale rośnie, dopóki nie osiągnie punktu zerwania (tj. Nie powiedzie się ). Oczywiście nie wiem, jaki jest ten punkt krytyczny, a zatem nie oczekuję obciążenia, które system może wytrzymać (teoretycznie zresztą).
Teraz mam inne testy wydajności przetestować system pod oczekiwanego obciążenia itd., Które można łatwo ustawić Pass / Fail kryteria, a ja mogła wykorzystać te kryteria jako podstawa do mojego testu wysiłkowego. Innymi słowy, mógłbym ustalić minimalny poziom odniesienia dla mojego testu warunków skrajnych, ale nie jestem pewien, czy jest to właściwe postępowanie (czy to „powielanie” mojego drugiego testu?).
Mam nadzieję, że ktoś z większym doświadczeniem w testowaniu wydajności może mi tutaj pomóc. Jakie kryteria pozytywnego / negatywnego zastosowały inne podczas testów warunków skrajnych (jeśli istnieją)?
źródło
Odpowiedzi:
W teście warunków skrajnych twoim zadaniem nie jest zdefiniowanie stresu, jaki powinien być w stanie przyjąć badany. Służy do pomiaru stresu, jaki musi podjąć, zanim zawiedzie.
Za pomocą kryteriów wydajności można określić, czym jest awaria naprężenia. Ale wynik testu warunków skrajnych nie jest pozytywny / negatywny. To „nie powiodło się po 90 godzinach przy 100% wykorzystaniu przy 50% obniżonej wentylacji”.
źródło
Zależy to od wymagań, jeśli twoje wymagania określają, że oczekiwany wynik dla wydajności aplikacji to X, a tak naprawdę masz Y, więc jest to błąd.
Jeśli nie masz zdefiniowanych wymagań, możesz obciążyć system i zebrać dane graniczne, a następnie ustalić i udokumentować te ograniczenia.
źródło
Możesz łatwo zaktualizować swój podstawowy test warunków skrajnych, aby obsługiwał również weryfikację pozytywnej / negatywnej kontroli jakości, coś w rodzaju „w stanie osiągnąć / utrzymać obciążenie X bez zerwania”. Idealnie, gdy X jest konfigurowalny (na przykład dla różnych gałęzi wydania).
Wynik byłby,
fail
gdyby system zepsuł się, zanim obciążenie osiągnie X ipass
jeśli się nie zepsuje . Musisz po prostu przestać zwiększać obciążenie, gdy osiągnie wartość X w scenariuszu „podtrzymania”.IMHO taki automatyczny test może być bardzo przydatny w kontekście CI / CD, szczególnie w oddziałach produkcyjnych.
źródło