Czas jako wartość graniczna w testach aplikacji

Czas jako wartość graniczna w testach aplikacji
Zaczynając patetycznie: każda aplikacja kiedyś "umrze".Testowanie ma na celu sprawdzenie, co dzieje się z oprogramowaniem kiedy jeszcze nie funkcjonuje, zaczyna oraz przestaje funkcjonować.

Co dzieje się z aplikacją przed i w czasie użytkowania opisuje wiele książek. Pomijany jest znaczący fakt końca życia aplikacji.

 

Jest kilka metod zakończenia kariery aplikacji:

  • może przestać funkcjonować i zostać podmienioną przez na inną aplikację (patch),
  • może przejść na emeryturę po stworzeniu jej godnego zastępcy,
  • może zostać usunięta jako niepotrzebna funkcjonalność.

 

Istnieje jeszcze jedna możliwość zakończenia kariery. Aplikacja może istnieć jedynie w pewnej jednostce czasu i zakończyć swoje funkcjonowanie po przekroczeniu granicy funkcjonowania. Przykładowo: aplikacje odmierzające czas do pewnego wydarzenia, aplikacje mające za zadanie prezentowania pewnej informacji tylko do pewnego momentu w czasie, aplikacje, które mają ograniczony zakres dostępności. Tak jak dla każdych testów klas równoważności, również tutaj jest konieczne pokrycie tego obszaru testami. Niestety w wielu przypadkach autorzy pomijają te zagadnienie jako nieistotne. Nie do końca słusznie. Aplikacja musi zostać sprawdzona pod każdym kątem, a pozostawienie obszaru po końcu użytkowania nieobsłużonym to jak prezentacja zwłok po śmierci.

 

Przykład jak nie należy prezentować aplikacji po końcu jej życia, aby nie wprowadzać użytkowników w błąd.

 

Licznik informujący o dacie rozpoczęcia EuroBasket 2009, po dacie rozpoczęcia. Widać, że aplikacja sugeruje, że do rozpoczęcia mistrzostw pozostało "1 dni" podczas gdy nie jest to prawda. Prawidłowym zachowaniem byłoby usunięcie "zwłok" po zakończeniu funkcjonowania, lub też obsługa końca życia np. komunikat "EuroBasket 2009 już trwa" (taka informacja tworzy kolejną granicę życia - koniec mistrzostw). 

To powinno Cię zainteresować