Testowanie konwencjonalne a testowanie obiektowe
Testowanie oprogramowania to jeden z najważniejszych kroków w procesie tworzenia oprogramowania. Testowanie oprogramowania daje pewność, że opracowane oprogramowanie spełnia wszystkie wymagania klienta i działa bezbłędnie. Ponieważ paradygmaty i techniki rozwoju oprogramowania przeszły od początkowego rozwoju oprogramowania kaskadowego do OOD / Agile i innych nowszych koncepcji, testowanie również zmieniło się z konwencjonalnego (tradycyjnego) testowania na testowanie obiektowe (OOT). Ale ponieważ rozwój kaskadowy jest nadal w użyciu, testerzy nadal używają konwencjonalnych testów.
Co to jest badanie konwencjonalne?
Konwencjonalny proces testowania ma miejsce głównie wtedy, gdy cykl życia kaskadowego jest używany do tworzenia oprogramowania w organizacjach. Konwencjonalne testowanie ma miejsce zawsze w fazie testowej w cyklu życia, która zwykle następuje po fazie rozwoju i przechodzi do fazy wdrażania. W tej fazie testów zostaną przeprowadzone głównie trzy rodzaje testów. Testowanie systemu upewni się, że funkcje systemu spełniają wymagania klienta udokumentowane w SRS (Specyfikacja wymagań oprogramowania), zwykle przyjmując podejście czarnej skrzynki. Testowanie integracyjne testuje wstępny projekt, stosując podejście funkcjonalne i dekompozycję. Testowanie integracyjne opiera się na strukturze projektu z zastosowaniem podejścia odgórnego lub oddolnego. Wreszcie testy jednostkowe zapewniają, że szczegółowy projekt jest poprawny.
Co to jest testowanie obiektowe?
Korzystanie z analizy i projektowania zorientowanego obiektowo (OO) wraz z Agile i innymi najnowszymi metodologiami tworzenia oprogramowania prowadzi do testowania zorientowanego obiektowo. Rozwój OO zwykle koncentruje się na zachowaniu. Testowanie odbywa się z naciskiem na kompozycję. Oznacza to, że projekt jest tworzony kawałek po kawałku i komponowany razem, aby uzupełnić cały system. Ponieważ obecnie do tworzenia obiektów obiektowych stosuje się szybkie prototypowanie i pewną formę podejścia przyrostowego, trzy konwencjonalne poziomy testowania (system, integracja i testy jednostkowe) nie są wyraźnie widoczne w projektowaniu obiektów obiektowych (ale istnieją przez większość czasu). Testowanie systemowe (w ramach testów obiektowych) będzie przebiegać w podobny sposób (czarna skrzynka) jak testowanie konwencjonalne i będzie sprawdzać specyfikację wymagań (ponieważ wymagania muszą być weryfikowane niezależnie od procesu tworzenia). Testowanie jednostkowe w ramach testowania obiektowego jest podobne do konwencjonalnego testowania jednostkowego, ale podstawowa różnica polega na definicji używanej jednostki. Obecnie akceptowanymi jednostkami używanymi do testów jednostkowych są klasy i metody.
Jaka jest różnica między testowaniem konwencjonalnym a testowaniem obiektowym?
Testowanie konwencjonalne jest tradycyjnym podejściem do testowania, które najczęściej wykonuje się, gdy cykl życia wodospadu jest używany do programowania, podczas gdy testowanie zorientowane obiektowo jest używane, gdy analiza i projektowanie zorientowane obiektowo jest wykorzystywane do tworzenia oprogramowania dla przedsiębiorstw. Testowanie konwencjonalne koncentruje się bardziej na dekompozycji i podejściu funkcjonalnym, w przeciwieństwie do testowania zorientowanego obiektowo, które wykorzystuje kompozycję. Trzy poziomy testowania (systemowy, integracyjny, jednostkowy) stosowane w testowaniu konwencjonalnym nie są jasno zdefiniowane, jeśli chodzi o testowanie obiektowe. Głównym tego powodem jest fakt, że w programowaniu obiektowym stosuje się podejście przyrostowe, podczas gdy w rozwoju tradycyjnym stosuje się podejście sekwencyjne. Jeśli chodzi o testowanie jednostkowe, testowanie obiektowe obejmuje znacznie mniejsze jednostki w porównaniu z testowaniem konwencjonalnym.