1. Strona główna
  2. Sylabus dla poziomu zaawansowanego – Techniczny analityk testowy (wersja z 19.10.2012)
  3. 4. Atrybuty jakości w testach technicznych
  4. 4.7 Testowanie pielęgnowalności

4.7 Testowanie pielęgnowalności

Czas poświęcany na utrzymanie oprogramowania jest często dłuższy niż czas jego wytworzenia. Celem tzw.  testowania pielęgnacyjnego jest przetestowanie zmian we wdrożonym systemie lub wpływu zmienionego środowiska na wdrożony system. Z kolei, aby zapewnić jak największą efektywność procesu utrzymania, wykonuje się testowanie pielęgnowalności, które pozwala zmierzyć stopień łatwości analizowania kodu, wprowadzania w nim zmian i jego testowania.

Wśród celów związanych z pielęgnowalnością, jakie chcą uzyskać interesariusze (np. właściciele lub operatorzy oprogramowania), znajdują się:

  • minimalizacja kosztów posiadania lub eksploatacji oprogramowania,
  • ograniczenie przestojów niezbędnych na pielęgnację oprogramowania.

Testy pielęgnowalności powinny zostać uwzględnione w strategii testów i/lub podejściu do testowania, jeśli spełniony jest co najmniej jeden z następujących warunków:

  • Prawdopodobne jest wprowadzanie zmian w oprogramowaniu w wersji produkcyjnej (np. w celu usunięcia defektów lub wprowadzenia zaplanowanych aktualizacji).
  • Interesariusze uznają, że korzyści wynikające z osiągnięcia celów w obszarze pielęgnowalności (patrz powyżej) w cyklu życia oprogramowania przeważają nad kosztami wykonania testów pielęgnowalności i wprowadzenia niezbędnych zmian.
  • Czynniki ryzyka związane z niską pielęgnowalnością oprogramowania (np. długie czasy reakcji na defekty zgłaszane przez użytkowników i/lub klientów) uzasadniają przeprowadzenie testów tego rodzaju.

Technikami stosowanymi w trakcie testowania pielęgnowalności są m.in. analiza statyczna i przeglądy, zgodnie z opisem przedstawionym w punktach 3.2 i 5.2. Testowanie pielęgnowalności należy rozpocząć od razu po udostępnieniu dokumentów projektowych i kontynuować je w trakcie prac związanych z implementacją kodu. Pielęgnowalność to cecha związana z kodem i dokumentacją poszczególnych modułów, dlatego można ją ocenić na wczesnym etapie cyklu wytwórczego, bez konieczności oczekiwania na udostępnienie kompletnego, działającego systemu.

Dynamiczne testowanie pielęgnowalności skupia się na udokumentowanych procedurach utrzymania poszczególnych aplikacji (np. opisujących wykonywanie aktualizacji oprogramowania). Wybrane scenariusze pielęgnacyjne są wykorzystywane jako przypadki testowe w celu sprawdzenia, czy udokumentowane procedury pozwalają uzyskać wymagane poziomy usług. Taka forma testowania ma szczególne znaczenie w sytuacji, gdy używana infrastruktura jest złożona, a procedury wsparcia obejmują wiele działów lub organizacji. Testowanie tego rodzaju można wykonać w ramach produkcyjnych testów akceptacyjnych. [Web-1]

Artykuły