Testy funkcjonalności - Functional testing

Testowanie funkcjonalne to proces zapewniania jakości (QA) i rodzaj testowania czarnoskrzynkowego, który opiera swoje przypadki testowe na specyfikacjach testowanego komponentu oprogramowania. Funkcje są testowane poprzez wprowadzanie do nich danych wejściowych i sprawdzanie danych wyjściowych, a wewnętrzna struktura programu jest rzadko brana pod uwagę (w przeciwieństwie do testowania białoskrzynkowego ). Testy funkcjonalne są przeprowadzane w celu oceny zgodności systemu lub komponentu z określonymi wymaganiami funkcjonalnymi . Testy funkcjonalne zazwyczaj opisują, co robi system.

Ponieważ testowanie funkcjonalne jest rodzajem testowania czarnoskrzynkowego, funkcjonalność oprogramowania można testować bez znajomości jego wewnętrznego działania. Oznacza to, że testerzy nie muszą znać języków programowania ani sposobu implementacji oprogramowania. To z kolei może prowadzić do zmniejszenia błędu programisty (lub błędu potwierdzenia ) w testowaniu, ponieważ tester nie był zaangażowany w tworzenie oprogramowania.

Testowanie funkcjonalne nie oznacza, że ​​testujesz funkcję (metodę) swojego modułu lub klasy. Testy funkcjonalne sprawdzają wycinek funkcjonalności całego systemu.

Testowanie funkcjonalne różni się od testowania systemowego tym, że testowanie funkcjonalne " weryfikuje program, porównując go z ... dokumentami projektowymi lub specyfikacjami", podczas gdy testowanie systemowe " weryfikuje program, porównując go z opublikowanym użytkownikiem lub wymagania systemowe."

Rodzaje

Testowanie funkcjonalne ma wiele rodzajów:

Sześć kroków

Testowanie funkcjonalne obejmuje zazwyczaj sześć kroków

  1. Identyfikacja funkcji, które ma spełniać oprogramowanie
  2. Tworzenie danych wejściowych na podstawie specyfikacji funkcji
  3. Określanie mocy wyjściowej na podstawie specyfikacji funkcji
  4. Wykonanie przypadku testowego
  5. Porównanie rzeczywistych i oczekiwanych wyników
  6. Aby sprawdzić, czy aplikacja działa zgodnie z potrzebami klienta.

Zobacz też

  • Testy niefunkcjonalne  – Testowanie oprogramowania komputerowego pod kątem sposobu jego działania, a nie konkretnych zachowań lub funkcji
  • Testy akceptacyjne  – Test w celu ustalenia, czy wymagania specyfikacji lub umowy są spełnione
  • Testowanie regresji  – sprawdzanie, czy zmiany w oprogramowaniu zepsuły funkcjonalność, która kiedyś działała
  • Testowanie systemu  – Testowanie przeprowadzane na kompletnym zintegrowanym systemie oprogramowania
  • Testowanie oprogramowania  – Badanie wydajności i niezawodności oprogramowania w wykonywaniu zamierzonej funkcji
  • Testowanie integracyjne  – Faza testowania oprogramowania, w której poszczególne moduły oprogramowania są łączone i testowane jako grupa
  • Testowanie jednostkowe  — metoda testowania oprogramowania, za pomocą której walidowane są poszczególne jednostki kodu źródłowego
  • Testowanie baz danych  – Testowanie systemów oprogramowania bazodanowego
  • Testowanie bezpieczeństwa  – Proces znajdowania luk w bezpieczeństwie systemów informatycznych
  • Testy obciążeniowe  – proces nakładania wymagań na system oprogramowania i mierzenia jego odpowiedzi
  • Automatyzacja testów  – Użycie specjalnego oprogramowania (oddzielnego od tego, co jest testowane) do kontroli wykonywania testów i porównywania wyników rzeczywistych z wynikami przewidywanymi

Bibliografia