"Wsparcie procesu decyzyjnego dla metodyk zwinnych w procesie testowania z wykorzystaniem modeli z obszaru teorii niezawodności." Click to edit Master subtitle style Krzysztof Senczyna
Agenda 1. Software Testing 2. Software Reliability 3. Opis metody estymacji MTTF 4. Podsumowanie 5. Dyskusja
Software testing Software testing celem jest wyszukiwanie błędów, nie jest możliwe do udowodnienia że, dany produkt IT ma zero błędów jest fault free. Problem udowodnienia statusu fault free jest problemem spełnialności, który jest rozstrzygalny definitywnie jeżeli można sprawdzić True/False wszystkie przypadki, których jest 2N (gdzie N to liczba zmiennych w programie ). Problem NP zupełny złożoność wykładnicza
Software testing Modele w procesie testowania programowania : Waterfall V-model Model spiralny Agile /SCRUM
Software testing Waterfall
Software testing V-model http://www.saic.com/india/capabilities/test.html
Software testing Model spiralny
Software testing Agile/Scrum
Software Reliability błąd powstaje w trakcie procesu projektowania, tworzenia SW w wielu rozmaitych fazach tego procesu ( error, fault, failure). różni się od HW reliability dotyczy bardziej wierności w odwzorowaniu i przenoszeniu projektu w domenę IT. zużycie SW nie posiada fazy zużycia ( ageing ), nie męczy się, autostart/upgrade czasem pomaga a czasem nie pomaga powrócić do pierwotnego/lepszego stanu działania. czynniki środowiskowe uruchomieniowe mają wpływ na wynik pracy SW szacowanie wartości SR nie jest możliwe z użyciem typowego rozumowania np.: teorii z obszaru fizyki, należy budować modele a potem je weryfikować. modele szacowania SW Reliability są ciągle w powijakach, jest to ciągle obszar otwarty na tworzenie nowych rozwiązań. All models are wrong, but some are useful George Edward Pelham Box Professor of Statistics at the University of Wisconsin.
Rozkład Weibulla ciągły rozkład prawdopodobieństwa często stosowany w analizie przeżycia do modelowania sytuacji, gdy prawdopodobieństwo śmierci/awarii zmienia się w czasie. 10
Software Reliability
Software Reliability
Opis metody estymacji MTTF Model jest użyteczny dla kombinacji struktury: HW+SW, Klient jest zainteresowany szacowaniem wartości parametrów MTTF i jest być może skłonny wydzielić budżet na badania w tej dziedzinie. Projekt jest na etapie ¾ ważne staje się optymalne szacowanie momentu zamknięcia. Istnieje niezależna metoda szacująca wartości MTTF dla kilku pierwszych cykli iteracyjnych.
Opis metody estymacji MTTF Cykl Weibull /GOF MTTF 1 0.34 100 2 0.25 125 3 0.17 138 4 0.16 200 5 0.15 300 (estymacja/mod el) 0.1?
Opis metody estymacji MTTF Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 P redic t 12 Weibull 0.34 0.25 0.17 0.16 0.15 0.1 TTF 100 125 138 200 300 370.66 10 8 TTF 6 4 2 0 0 2 4 6 8 10 12 Weibull / GOF (Goodness of Fit)
Opis metody estymacji MTTF Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 P redic t Weibull 0.34 0.25 0.17 0.16 0.15 0.1 f(x) = 1,#NANx 12TTF 100 125 138 200 300 255.37 linowa nie pasuje R² = 1,#NAN 10 8 TTF 6 4 2 0 0 2 4 6 8 10 12 Weibull
Opis metody estymacji MTTF Przykładowe obliczenia Funkcja regresji dla tego przykładu ma postać: Y= 7976 x2 4600 x +752 Zakładając, że celem jest osiągniecie czasu MTTF większego niż 350 Po rozwiązaniu równania kwadratowego: 7976 x2 4600 x +752 =350 GOF 350=0.11
Opis metody estymacji MTTF Interpretacja wyniku : GOF 350=0.11 jest taka że: jeżeli z wyników testowania w następnym cyklu lub kolejnym następnym wartość GOF będzie niższa od 0,11 to możemy przypuszczać, że MTTF będzie wyższe niż 350.
Podsumowanie zakres stosowania ustabilizowana wersja HW+SW, projekt w fazie ¾. warunkiem stosowania jest posiadanie metody wyznaczania wartości MTTF dla pierwszych cyklów trudne jest oszacowanie błędu metody, jest to możliwe min: przez porównanie z wynikami realnymi na późniejszym etapie rozwoju produktu
Dyskusja Wnioski/Uwagi /Propozycje Dziękuję za udział i poświęconą uwagę Krzysztof Senczyna krzysen@poczta.onet.pl