Testowanie oparte na funkcji. Podział funkcji.

Testowanie oparte na funkcji. Podział funkcji.
Testowanie oparte na funkcji wymaga zrozumienia, że nie wszystkie funkcje są równe i nie każda funkcja jest kluczowa dla działania biznesu. Funkcje można dzielić w zależności od krytyczności, obszaru czy wyróżniać funkcje pożądane i niepożądane.

Pojedyncza wersja oprogramowania zawiera skończoną liczbę funkcji. Zbiór jest zamknięty i celem testowania będzie określenie, czy wszystkie funkcje, które powinny pojawić się w jednej wersji rzeczywiście się w nim znajdują oraz czy działają poprawnie. Testem funkcji będzie również sprawdzenie, czy aplikacja nie zawiera funkcji dodatkowych, które wykraczają poza określony zbiór. Testy te są w różnych metodykach traktowane jako testy bezpieczeństwa i stanowią testy charakterystyk. Dość celnie jednak ISO 9126 włącza te testy do zakresu funkcjonalnego. Kiedy testujemy poprawność działania uprawnień dla wykonywania poszczególnych funkcji przez poszczególnych użytkowników, mamy do czynienia z oboma typami testów.

Reguły rządzą funkcjami i pomagają nam lepiej definiować testy. Najbardziej oczywisty podział to podział ze względu na krytyczność funkcjonalności kryjących się za nimi:

1. Najważniejszą funkcją w oprogramowaniu będą funkcje, których niepoprawność działania może blokować lub znacząco utrudniać wykonanie procesu biznesowego. Również funkcje wykonujące operacje na danych i doprowadzające przez swoją niepoprawność do uszkodzenia lub usunięcia kluczowych danych można traktować jako te, które należy testować w pierwszej kolejności (podobnie jak funkcje, również dane w systemach informatycznych mogą być mniej lub bardziej ważne). Przykładowo: logowanie do aplikacji.

Testowanie powinno koncentrować się w pierwszej kolejności na tych właśnie funkcjach, które możemy określić jako kluczowe.

2. Funkcje średniej krytyczności, gdzie nieobecność danej funkcji lub jej niepoprawne działanie nie stanowi przeszkody w użytkowaniu oprogramowania, ale bez nich akceptacja oprogramowania nie będzie możliwa. Przykładowo: skróty klawiszowe.

3. Funkcje niekrytyczne, których nieobecności użytkownik najprawdopodobniej nie zauważy. Przykładowo: pomoc.

 

W ramach pojedynczej funkcji można również wyróżnić funkcje podstawowe i podfunkcje:

1. Funkcja podstawowa - test jest tu określeniem, czy oprogramowanie robi to co powinno. Jest to zazwyczaj weryfikowane przez jeden test w oparciu o najbardziej typowe dane.

2. Funkcja podstawowo-negatywna - jest to ten zakres testów, który sprawdzi, czy funkcja w obszarze gdzie nie powinna działać rzeczywiście nie działa.

3. Podfunkcje towarzyszące - zazwyczaj są to dodatkowe funkcje, które wspierają inną ważną funkcję w oprogramowaniu.

 

Dzielenie funkcji i ich kategoryzowanie sprowadzi się zawsze do zbudowania wielowymiarowej struktury, która powinna pomóc w zdefiniowaniu priorytetów w testowaniu.

 

To powinno Cię zainteresować