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 |
|
Testy niefunkcjonalne |
|
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.