Testy jednostkowe (Unittest), oszczędność czy strata?

Efektywność Testów jednostkowych, przykład praktyczny przy budowie modułowej aplikacji

testy jednostkowe

Contents

Przykłady, use case

  • w duzym systemie jest tylko integracyjny test
  • wystapil blad przy aktualizacji danch
  • Przyzcza bylo blad w zewnetrznym module odpowiedzialnym za usuwanie i zapisywanie danch w tablicach

Gdyby zewnetrzny moduł byl przetestowany wedle UniTTestu, ten problem nie wystapił by w żadnej aplikacji, ktora go uzywa

testy jednostkowe

korzysci stosowania Unit Testów

Unit Test jest dobrym rozwiazaniem przy wielomodulowych aplikacjach,
gdzie kazda mala czesc moze byc sprawdzana pod wzgledem funkcjonowania.
w takiej sytuacji mozna przyjac, ze cala aplikacja wykorzystujaca te moduly bedzie rowniez poprawnie funkcjonowala.

Brak testów jednostkowych, oszczędność czy strata?

Bez testow jednostkowych brak pokrycia w kodzie pozwala na luki, ktore potem wychodza nie bezposrednio. tylko posrednio.
koszt wyszukania usterek jest wieloktrontnie wyzsyz, gdyz nie wynika z zalozen aplikacji a jest problemem zenweztrznym ktory przy zalozeniu wykorzystania zewnetrznbego modulu nie bierzemy pod uwage dopoki nie wykluczymy wlasnych wewnetrznych bledow.

Z tego wzgledu jak na ironie warto rowniez we wlasnej pliakcji stosowac unit testy, gdyz dziala na malym polu tylko w e fragmencie i naprawa jest ograniczona do malego bloku kodu a wiec nie trzeba poswiecic tyle czasu.

 

testy jednostkowe

Istota stosowania

 

Gdy osoba kierująca proejekt mówi żeby nie ‘tracic‘ czasu na unitetesty w modułach, sugerując, że ten czas można lepiej wykorzystać, np. na budowę Core aplikacji, może to doprowadzić  do innej sytuacji:

że sporo czasu poświęcimy na szukanie rozwiązań problemow w aplikacji core, które pochodzą z modułów.

  • Czy warto  dzieciczyć czyjeś błędy?
  • czy warto brać na siebie rolę testera nieswoich modułów?

Warto poświęcić czas na wyjaśnienie funkcjonowania malych modułow aplikacji, by poźniej miec pewność że kazdy element działa wedle przyjętych standardów i założeń.

Przy okazji warto robić update na wypadki nowe, ktore dopiero zauwyżylismy w trakcie tworzenia aplikacji wykorzystującej moduł, tak by zadbac o logike dzialania i bezpieczenstwo jej funkcjonowania w każdych warunkach.

Tom Sapletta
Facebooktwitterredditpinterestlinkedinmail

Author: Tom Sapletta

Łączę doświadczenie z nowymi technologiami. Od 10 roku życia jestem pasjonatem komputerów i programowania. Moim pierwszym (mikro)komputerem był ZX-Spectrum a językiem programowania: Basic. Od 2010 roku programuję zawodowo, objektowo i funkcjonalnie w architekturach monolitycznych i mikro-usługowych. Obecnie tworzę architekturę ekosystemów dla liderów rynku w firmie Softreck.