Pytanie "Have you tried turning it off and on again?" ("czy próbowałeś wyłączyć i włączyć ponownie?") jest podstawą do wielu żartów w odniesieniu do zespołów wsparcia, szczególnie w IT.
Jak to działa?
Wyłączenie i wyłączenie jest próbą przywrócenia stanu początkowego systemu, zazwyczaj sprzed wystąpienia awarii. Podczas wyłączenia następuje zresetowanie ustawień czy też stanu systemu, w jakim się ono znalazło. Jeśli więc zdarzyło się, że system znalazł się w stanie, który nie został obsłużony przez jego twórców i nie znajduje on możliwości wyjścia z niego (np. nieskończona pętla poleceń lub polecenie bez przerwania czasowego (time-out)), reset powoduje, że aktualne polecenie zostanie przerwane i aplikacja wraca niejako do początku.
Reset i restart
Operacje włącz / wyłącz dzielimy na:
- restart,
- miękki reset (soft reset),
- twardy reset (hard reset).
Restart
Restart to najprostsze włączenie i wyłączenie urządzenia przy pomocy posiadanego przełącznika lub opcji systemowych typu I/O Off/ON i podobnych.
Miękki reset
Miękki reset to w praktyce wyłączenie i ponowne włączenie systemu. Podczas takiej operacji nie są usuwane dane użytkownika systemu oraz nie są przywracane ustawienia fabryczne. Może on być wykonany samodzielnie przez użytkownika. Czasami jednak soft reset wykonywany jest przez urządzenie lub oprogramowanie bez udziału człowieka. Celem takiego działania jest właśnie naprawa sprzętu i oprogramowania, go samo ono wymusza restart.
W jakich sytuacjach należy wykonać miękki reset? Oto kilka przypadków, gdy restart może okazać się niezbędny do ponownego skorzystania z systemu:
• system nie działa i przestał reagować,
• system się "zacina" i nie działa, tak jak powinien,
• pojawia się błąd w działaniu (często dość regularnie),
• nie możesz wykonywać pewnych działań w systemie,
• masz problemy z komunikacją z zewnętrznymi urządzeniami lub z sieciami komunikacyjnymi.
Jak wykonać miękki reset? Każdy system jest inny i należy odwołać się do instrukcji użytkownika, aby dowiedzieć się, w jaki sposób go wywołać. Często restart wykonuje się przytrzymując przycisk włącz/wyłącz do czasu wyłączenia urządzania albo przez ok. 10 sekund, a następnie ponownie włącza się urządzenie.
W przypadku telefonu inną opcją jest wyjęcie baterii i odpięcie od źródła zasilania. Następnie baterię wkłada się z powrotem i włącza urządzenie za pomocą przycisku włącznika.
Jeśli po wykonaniu resetu, system nadal sprawia kłopoty techniczne, a jego użytkowanie jest uciążliwe lub niemożliwe, musimy wykonać twardy reset, czyli przywrócić ustawienia fabryczne telefonu. UWAGA! Nie każdy sobie z tym poradzi albo nie wie, jak dobrze to przeprowadzić. Jeśli nie masz pewności, najlepiej jest oddać system do profesjonalnego serwisu, co niestety często wiąże się z wysokimi kosztami.
Twardy reset
Hard reset może oznaczać przywrócenie ustawień fabrycznych z zachowaniem danych w urządzeniu lub z zupełnym wymazaniem zawartości pamięci i konfiguracji. Pamiętajmy, że zazwyczaj jest to ostateczność. Ponieważ wiąże się to z utratą wszystkich danych z urządzania, należy pamiętać przed jego wykonaniem o konieczności posiadania kopii zapasowej (backupu) zawartości urządzenia.
Wykonuje się go zwykle w następujących przypadkach:
- system przestaje działać poprawnie,
- znacząco obniżyła się wydajność systemu,
- zamierzamy odsprzedać lub przekazać komuś innemu nasze urządzenie,
- często wyświetlają się komunikaty o błędach,
- przestają działać podstawowe funkcje lub urządzenie regularnie się zawiesza.
Przyczyną może być przeładowanie pamięci urządzania lub zainfekowanie systemu złośliwym oprogramowaniem.
Jak wykonać twardy reset? Przede wszystkim na początku upewnij się, że wykonałeś już restart i miękki reset. Twardy reset możemy dokonać samodzielnie w prawie każdym współczesnym urządzeniu. Funkcję tę znajdziemy w ustawieniach urządzenia, a gdy ją wybierzemy, pojawi się szereg komunikatów, w których będziemy musieli potwierdzić, że na pewno chcemy usunąć dane lub tylko dotychczasową konfigurację, a następnie przywrócić stan fabryczny.
W niektórych współczesnych urządzeniach hard reset wykonywany może być przez naciśnięcie dostępnych klawiszy w określonej konfiguracji i przez określony czas. Odsyłamy Was w tym przypadku do instrukcji użytkownika dostępnej w sieci lub w książeczce w opakowaniu systemu.
Czy reset jest bezpieczny?
Reset jest we współczesnych rozwiązaniach standardową funkcją wielu systemów. Jest to ostateczne rozwiązanie wszystkich nieobsłużonych zdarzeń i nieprzewidzianych scenariuszy użycia oprogramowania, więc nie należy się go obawiać. Ze względu na złożoność systemów projektanci i programiści nie są w stanie zweryfikować wszystkich możliwych zdarzeń w systemie, więc zostawiają sobie pewną furtkę bezpieczeństwa w postaci właśnie resetowania. Najczęstszą negatywną konsekwencją restartu / resetu może być utrata danych. Na poniższym zdjęciu widać w aparacie nawet zachętę ze strony twórców aparatu do jego wyłączenia i ponownego włączenia.
Dlaczego wyłączenie i włączenie bez analizy jest złe?
Z perspektywy specjalistów zajmujących się jakością, wyłączenie systemu, w którym znajduje się awaria, jest utratą cennych danych. Wyłączenie wymazuje wiele informacji z systemu, jak np. stan, w jakim znajdował się wyłączeniem czy też tymczasowe dane w systemie. Zreprodukowanie awarii może być więc niemożliwe. Szczególnie może być to utrudnione, gdy w systemie nie zapisują się logi, czyli pliki z informacjami o zdarzeniach.
Każdy tester oprogramowania powinien przed wyłączeniem zapoznać się z informacjami, które są dostępne w systemie. Do tych działań należy:
- zrobienie screenu lub zdjęcia ekranu, na którym pojawiła się awaria,
- zapisanie danych, które pojawiają się w systemie, np. w postaci kodu błędu,
- zebranie wszystkich dodatkowych danych, łącznie z opisem zdarzeń poprzedzających awarię.
Nawet jeśli system jest nieresponsywny, to często można dostać się do niego przez jeden z dostępnych interfejsów i "podejrzeć" (a może nawet zdebugować) to, co się w nim dzieje.
Jeśli nie dokonamy analizy tego, co się wydarzyło w systemie to możliwe, że ten sam problem pojawi się u nas ponownie albo pojawi się u wielu innych użytkowników. Pojawia się tutaj aspekt defektów niereprodukowalnych, które ze względu na swoje losowe pojawianie się często trafiają do produkcyjnych wersji systemów oraz stają się zmorą ich użytkowników.