Sanity test, sanity check („sprawdzanie poczytalności”) – prosty test wykonywany w celu sprawdzenia poprawności twierdzenia, obliczenia lub systemu.[1]

W informatyce jest to bardzo pobieżny przegląd funkcji (działania) programu lub systemu operacyjnego, aby upewnić się, czy program (system) działa zgodnie z przewidywaniami (np. czy hardware, biblioteki, system operacyjny są w wymaganej przez program wersji, a jego funkcje i procedury dają rezultaty zgodne z dokumentacją). Po nim najczęściej następują dokładne testy, które wymagają znacznie więcej wysiłku, ale są bezsensowne, jeśli system nie radzi sobie z podstawowymi funkcjami. Takie testowanie oszczędza wysiłek w wykrywaniu i lokalizowaniu największych błędów w złożonym oprogramowaniu[2].

Zwykle sanity test są zaprojektowane ręcznie; jednak czasami duża liczba operacji interfejsu w testowanym systemie i dostępność kompletnych i dobrze ustrukturyzowanych informacji na ich temat pozwala na automatyczne generowanie testów. Jeśli operacje są bardzo liczne, konwencjonalne techniki opracowywania zestawów testów stają się zbyt pracochłonne. Jednocześnie informacje o składni tych operacji mogą być wykorzystane do automatycznego generowania prototypów zestawów testowych[3].

Główne charakterystyki edytuj

  1. Sanity test jest wąskim testem regresji, który skupia się na jednym lub kilku obszarach funkcjonalności. Testy psychiczne są zazwyczaj wąskie i głębokie.
  2. Sanity test jest zazwyczaj na bieżąco.
  3. Sanity test jest pobieżnym testem; jest wykonywany za każdym razem, gdy pobieżne testowanie jest wystarczające, aby udowodnić, że aplikacja działa zgodnie ze specyfikacjami. Ten poziom testowania jest podzbiorem testów regresji.
  4. Sanity testing ma na celu sprawdzenie, czy wymagania są spełnione, czy nie, sprawdzenie wszystkich funkcji w pierwszej kolejności[4]

Przypisy edytuj

  1. 8 Functional Testing Types Explained With Examples [online], Insights on Latest Technologies - Simform Blog, 27 lutego 2019 [dostęp 2021-06-28] (ang.).
  2. Gopalaswamy Ramesh, Srinivasan Desikan, Software testing: principles and practices, Bangalore, India: Dorling Kindersley (India), 2006, ISBN 81-7758-121-X, OCLC 560339747 [dostęp 2019-06-21].
  3. R.S. Zybin i inni, Automation of broad sanity test generation, „Programming and Computer Software”, 34 (6), 2008, s. 351–363, DOI10.1134/S0361768808060066, ISSN 0361-7688 [dostęp 2019-06-21] (ang.).
  4. Khannur A., 2014, Structured Software Testing: The Discipline of Discovering, Partridge, s. 245, ISBN 978-1-4828-3310-2.