46.Co to jest testowanie, weryfikacja i walidacja oprogramowania? Podaj przykłady.
Testowanie: sprawdzanie, czy system działa tak, jak założono w specyfikacji.
Przykłady:
–Testowanie komponentów: Testuje się poszczególne komponenty, aby zapewnić, że działają poprawnie;
–Testowanie modułów: Moduł jest kolekcją niezależnych komponentów takich jak klasy obiektów, abstrakcyjne typy danych, albo bardziej luźną kolekcją procedur i funkcji;
–Testowanie podsystemów: Ta faza obejmuje testowanie kolekcji modułów, które zintegrowano w podsystemie;
–Testowanie systemu: Ten proces testowania ma wykryć błędy wynikające z nieprzewidzianych interakcji między zintegrowanymi podsystemami i problemów z interfejsami podsystemów;
–Testowanie odbiorcze: Jest to końcowa faza procesu testowania przed przyjęciem systemu do użytkowania;
Weryfikacja: testowanie zgodności systemu z wymaganiami zdefiniowanymi w fazie określenia wymagań.
Walidacja (atestowanie): ocena systemu lub komponentu podczas lub na końcu procesu jego rozwoju na zgodności z wyspecyfikowanymi wymaganiami. Atestowanie jest więc weryfikacją końcową.
-Przeglądy techniczne oraz inspekcje oprogramowania.
-Sprawdzanie czy wymagania na oprogramowanie są zgodne z wymaganiami użytkownika.
-Sprawdzanie czy komponenty projektu są zgodne z wymaganiami na oprogramowanie.
-Testowanie jednostek oprogramowania (modułów).
-Testowanie integracji oprogramowania, testowanie systemu.
-Testowanie akceptacji systemu przez użytkowników
-Audyt.
47.Omów istotę i przykłady metod prognostycznego badania jakości oprogramowania.
Badanie prognostyczne: badanie
gdy nie ma jeszcze kodu. Zanim powstanie implementacja oprogramowania, jego przyszłe działanie jest badane na podstawie założeń analitycznych/ projektowych.
Zalety:
-Zwiększenie prawdopodobieństwa uniknięcia lub zmniejszenia oddziaływania zjawiska propagacji błędów,
-Stosunkowo niskie koszty testowania,
-Możliwość przebadania wielu różnych projektów oprogramowania w celu wyboru najlepszego do implementacji.
Wady:
-Bazowanie na modelu oprogramowania, co może zmniejszyć dokładność badania (potencjalna rozbieżność z właściwościami implemetacyjnymi).
48.Omów istotę i przykłady metod prognostycznego badania jakości oprogramowania.
Badanie diagnostyczne: badanie gdy istnieje kod źródłowy; Składa się z:
-Analiza dynamiczna: eksperymentowanie z działającym kodem programu;
-Analiza statyczna: praca z kodem źródłowym w celu rozpoznania funkcjonalności testowanego kodu i
zaprojektowania odpowiednich testów;
-wykrywanie anomalii:
defekt: nieprawidłowe działanie człowieka w procesie wytwarzania, np. złe sformułowanie wymagań, zła decyzja projektowa, pomyłka w implementacji;
–Błąd: każde zdarzenie, w wyniku którego kod produkuje nieoczekiwany rezultat;
–Awaria: stan, w którym program nie jest zdolny wykonać prawidłowo co najmniej jednej ze swoich funkcji;
49.Wymień i omów składowe jakości oprogramowania na drugim poziomie drzewa jakości.
Drugi poziom to: ADEKWATNOŚĆ
:
-Kompletność
-Racjonalność funkcjonalna
-Racjonalność komunikacyjna
-Zwartość funkcjonalna
Tu niestety nichuja nie ma w wykładach a w necie tez niewiele znalazłem, ale dosyć intuicyjne wiec można polać wodę.
50.Omów główne klasy błędów w systemach informatycznych.
błędy wymagań i analizy: złe sformułowanie problemu, zaniedbanie istotnych parametrów, niewłaściwy algorytm
błędy projektowania: błędna interpretacja wymagań, błędy logiczne
błędy opracowania (danych) szczegółowej struktury programu: zła interpretacja wymagań dla programu, niepełność struktury programu, nie uwzględnienie przypadków szczególnych, niedostateczne dopracowanie błędów, zlekceważenie warunków czasowych;
błędy kodowania: syntaktyczne, zazwyczaj rozpoznawane przez kompilator, błędy merytoryczne (nieprawidłowe korzystanie z indeksów i wskaźników, zły przydział pamięci, pominięcie inicjalizacji zmiennych, pomieszanie parametrów funkcji, błąd w pętlach, zamiana wyników decyzji w instrukcjach warunkowych, błędy deklaracji typów i wymiarów danych, błędy zakresów wartości danych,
błędy kompilacji i konsolidacji: błędy kompilatora, błędy w zakresach nazw itp.
51.Omów czynności procesu testowania oprogramowania.
Testowanie komponentów <-> Testowanie modułów <-> testowanie podsystemów <-> testowanie systemów <-> testowanie odbiorcze;
-testowanie komponentów: Testuje się poszczególne komponenty, aby zapewnić, że działają poprawnie
-testowanie modułów: Moduł jest kolekcją niezależnych komponentów takich jak klasy obiektów, abstrakcyjne typy danych, albo bardziej luźną kolekcją procedur i funkcji.
-testowanie podsystemów: Ta faza obejmuje testowanie kolekcji modułów, które zintegrowano w podsystemie.
- testowanie systemu: Podsystemy zintegrowano już w system. Ten proces testowania ma wykryć błędy wynikające z nie przewidzianych interakcji między podsystemami i problemów z interfejsami podsystemów.
- testowanie odbiorcze: Jest to końcowa faza procesu testowania przed przyjęciem systemu do użytkowania.
ewao