Testy jednostkowe metod rekurencyjnych

Testy jednostkowe metod rekurencyjnych
Artykuł przeznaczony jest dla osób związanych z testowaniem, programowaniem, jakością oraz wytwarzaniem oprogramowania, wymaga jednak znajomości podstaw programowania obiektowego.

Testy jednostkowe przeprowadzane są na poziomie kodu podczas procesu wytwarzania oprogramowania. Na ich temat można znaleźć wiele publikacji, książek i artykułów naukowych. Również w Internecie jest sporo wiadomości na ten temat. Nieczęsto jednak znajdziemy informacje o testowaniu metod wywoływanych rekurencyjnie. Okazuje się, że testy jednostkowe dla takich metod nie są proste i dodatkowo wymagają twórczego podejścia od autora.

1. Zjawisko rekurencji w naukach ścisłych

Definicja 1.1 [1] Rekurencja jest techniką programowania, dzięki której procedura, funkcja lub podprogram jest w stanie w swoim ciele wywołać sam siebie. Dzięki rekurencji łatwo można „wykonać” zadanie, w którym potrzebne są wyniki cząstkowe do obliczenia całości. Rekurencja składa się z podania wartości brzegowych (początkowych) i z równania wyrażającego ogólną wartość za pomocą wartości wcześniejszych wyrazów. Klasycznym przykładem w zagadnieniu rekurencji jest liczenie silni dla dowolnej liczby naturalnej n czyli (n!)

Rekurencja może być z dobrym skutkiem stosowana w najefektywniejszych algorytmach sortowania. Rekurencyjny opis obliczeń (funkcji czy metod) jest na ogół bardziej zwarty (krótszy, przejrzysty) niż opis tych samych obliczeń bez użycia rekurencji. Taki opis jest stosowany np. przy opisie fraktali, które są definiowane, jako obiekty podobne do swoich części (obiekty samopodobne). Zwartość opisu rekurencyjnego nie zawsze idzie w parze z efektywnością realizacji algorytmów. Dlatego algorytmy rekurencyjne powinny być stosowane rozsądnie. Istnieje także pewna klasa funkcji rekurencyjnych, które można przedstawić jawnym wzorem typu f(n), gdzie n є N. Nie zawsze jednak jest to możliwe. (...)

Zapraszamy do lektury artykułu autorstwa Marka Żukowicza.

 

Pełen artykuł można pobrać tutaj >>

 

Marek Żukowicz jest absolwentem matematyki na Uniwersytecie Rzeszowskim. Obecnie pracuje jako tester. Jego zainteresowania skupiają się wokół testowania, matematyki, zastosowania algorytmów ewolucyjnych oraz zastosowania matematyki w procesie testowania. Interesuje się również muzyką, grą na akordeonie oraz perkusji.

 

[AKTUALIZACJA 13.01.2017] Artykuł został zaktualizowany ponieważ jedna z naszych czytelniczek znalazła błąd popełniony przez autora podczas przepisywania wzorów z kartki.

 

6908

Powiązane szkolenia

05-06
czerwca
2023
Jarosław Hryszko
online
Praktyka testowania
1 750PLN
Testowanie aplikacji internetowych
12
Wolnych miejsc
Rezerwuj
06-07
marca
2023
Arnika Hryszko
online
Praktyka testowania
1 770PLN
Testowanie użyteczności
9
Wolnych miejsc
Rezerwuj
20-21
kwietnia
2023
Rafał Stańczak
online
Dobre praktyki testowania
1 700PLN
Testowanie w metodykach Agile
12
Wolnych miejsc
Rezerwuj
23-24
marca
2023
Piotr Dubiela
online
Języki programowania dla testerów
1 600PLN
JAVA dla testerów oprogramowania
12
Wolnych miejsc
Rezerwuj
23-24
marca
2023
Krzysztof Kołodziejczyk
online
Praktyka testowania
1 770PLN
Testowanie aplikacji mobilnych - Android
9
Wolnych miejsc
Rezerwuj
12-13
czerwca
2023
Krzysztof Skarbiński
online
Automatyzacja testowania
1 800PLN
Testowanie REST API dla początkujących w języku python
10
Wolnych miejsc
Rezerwuj
27-28
lutego
2023
Krzysztof Kołodziejczyk
online
Języki programowania dla testerów
1 800PLN
JavaScript dla testerów oprogramowania
9
Wolnych miejsc
Rezerwuj
24-26
kwietnia
2023
Krzysztof Kołodziejczyk
online
Praktyka testowania
3 000PLN
Tester gier
11
Wolnych miejsc
Rezerwuj
13
marca
2023
-09
kwietnia
2023
Krzysztof Kołodziejczyk
online
Automatyzacja testowania
5 500PLN
Praktyka automatyzacji testowania
5
Wolnych miejsc
Rezerwuj

To powinno Cię zainteresować