Co to jest testowanie oprogramowania? Definicja, podstawy i Rodzaje

Spisie treści:

Anonim

Testowanie oprogramowania

Testowanie oprogramowania to metoda sprawdzania, czy rzeczywisty produkt spełnia oczekiwane wymagania i zapewnia, że ​​oprogramowanie jest wolne od defektów. Obejmuje wykonanie komponentów oprogramowania / systemu przy użyciu ręcznych lub zautomatyzowanych narzędzi do oceny jednej lub więcej interesujących właściwości. Celem testowania oprogramowania jest identyfikacja błędów, luk lub brakujących wymagań w przeciwieństwie do rzeczywistych wymagań.

Niektórzy wolą mówić o testowaniu oprogramowania jako o testach białej skrzynki i testach czarnoskrzynkowych. Mówiąc najprościej, testowanie oprogramowania oznacza weryfikację testowanej aplikacji (AUT). Ten samouczek przedstawia odbiorcom oprogramowanie do testowania i uzasadnia jego znaczenie.

W tym samouczku dowiesz się:

  • Co to jest testowanie oprogramowania?
  • Dlaczego testowanie oprogramowania jest ważne?
  • Jakie są zalety testowania oprogramowania?
  • Testowanie w inżynierii oprogramowania
  • Rodzaje testowania oprogramowania
  • Strategie testowania w inżynierii oprogramowania
  • Testowanie programów

Dlaczego testowanie oprogramowania jest ważne?

Testowanie oprogramowania jest ważne, ponieważ jeśli w oprogramowaniu są jakieś błędy lub błędy, można je wcześnie zidentyfikować i rozwiązać przed dostarczeniem oprogramowania. Odpowiednio przetestowane oprogramowanie zapewnia niezawodność, bezpieczeństwo i wysoką wydajność, co dodatkowo przekłada się na oszczędność czasu, opłacalność i satysfakcję klienta.

Testowanie jest ważne, ponieważ błędy w oprogramowaniu mogą być kosztowne lub nawet niebezpieczne. Błędy w oprogramowaniu mogą potencjalnie spowodować straty finansowe i ludzkie, a historia jest pełna takich przykładów.

  • W kwietniu 2015 r. Terminal Bloomberg w Londynie uległ awarii z powodu usterki oprogramowania, która dotknęła ponad 300 000 traderów na rynkach finansowych. Zmusiło to rząd do odroczenia sprzedaży długu o wartości 3 mld funtów.
  • Samochody Nissana wycofały z rynku ponad 1 milion samochodów z powodu awarii oprogramowania czujników sensorycznych poduszek powietrznych. Zgłoszono dwa wypadki spowodowane tą awarią oprogramowania.
  • Starbucks został zmuszony do zamknięcia około 60 procent sklepów w USA i Kanadzie z powodu awarii oprogramowania w swoim systemie POS. W pewnym momencie sklep podawał kawę za darmo, ponieważ nie był w stanie przetworzyć transakcji.
  • Niektórzy zewnętrzni sprzedawcy Amazon zauważyli, że ich cena została obniżona do 1 pensa z powodu usterki oprogramowania. Zostali z dużymi stratami.
  • Luka w systemie Windows 10. Ten błąd umożliwia użytkownikom ucieczkę z bezpiecznych piaskownic przez lukę w systemie win32k.
  • W 2015 roku samolot myśliwski F-35 padł ofiarą błędu oprogramowania, który uniemożliwiał prawidłowe wykrywanie celów.
  • China Airlines Airbus A300 rozbił się z powodu błędu oprogramowania 26 kwietnia 1994 r., Zabijając na żywo 264 niewinnych
  • W 1985 roku kanadyjska maszyna do radioterapii Therac-25 uległa awarii z powodu błędu oprogramowania i dostarczyła pacjentom śmiertelne dawki promieniowania, pozostawiając 3 osoby martwe i krytycznie ranne 3 inne.
  • W kwietniu 1999 r. Błąd w oprogramowaniu spowodował niepowodzenie wyniesienia wojskowego satelity o wartości 1,2 miliarda dolarów, najbardziej kosztowny wypadek w historii
  • W maju 1996 roku błąd w oprogramowaniu spowodował, że rachunki bankowe 823 klientów dużego banku w USA zostały zasilone kwotą 920 milionów dolarów.

Kliknij tutaj, jeśli wideo nie jest dostępne

Jakie są zalety testowania oprogramowania?

