,

Co to jest testowanie?

Testowanie to termin bardzo ogólny. Testować można niemalże wszystko. Od usług, produktów spożywczych przez sprzęt elektroniczny, samochody, aż po oprogramowanie i systemy komputerowe. Dlatego nie ma jednej, uniwersalnej definicji testowania. Może się ona różnić w zależności od kontekstu, celu testowania oraz samego obiektu poddawanego testom. Jest jednak część wspólna – testujemy zazwyczaj po to, żeby zweryfikować obiekt poddawany testom pod kątem dopasowania do zdefiniowanych wymagań oraz zweryfikować jego jakość.

W dalszej części tego wpisu skupię się na testowaniu oprogramowania.

Testowanie oprogramowania to proces używany do weryfikacji poprawności, kompletności i jakości wytwarzanego oprogramowania komputerowego. Oceniane są wówczas właściwości programu bądź systemu komputerowego w celu określenia czy spełnia on założone wymagania oraz czy generuje pożądane rezultaty.

Podczas tego procesu wykonywanych jest szereg czynności mających na celu wyszukiwanie różnego rodzaju błędów. Identyfikowane są wszelkie odstępstwa od specyfikacji i problemy w funkcjonowaniu oprogramowania poddawanego testom – tzw. defekty. W rezultacie możemy mierzyć jakość oprogramowania, rozumianą właśnie jako liczba znalezionych błędów w stosunku do wymagań funkcjonalnych oraz niefunkcjonalnych. Innymi słowy testowanie to wszelkie działania polegające na wyszukiwaniu błędów w systemie w oparciu o zdefiniowane warunki oraz ocena rezultatów przeprowadzonych działań w oparciu o zdefiniowane metryki.

Testowanie często rozumiane jest jako zajęcie polegające na wykonywaniu testów uruchomionego oprogramowania (testy dynamiczne). Jest to wyobrażenie właściwe, lecz dotyczy tylko częściowo tego czym faktycznie jest testowanie. Należy zdawać sobie sprawę, że czynności dotyczące testowania występują zarówno przed jak i po wykonaniu testów uruchomionego oprogramowania. Oznacza to, że można testować również bez uruchamiania oprogramowania (testy statyczne) np. dokonując przeglądów dokumentacji projektowej oraz analizy statycznej kodu.

Wczesne testowanie.

Testy statyczne można wykonywać jeszcze zanim rozpocznie się proces wytwórczy oprogramowania lub na jego bardzo wczesnym etapie. Jakie to ma znaczenie?

Zadania testowe wykonywane na początku cyklu życia oprogramowania mogą zapobiec wprowadzaniu defektów do kodu źródłowego. lm wcześniej błąd zostanie wykryty tym będzie miał mniejszy wpływ na pozostałe elementy projektowanego systemu. Poprawienie błędu w wymaganiach na etapie dokumentowania projektu nie będzie wymagało poprawy implementacji oprogramowania. Intuicyjnie można zatem stwierdzić, że usunięcie defektów wykrytych na wczesnym etapie cyklu życia oprogramowania jest dużo łatwiejsze i mniej czasochłonne, a więc również tańsze niż usunięcie defektów wykrytych podczas wykonywania późniejszych testów. Przypuszczenia potwierdzają analizy takie jak przedstawiona tutaj :https://www.isixsigma.com/industries/software-it/defect-prevention-reducing-costs-and-enhancing-quality/.

Testowanie to jednak nie tylko wykonywanie testów. Do czynności wchodzących w skład procesu testowania można zaliczyć także:

  • planowanie,
  • nadzorowanie,
  • ustalanie warunków testowych,
  • projektowanie zadań testowych,
  • porównywanie wyników,
  • ocena kryteriów zakończenia,
  • raporty dotyczące procesu testowego i testowanej aplikacji,
  • zakończenie i zamykanie testów (po zakończeniu fazy testów).

Wszystkie powyższe czynności mają na celu doprowadzić do tego żeby dostarczany do klienta/odbiorcy końcowego, finalny produkt był jak najwyższej jakości i spełniał założone wymagania.

Dodaj komentarz