-
Notifications
You must be signed in to change notification settings - Fork 1
2.4 Testy
Kod źródłowy pakietu MLAK jest w chwili obecnej (29.09.2016) w 99.5% pokryty testami (dwie funkcje pakietu pokryte są testami, odpowiednio, w 98.9% i 94.8%, zaś pozostałe w 100%). Każda z funkcjonalności pakietu została w procesie testowania przynajmniej raz uruchomiona i skorzystanie z niej nie spowodowało błędu. Testowanie odbywa się na dwóch poziomach:
-
Testów jednostkowych
- Kontrolujących poprawność wyników - koncentrują się one na bardzo dokładnej weryfikacji poprawności działania pojedynczych funkcji. Sprawdzają nie tylko to, czy wywołanie danej funkcji nie generuje błędu, ale także, czy wynik jej działania jest zgodny z oczekiwaniami. Tego typu testy przygotowane zostały dla wszystkich funkcji obliczających wartości statystyk (bMod(), N(), E(), G(), Me(), P(), Pw(), Q(), R(), R2(), Tau()), wczytujących dane (wczytajDane(), wczytajOdbiorce()), a także wewnętrznych funkcji pomocniczych pakietu (wyrownajDl(), naLiczbe(), polamTekst(), statWektor(), statKorelacja()).
- Niekontrolujących poprawności wyników - weryfikują one jedynie, czy wywołanie funkcji nie zakończyło się błędem, nie sprawdzają natomiast poprawności wygenerowanego wyniku. Tego typu testy stosowane są np. w stosunku do funkcji rysujących wykresy, gdzie nie daje się w prosty sposób automatycznie porównać zgodności wygenerowanego wykresu z wykresem wzorcowym.
- Testów wysokiego poziomu. W trakcie testów tego typu generowane są próbnie przykładowe raporty. Testy te skupiają się na tym, czy poszczególne funkcje pakietu poprawnie współpracują między sobą i czy daje się z ich pomocą poprawnie wytworzyć realny raport. W raportach testowych użyte zostały wszystkie funkcje obliczające statystyki (bMod(), N(), E(), G(), Me(), P(), Pw(), Q(), R(), R2(), Tau()) i generujące wykresy (wykresSlupkowy(), wykresKolowy(), wykresKolowyNorm(), wykresKolowyZlicz(), wykresHistogram(), wykresRozrzutu(), wykresRozrzutuIloraz(), wykresLiniowy()), funkcje pomocnicze (W(), G(), wstawTresc()), jak również funkcje wspomagające wczytywanie danych oraz wsadowe generowanie raportów.
Wszystkie przygotowane testy uruchamiane są automatycznie po dokonaniu każdej zmiany w kodzie źródłowym pakietu (dokładnie przy zatwierdzeniu zmian w repozytorium), co spełnia funkcję testów regresji, tzn. pozwala na natychmiastowe stwierdzenie, że zmiana dokonana w pakiecie spowodowała błąd w funkcjonalnościach, które dotychczas działały poprawnie.
Testy znajdują się w katalogu tests/testthat kodu źródłowego pakietu.
W wyniku przeprowadzenia testów automatycznie generowane są raporty pokrycia kodu źródłowego testami, co pozwala na łatwe zidentyfikowanie funkcjonalności, które nie są jeszcze testowane i odpowiednie uzupełnienie testów. Raporty pokrycia dostępne są na stronie https://coveralls.io/r/zozlak/MLAK.