what is reliability testing
Co to jest testowanie niezawodności?
najlepszy edytor Pythona mac os x
Niezawodność definiuje się jako prawdopodobieństwo bezawaryjnej pracy oprogramowania przez określony czas w określonym środowisku.
Testy niezawodności wykonywane są w celu upewnienia się, że oprogramowanie jest niezawodne, spełnia cel, dla którego zostało stworzone, przez określony czas w danym środowisku oraz jest w stanie zapewnić bezawaryjną pracę.
W tym zmechanizowanym świecie ludzie ślepo wierzą w jakiekolwiek oprogramowanie. Niezależnie od wyniku systemu oprogramowania ludzie podążają za nim, wierząc, że oprogramowanie zawsze będzie poprawne. Rzeczywiście, jest to powszechny błąd, który wszyscy popełniamy.
Użytkownicy uważają, że przedstawione dane są prawidłowe, a oprogramowanie zawsze będzie działać poprawnie. W tym miejscu pojawia się potrzeba testowania niezawodności.
Według ANSI niezawodność oprogramowania jest definiowana jako prawdopodobieństwo bezawaryjnego działania oprogramowania przez określony czas w określonym środowisku.
Jeśli oprogramowanie działa bezawaryjnie przez określony czas w określonym środowisku, to nazywane jest oprogramowaniem niezawodnym.
Niezawodność oprogramowania zmniejszy liczbę błędów podczas tworzenia oprogramowania. W urządzeniach elektronicznych lub przyrządach mechanicznych oprogramowanie nie może wykazywać „zużycia”, w tym przypadku „zużycie” występuje tylko z powodu „defektów” lub „błędów” w systemie oprogramowania.
Zalecana lektura => Wskazówki i porady, jak znaleźć błąd
Czego się nauczysz:
- Co to jest testowanie niezawodności?
Co to jest testowanie niezawodności?
W dzisiejszym świecie aplikacje są używane w każdym aspekcie naszego życia, w tym w służbie zdrowia, sektorach rządowych, telekomunikacji itp.
Dlatego musimy mieć dokładne dane, na których mogą polegać użytkownicy. Testowanie niezawodności dotyczy jakości oprogramowania i standaryzacji produktów. Jeśli jesteśmy w stanie powtórzyć przypadki testowe i konsekwentnie otrzymujemy te same wyniki, wówczas produkt jest „niezawodny”.
Testy niezawodności wykonywane są w celu upewnienia się, że oprogramowanie jest niezawodne, spełnia cel, dla którego zostało stworzone, przez określony czas w danym środowisku oraz jest w stanie zapewnić bezawaryjną pracę.
Kiedy używamy testów niezawodności?
Poniżej podano scenariusze, w których używamy tego testu:
- Aby znaleźć usterki obecne w systemie i ich przyczyny.
- Aby zapewnić jakość systemu.
Przypadki testowe powinny być zaprojektowane w taki sposób, aby zapewnić całkowite pokrycie oprogramowania. Przypadki testowe powinny być wykonywane w regularnych odstępach czasu, abyśmy mogli krzyżowo sprawdzić wynik bieżący i poprzedni oraz zweryfikować, czy jest między nimi jakaś różnica. Jeśli pokazuje ten sam lub podobny wynik, oprogramowanie można uznać za wiarygodne.
Możemy również przetestować niezawodność, wykonując przypadki testowe przez określony czas i sprawdzić, czy po tym okresie pokazuje poprawnie wynik bez żadnych błędów. Wykonując testy niezawodności, musimy sprawdzić ograniczenia środowiska, takie jak wyciek pamięci, niski poziom baterii, słaba sieć, błędy bazy danych itp.
Podstawowe typy oceny niezawodności oprogramowania
Poniżej wymieniono kilka podstawowych typów służących do oceny niezawodności oprogramowania.
1) Niezawodność testu-ponownego testu
Rozważmy następującą sytuację, w której testujemy funkcjonalność, Powiedz o 9:30 i ponownie przetestuj tę samą funkcjonalność o 13:00. Później porównujemy oba wyniki. Otrzymujemy wysoką korelację wyników. Wtedy możemy powiedzieć, że test jest „Rzetelny”. Zwykle niezawodność 0,8 lub więcej oznacza, że system można uznać za wysoce niezawodny produkt.
Tutaj bardzo ważne jest, aby zauważyć, że długość testu pozostaje taka sama, jeśli mamy 10 kroków w przypadku testowym, wtedy liczba kroków pozostanie taka sama do wykonania testu następnym razem.
Rozważ konkretny Przykład osoby przystępującej do „testu IQ” i zdobywającej 144 punkty. Po 6 miesiącach przystępuje do tego samego „testu IQ” i uzyskuje 68 punktów. W takim przypadku nie można go uznać za „wiarygodne” źródło.
2) Równoległa lub alternatywna forma niezawodności
Nazywa się to tak, ponieważ testerzy przeprowadzają test w dwóch formach jednocześnie.
3) Niezawodność między oceniającymi
Niezawodność między oceniającymi jest inaczej znana jako niezawodność między obserwatorami lub niezawodność między koderami. Jest to szczególny rodzaj wiarygodności, na który składa się wielu oceniających lub sędziów. Zajmuje się spójnością ocen wystawianych przez różnych oceniających / obserwatorów.
Na przykład , rozważ uczestnika biorącego udział w konkursie śpiewu i zdobywającego 9,8,9 (z 10) punktów od wielu sędziów. Ten wynik można uznać za „wiarygodny”, ponieważ jest dość spójny. Ale jeśli uzyskał 9,3,7 (na 10), nie można tego uznać za „wiarygodny”.
Uwaga: Oceny te będą w dużym stopniu zależeć od ogólnego porozumienia między różnymi sędziami / oceniającymi. Po wykonaniu serii obserwacji możesz zdecydować, że istnieje pewna stabilność wyników i po tym okresie możemy powiedzieć, że są one spójne.
Zatem stabilność punktacji jest miarą wielu obserwatorów. Bardzo ważne jest, aby zauważyć, że umiejętności obserwatora również odgrywają ważną rolę, jeśli chodzi o omówienie wiarygodności oceniającego. Aby poprawić wiarygodność oceniających, osoby oceniające potrzebują przeszkolenia lub odpowiednich wskazówek.
Rozważ powyższy arkusz Excela i zobacz oceny wystawione przez dwóch różnych oceniających Rater1 i Rater2 dla 12 różnych pozycji. Rater1 niezależnie oceniał na tablicy wyników. Tutaj, korzystając z tablicy wyników, obliczymy teraz procent zgodności między dwoma oceniającymi. Nazywa się to rzetelnością między oceniającymi lub zgodnością między oceniającymi między dwoma oceniającymi.
W trzeciej kolumnie wstawimy „1”, jeśli wyniki podane przez oceniających są zgodne. Damy „0”, jeśli wyniki są zgodne. Następnie znajdziemy liczby „1” i „0” w kolumnie. Oto 8.
pytania i odpowiedzi do wywiadu z administratorem informatica
Liczba „1” = 8
Całkowita liczba elementów = 12
Procent zgodności = (8/12) * 100 = 67%. 67% to nie tak dużo. Osoby oceniające muszą być bardziej zgodne, aby mogli omówić i odpowiednio poprawić wynik.
Różne typy testów niezawodności
W celach informacyjnych poniżej omówiono różne rodzaje testów niezawodności:
1) Testowanie funkcji:
Testowanie to określa przydatność, tj. Sprawdza, czy aplikacja działa zgodnie z oczekiwaniami w przypadku jej użycia z wcięciem. Tutaj sprawdzi współdziałanie aplikacji w celu przetestowania jej z innymi komponentami oraz systemem, który współdziała z aplikacją.
Zapewnia dokładność systemu w celu sprawdzenia, czy nie znaleziono błędów podczas Testowanie beta .
Poza tym testuje pewne zabezpieczenia i zgodność. Testy bezpieczeństwa wiąże się z zapobieganiem nieuprawnionemu dostępowi do aplikacji umyślnie lub nieumyślnie. Zgodnie z powyższym sprawdzimy, czy aplikacja spełnia określone kryteria, takie jak standard, regulamin itp.
2) Testowanie obciążenia
Testowanie obciążenia sprawdzi, jak dobrze system działa w porównaniu z systemem konkurencji lub wydajnością. Opiera się również na liczbie jednoczesnych użytkowników korzystających z systemu i zachowaniu systemu wobec użytkowników.
System musi reagować na polecenia użytkownika z krótszym czasem odpowiedzi (powiedzmy 5 sekund) i spełniać oczekiwania użytkownika.
3) Testowanie regresji
W Testowanie regresji , sprawdzimy, czy system działa dobrze i czy w wyniku dodania nowej funkcjonalności do oprogramowania nie pojawiły się żadne błędy. Odbywa się to również po naprawieniu błędu i tester musi go ponownie przetestować.
Plan testów niezawodności
Podczas różnych faz SDLC (cyklu życia oprogramowania), użytkownicy mogą zadawać wiele pytań dotyczących przyszłości produktu, takich jak „czy są niezawodne, czy nie”. Musimy mieć jasne rozwiązanie takich pytań. Przy odpowiednim modelu możemy przewidzieć produkt.
Te dwa typy modeli obejmują:
- Model prognozowania
- Model szacowania
W testach predykcyjnych przewidujemy wynik na podstawie danych historycznych, statystyk oraz uczenia maszynowego. Wystarczy napisać raport. W modelu predykcyjnym otrzymujemy tylko niektóre informacje historyczne. Korzystając z tych informacji, możemy skonstruować wykres rozrzutu i narysować linię ekstrapolacji do istniejących danych historycznych oraz możemy przewidzieć nadchodzące dane.
Ten typ modelu jest wykonywany przed samym etapem rozwoju lub testowania. W testach estymacyjnych, oprócz wykorzystania danych historycznych, będziemy korzystać z danych bieżących. Tutaj możemy przewidzieć niezawodność produktu w chwili obecnej lub w przyszłości. Ten typ testów jest wykonywany na ostatnich etapach Cykl życia rozwoju oprogramowania .
Narzędzia do testowania niezawodności
Testerzy muszą określić oszacowanie niezawodności oprogramowania. Doprowadzi to do użycia różnych narzędzi w niezawodności oprogramowania.
Używając znormalizowanego narzędzia, możemy:
- Wykryj informacje o awarii.
- Wybierz prawidłowy model, aby wykonać prognozę dotyczącą oprogramowania.
- Generuj raporty o awariach.
Na rynku dostępnych jest wiele narzędzi do pomiaru niezawodności oprogramowania, a niektóre z nich wymieniono poniżej:
CASRE (narzędzie do szacowania niezawodności oprogramowania wspomaganego komputerowo): To nie jest oprogramowanie darmowe, musimy je kupić.
Narzędzie do pomiaru niezawodności CASRE jest zbudowane w oparciu o istniejące modele niezawodności, które pomagają w lepszej ocenie niezawodności produktu programowego. Graficzny interfejs użytkownika narzędzia zapewnia lepsze zrozumienie niezawodności oprogramowania i jest również bardzo łatwy w użyciu.
Podczas testu pomaga użytkownikom dowiedzieć się, czy niezawodność systemu rośnie, czy maleje podczas korzystania z zestawu danych dotyczących awarii. Carse zapewnia widok 2D, wykreślając liczbę awarii w stosunku do czasu interwału testu, dzięki czemu użytkownik może uzyskać wykres przedstawiający system, jak pokazano na poniższym rysunku.
Korzystanie CASRE
- Użytkownik może wybrać dane awarii.
- Określając, jak daleko w przyszłości chcemy przewidzieć niezawodność produktu.
- Wybierz modele niezawodności.
- Wybierz odpowiedni model dla wyniku.
- Wydrukuj wynik błędu.
- Zapisz wynik na dysku.
Inne narzędzia używane do testowania niezawodności obejmują SOFTREL , SoRel (analiza i przewidywanie niezawodności oprogramowania), WEIBULL ++ itp.
Wniosek
Testowanie niezawodności jest kosztowne w porównaniu z innymi formami testowania. Dlatego, aby robić to efektywnie kosztowo, musimy mieć odpowiedni Plan testów i zarządzanie testami.
W SDLC test niezawodności odgrywa ważną rolę. Jak wyjaśniono powyżej, użycie metryk niezawodności zapewni niezawodność oprogramowania i pozwoli przewidzieć przyszłość oprogramowania. Często trudno jest uzyskać niezawodność oprogramowania, jeśli jest ono bardzo złożone.
rekomendowane lektury
- Najlepsze narzędzia do testowania oprogramowania 2021 (Narzędzia do automatyzacji testów QA)
- Asystent testowania oprogramowania
- Kurs testowania oprogramowania: Do którego Instytutu Testowania Oprogramowania mam dołączyć?
- Wybór testowania oprogramowania jako swojej kariery
- Testowanie oprogramowania Praca pisarz treści technicznych Freelancer
- Testowanie aplikacji - podstawy testowania oprogramowania!
- Co to jest testowanie regresji? Definicja, narzędzia, metoda i przykład
- Kilka interesujących pytań do rozmowy kwalifikacyjnej dotyczącej testowania oprogramowania