Testy modułowe – Unit tests

Witajcie moi drodzy testerzy 🙂 Kolejny wpis wprowadzi w was w nowy rozdział wiedzy dotyczącej testowania. Rozpoczniemy dzisiaj cykl wpisów na temat Poziomów Testowania. W ich skład wchodzą Testy Modułowe, Testy Integracyjne, Testy Systemowe oraz Testy Akceptacyjne. Wszystkie te poziomy łączy kilka cech wspólnych. Dla każdego z nich możemy określić cele ogólne testów, ich podstawę, zagadnienia czyli to co jest testowane, błędy, jarzma testowe oraz narzędzia i środowiska. Jak się domyślacie na pierwszy ogień weźmiemy sobie temat testów modułowych.

 

 

Testy modułowe bądź jednostkowe są testami na najniższym poziomie. Zapytasz się co to znaczy? Oznacza to nic innego jak testowanie każdej metody, funkcji, klasy, modułu czy elementu w pojedynczy sposób. Niezbędne jest do tego odpowiednie podejście, każdy z tych elementów musi być potraktowany przez nas w sposób odosobniony. Nie interesuje nas cała aplikacja, tylko ten konkretny, niezależny i pojedynczy element. Poprzez taki rodzaj fragmentaryzacji jesteśmy w stanie wykryć usterki na bardzo wczesnym poziomie. Poprawia się wówczas nie tylko cały fundament aplikacji, ale również jakość, czyli to na czym nam zależy najbardziej. Czym jest program pisany przez najlepszych programistów, ale nie nadający się dla użytkownika z powodu zbyt niskiej jakości utworzonego programu?

Na samym początku wymieniłam kilka elementów, które są cechą wspólną dla każdego z poziomu testowania. Pewnie nawet nie zauważyliście, ale już kilka z nich zostało poruszonych. W poprzednim akapicie określiliśmy już cel testowania modułowego, ale to nie wszystko. Czy zauważyliście również, czym jest podstawa w testach modułowych? Oczywiście, możecie na to bez problemu odpowiedzieć, jeśli przeczytaliście tekst kilka linijek wyżej. Do podstawy testów modułowych zaliczamy nic innego jak:

  •  wymagania na moduły
  •  szczegółowy projekt oraz
  •  kod

To wszystko świetnie tłumaczy nam sylabus ISTQB. Kolejną cechą są zagadnienia, które także już zostały opisane. Przedmiotami testów są oczywiście moduły, metody, funkcje klasy, programy i wiele innych rzeczy, jakie możemy przetestować w sposób niezależny od całej aplikacji. Jarzma testowe, czyli zaślepki i sterowniki wspierają nas w wykonaniu testów. W skład testów modułowych wchodzą nie tylko testy funkcjonalne, ale również elementy zawarte w testach niefunkcjonalnych (czym są testy funkcjonalne i niefunkcjonalne dowiecie się dokładnie w kolejnych wpisach). Niektóre atrybuty niefunkcjonalne występujące w testach modułowych to:

  • wycieki pamięci -> stopień wykorzystania zasobów
  • odporność
  • pokrycia decyzji -> testy strukturalne

Bardzo częstym działaniem przy testowaniu modułowym jest stworzenie i automatyzacja przypadków testowych. „Najpierw testuj” -> tak nazywa się ten typ podejścia do testów. W sylabusie ISTQB znajdziemy również drugą zamienną nazwę -> „Wytwarzanie sterowane testowaniem”.

Mam nadzieję, że pomogłam wam chociaż trochę zrozumieć praktyczne oraz teoretyczne zagadnienie testowania modułowego. Jeśli macie jakieś pytania, uwagi piszcie śmiało w komentarzach i dzielcie się swoją wiedzą na ten temat.

Komentarze:

  • Janusz Grudzień 20, 2016

    Gratuluje wiedzy i doświadczenia !

  • Natalka Grudzień 21, 2016

    Jesteś bardzo inteligentną osobą. Post jest bardzo fajnie napisany. Ja nie mam żadnej wiedzy na ten temat. Pozdrawiam !

  • annnathalie.blogspot.com Grudzień 21, 2016

    Pierwszy raz słyszę o rodzajach testowania. Chętnie poczytam jeszcze kilka postów na ten temat.

  • jarek Grudzień 21, 2016

    Super dużo wiesz na temat i umiesz ciekawie pisać, nie mój trochę świat ale gratulacje za innowacyjny blog tematyczny.

  • Magda Grudzień 22, 2016

    Ciekawy wpis, nie wiedziałam, że testowanie ma aż tyle różnych etapów.
    magdazarek.blogspot.com 🙂

  • sandra Grudzień 22, 2016

    Bardzo ciekawy post. Gratulacje pomysłu na tak wspaniały blog

  • Katarzyna Październik 29, 2017

    Czy zamiast „Wytwarzanie sterowane oprogramowaniem” nie powinno być „Wytwarzanie sterowane testami” z angielskiego TDD (test driven development)? Ideą takiego podejścia jest właśnie „najpierw testuj” – przypadki testowe są przygotowywane i często automatyzowane zanim powstanie oprogramowanie. Czy jednak miałaś na myśli coś innego? Ja dopiero się uczę testowania więc może źle zrozumiałam ten fragment.

    • Testerka Październik 31, 2017

      Oczywiście masz rację powinno być : Wytwarzanie sterowane testowaniem. Szybciej pisałam niż myślałam 😛 Błąd poprawiony i dzięki za czujność 🙂

  • Karola Listopad 10, 2017

    Hej, trochę się pogubiłam, bo na razie znam tylko teorię, ale czy testów jednostkowe nie przeprowadzają zazwyczaj programiści? Bo ja zrozumiałam to tak od znajomego programisty, że oni je piszą/wykonują od razu podczas pisania swojego kodu ?

    • Testerka Listopad 12, 2017

      Cześć,

      Tak masz rację testy jednostkowe są domeną deweloperów, jednak nie jest to zasadą. Tester, który ma wiedzę na temat programowania, posiada dostęp do narzędzi deweloperskich oraz do kodu może również wykonywać ten rodzaj testów. Wszystko zależy od projektu oraz jakie zadania będą Ci przydzielone. Spotkałam się z testerami którzy wykonywli ten tym testów.

      Pozdrawiam 🙂

Napisz komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Solve : *
10 + 24 =