Jaka jest różnica między rozwiązywaniem problemów, testowaniem i debugowaniem?
Poświęć trochę czasu na pracę lub grę na komputerach, a wkrótce usłyszysz trzy słowa pasujące do: rozwiązywanie problemów , testowanie i debugowanie . Choć pierwsze dwa są dość powszechne, ich znaczenia mogą wydawać się rozmyte, a nawet synonimiczne. W praktyce każde z tych działań jest inne, choć powiązane.
Rozwiązywanie problemów jest zmorą użytkownika końcowego i technika obsługi klienta i rozpoczyna się, gdy oprogramowanie lub sprzęt nie działa zgodnie z oczekiwaniami, co daje nieoczekiwany lub w inny sposób niezadowalający wynik. W wielu przypadkach przyczyną błędu jest błąd użytkownika.
Pierwszym krokiem w rozwiązywaniu problemów jest omówienie podstaw. Czy oprogramowanie lub sprzęt są poprawnie zainstalowane? Czy jest poprawnie skonfigurowany? Czy przeczytałeś instrukcję i postępowałeś zgodnie ze wszystkimi instrukcjami? Może zmieniłeś coś w swoim systemie, co spowodowało problem? Czy używasz tego produktu przez cały czas, czy jest to nowa instalacja?
Jeśli jest to nowa instalacja, możesz być prawie pewien, że problem leży w procesie instalacji, szczególnie w przypadku sprzętu. Sprzęt wymaga sterownika urządzenia (pliku oprogramowania), który działa jak pomost lub interfejs między sprzętem a systemem operacyjnym. Jeśli sterownik urządzenia ulegnie awarii, sprzęt nie będzie mógł poprawnie komunikować się z innymi elementami systemu. Sterowniki urządzeń mogą nie być obecne lub mogły zostać zainstalowane w niewłaściwej kolejności względem urządzenia.
Jeśli problem leży w sprzęcie, który działał idealnie do chwili obecnej, przyczyną może być uszkodzenie sterownika urządzenia. Ponowna instalacja sterownika może rozwiązać problem. Zaktualizowany sterownik może również załatwić sprawę. Innym razem, ponowne umieszczenie komponentu na płycie głównej poprzez wyłączenie komputera, wyodrębnienie komponentu, a następnie jego ponowna instalacja rozwiązuje problem.
Rozwiązywanie problemów ze sprzętem w systemach operacyjnych Windows ™ jest również dostępne za pośrednictwem Menedżera urządzeń i menu Pomoc . Żółty wykrzyknik obok komponentu w Menedżerze urządzeń wskazuje na problem.
Oprogramowanie, które zaczyna źle się zachowywać, może być również uszkodzone. Ponowna instalacja może czasem pomóc, ale jeśli program zaczął działać po zainstalowaniu nowego, niezwiązanego oprogramowania, może istnieć konflikt między nimi. Zapory ogniowe i programy antywirusowe są znane z tego, że nie grają razem dobrze i prawdopodobnie rozsądnie jest trzymać się tylko jednego programu w każdej z tych kategorii, chyba że jesteś zaawansowanym użytkownikiem.
Rozwiązywanie problemów zazwyczaj obejmuje czytanie podręczników lub plików pomocy, zapoznanie się z podstawami w celu wyeliminowania błędu użytkownika jako potencjalnej przyczyny oraz użycie wyszukiwarki w celu zbadania, w jaki sposób inni rozwiązali problem. Jeśli jest jedna rzecz, na którą zawsze możesz liczyć jako użytkownik końcowy, to jest to, że ktoś wcześniej chodził w twoich butach. Społeczność internetowa jest bardzo dobra w udzielaniu pomocy, aw większości przypadków odpowiedzi można znaleźć poprzez staranne wyszukiwanie.
Testowanie jest prekursorem debugowania. Testowanie jest często mocną stroną programistów i zaawansowanych użytkowników i ma miejsce, gdy produkt jest nowy lub jest aktualizowany i musi zostać poddany odpowiednim krokom, aby wyeliminować potencjalne problemy. Testowanie identyfikuje „błędy” lub niedoskonałości, dzięki czemu można je poprawić w procesie debugowania przed [następną] oficjalną wersją produktu. Te „nieoficjalne” wersje są znane jako wersje beta (np. 3.0 b ), a wolontariusze publiczni są nazywani beta testerami.
Testy beta są cennym zasobem dla twórców oprogramowania ze względu na różnorodne systemy komputerowe uczestniczące w połączeniu z samą liczbą godzin i scenariuszy, w których program jest używany. Spłukuje to nieprzewidziane problemy w sposób, którego nie można skutecznie osiągnąć przy użyciu tylko wewnętrznych debuggerów. Faza testów beta daje autorom dobry pomysł na gotowość produktu do domeny publicznej.
Sprzęt jest również testowany w wersji beta, ale ponieważ ze względów finansowych niedopuszczalne jest publiczne udostępnianie bezpłatnego sprzętu w wersji beta, testy i debugowanie sprzętu są zwykle przeprowadzane wewnętrznie. Produkty w wersji beta mogą jednak zostać wprowadzone na rynek, aw niektórych przypadkach być dystrybuowane w ograniczonej liczbie do osób z branży na konferencjach takich jak COMDEX.
Oprogramowanie Beta jest specjalnie udostępniane do testowania i nie jest uważane za wydanie stabilne. Testerzy wersji beta instalują oprogramowanie w wersji beta na własne ryzyko. Aby pomóc twórcom oprogramowania w zidentyfikowaniu źródła problemu, muszą oni podać odpowiednią ilość informacji podczas zgłaszania błędu. Wymagane dane są różne, ale ogólnie obejmują specyfikacje systemu, wersję beta i kompilację, dokładne warunki, w których wystąpił błąd oraz treść komunikatu o błędzie.
Debugowanie jest mocną stroną programistów i programistów i polega na naprawie samego kodu oprogramowania w celu wyeliminowania błędów lub błędów. Programiści próbują replikować zgłaszane błędy beta w systemach wewnętrznych w celu ich wyeliminowania.
Chociaż istnieje wiele rodzajów narzędzi do debugowania, prostym przykładem jest narzędzie, które pozwala programiście monitorować kod programu podczas manipulowania nim w celu wykonywania różnych poleceń i procedur. Jednym z podstawowych podejść jest uproszczenie kodu w możliwie największym stopniu w podejrzanym problematycznym miejscu, przy jednoczesnym powielaniu problemu, zawężając nacisk na potencjalne linie problemu. W rzeczywistości debugowanie jest złożonym procesem, który wymaga różnych podejść opartych na takich czynnikach, jak złożoność i długość samego kodu oprogramowania oraz język, w którym został napisany.
Debugowanie może być męczącym zadaniem, chociaż niektóre języki są łatwiejsze do debugowania niż inne. Na przykład Java zawiera procedury, które obsługują błędy wyjątków. Błąd wyjątku występuje, gdy program napotyka sytuację, którą należy rozwiązać, zanim program będzie mógł dalej działać poprawnie. W takim przypadku wbudowana procedura inicjuje „wyszukiwanie” w różnych warstwach kodu oprogramowania, szukając odpowiedzi na problem. Jeśli nie można znaleźć poprawki, wystąpi krytyczny błąd wyjątku i program zostanie zamknięty. Wynikowy komunikat o błędzie może zawierać adres pamięci lub inne tajemnicze dane, które nie pomogą użytkownikowi, ale mogą być cenne przy debugowaniu. Dobrze napisane programy nie powinny mieć krytycznych błędów.
Starsze języki programowania, takie jak C lub asembler, nie są tak przejrzyste i nie radzą sobie tak skutecznie z błędami. Programy do debugowania napisane w tych językach mogą przetestować umiejętności i cierpliwość debugera.
Na szczęście dla użytkownika końcowego, dostępne na rynku oprogramowanie zostało już debugowane pod kątem poważnych wad. Z tego właśnie powodu większość problemów napotykanych przez użytkownika końcowego należy do zakresu rozwiązywania problemów i można je naprawić za pomocą wcześniej wspomnianych metod. W przypadkach, gdy użytkownik końcowy napotyka błąd, wykonanie czynności rozwiązywania problemów może ujawnić obejście, dopóki błąd nie zostanie naprawiony przez programistę.
Prosząc o pomoc na forum internetowym lub w grupie dyskusyjnej, pamiętaj, aby odrobić pracę domową z wyprzedzeniem. Rozwiązywanie problemów jest czasochłonne, a osoby, które zgłaszają się na ochotnika, doceniają kogoś, kto starał się znaleźć odpowiedzi. Zapytanie o problem, który był wielokrotnie zadawany i na który udzielono odpowiedzi, nie zdobędzie przyjaciół i jest uważane za kiepską netykietę.