Oto zalety korzystania z testowania oprogramowania:

  • Opłacalność: jest to jedna z ważnych zalet testowania oprogramowania. Terminowe testowanie dowolnego projektu informatycznego pomaga zaoszczędzić pieniądze w dłuższej perspektywie. W przypadku wykrycia błędów na wcześniejszym etapie testowania oprogramowania, ich naprawa kosztuje mniej.
  • Bezpieczeństwo: jest to najbardziej wrażliwa i wrażliwa korzyść z testowania oprogramowania. Ludzie szukają zaufanych produktów. Pomaga we wcześniejszym usuwaniu zagrożeń i problemów.
  • Jakość produktu: Jest to podstawowy wymóg każdego oprogramowania. Testowanie zapewnia dostarczanie klientom produktu wysokiej jakości.
  • Zadowolenie klienta: Głównym celem każdego produktu jest satysfakcja klientów. Testowanie UI / UX zapewnia najlepsze wrażenia użytkownika.

Testowanie w inżynierii oprogramowania

Zgodnie z ANSI / IEEE 1059, testowanie w inżynierii oprogramowania to proces oceny produktu oprogramowania w celu ustalenia, czy bieżący produkt spełnia wymagane warunki, czy nie. Proces testowania obejmuje ocenę funkcji oprogramowania pod kątem wymagań pod względem brakujących wymagań, błędów lub błędów, bezpieczeństwa, niezawodności i wydajności.

Rodzaje testowania oprogramowania

Zazwyczaj testowanie dzieli się na trzy kategorie.

  • Testy funkcjonalności
  • Testy niefunkcjonalne lub testy wydajności
  • Utrzymanie (regresja i utrzymanie)

Kategoria testowania Rodzaje testów
Testy funkcjonalności
  • Testów jednostkowych
  • Testy integracyjne
  • Palić
  • UAT (test akceptacji użytkownika)
  • Lokalizacja
  • Globalizacja
  • Interoperacyjność
  • Wkrótce
  • Testy niefunkcjonalne
  • Wydajność
  • Wytrzymałość
  • Załaduj
  • Tom
  • Skalowalność
  • Użyteczność
  • Wkrótce
  • Konserwacja
  • Regresja
  • Konserwacja
  • To nie jest pełna lista, ponieważ istnieje ponad 150 rodzajów typów testów i wciąż się je dodaje. Należy również zauważyć, że nie wszystkie typy testów mają zastosowanie do wszystkich projektów, ale zależą od charakteru i zakresu projektu.

    Strategie testowania w inżynierii oprogramowania

    Oto ważne strategie w inżynierii oprogramowania:

    Testowanie jednostkowe: To podejście do testowania oprogramowania jest stosowane przez programistę w celu przetestowania jednostki programu. Pomaga programistom dowiedzieć się, czy pojedyncza jednostka kodu działa poprawnie, czy nie.

    Testowanie integracji: koncentruje się na budowie i projektowaniu oprogramowania. Musisz zobaczyć, czy zintegrowane jednostki działają bez błędów lub nie.

    Testowanie systemu: w tej metodzie oprogramowanie jest kompilowane jako całość, a następnie testowane jako całość. Ta strategia testowania sprawdza między innymi funkcjonalność, bezpieczeństwo, przenośność.

    Testowanie programów

    Testowanie programów w testowaniu oprogramowania to metoda wykonywania rzeczywistego programu w celu przetestowania zachowania programu i znalezienia błędów. Program jest wykonywany z danymi przypadków testowych w celu analizy zachowania programu lub odpowiedzi na dane testowe. Dobre testowanie programu to takie, które ma duże szanse na znalezienie błędów.

    Podsumowanie podstaw testowania oprogramowania:

    • Testowanie oprogramowania jest definiowane jako czynność mająca na celu sprawdzenie, czy rzeczywiste wyniki odpowiadają oczekiwanym wynikom i zapewnienie, że system oprogramowania jest wolny od wad.
    • Testowanie jest ważne, ponieważ błędy w oprogramowaniu mogą być kosztowne lub nawet niebezpieczne.
    • Ważne są powody korzystania z testowania oprogramowania: opłacalność, bezpieczeństwo, jakość produktu i satysfakcja klienta.
    • Zazwyczaj testowanie dzieli się na trzy kategorie: testowanie funkcjonalne, testowanie niefunkcjonalne lub testowanie wydajności oraz konserwacja.
    • Ważnymi strategiami w inżynierii oprogramowania są: testy jednostkowe, testy integracyjne, testy walidacyjne i testy systemowe.