Co to jest debugowanie?
Debugowanie odnosi się do procesu tworzenia oprogramowania, w którym analitycy programowi przeczesują kod komputerowy w poszukiwaniu „błędów” - źródła błędów, wad lub luk bezpieczeństwa w wewnętrznych instrukcjach programu. Rozwój sprzętu przechodzi także przez debugowanie w celu zapewnienia zgodności z bieżącymi standardami sprzętowymi i interoperacyjności między komponentami zgodnymi z tymi samymi protokołami. Ponadto debugowanie gwarantuje, że sprzęt i oprogramowanie są wstecznie kompatybilne lub będą współistnieć z istniejącymi standardami, które mogą być nadal używane.
Debugowanie oprogramowania odbywa się w dwóch etapach. Pierwsza faza nazywana jest „testowaniem alfa” i jest przeprowadzana wewnętrznie przed upublicznieniem oprogramowania. Druga faza jest przeprowadzana w ramach publicznego procesu zwanego „testowaniem wersji beta”. Beta-testerzy to entuzjaści komputerów, którzy korzystają z oprogramowania w wersji beta na własne ryzyko, zgodnie z umową, że deweloperzy zgłaszają błędy lub problemy.
Ponieważ błędy muszą zostać odizolowane i zidentyfikowane, zanim będą mogły zostać załatane, pierwszym krokiem jest przetestowanie oprogramowania w różnych warunkach. Kiedy błąd się ujawnia, debugger bierze pod uwagę dokładne warunki, w których pojawił się błąd, w tym bieżącą funkcję, typ i wersję systemu operacyjnego oraz inne istotne elementy oprogramowania lub sprzętu. Publiczne beta-testery przesyłają odpowiednio szczegółowe raporty, wymieniając stosowne szczegóły, zazwyczaj wypełniając wstępnie zaprojektowany formularz.
Po zakończeniu obu faz debugowania program jest gotowy do wydania ogólnego jako stabilna wersja. Debugowanie jest jednak kontynuowane jako protokół konserwacji przez cały okres eksploatacji produktu, który jest rozszerzany wraz z ważnymi aktualizacjami.
Sprzęt jest debugowany, zanim trafi na rynek i sam w sobie nie przechodzi testów beta, ponieważ byłoby to zbyt drogie i problematyczne z kilku dość oczywistych powodów. Zamiast tego większość producentów sprzętu zapewnia interfejs online, w którym użytkownicy mogą uzyskać wsparcie techniczne lub zgłosić problemy ze sprzętem. W wielu przypadkach problemy te okazują się błędem użytkownika, ale proces ten służy również do ujawnienia błędów, które nie zostały wykryte w początkowej fazie debugowania. Debugery mogą wrócić do instrukcji zakodowanych w kontrolujących układach i wprowadzić zmiany, aby pozbyć się błędów sprzętowych. Producent może następnie udostępnić aktualizację oprogramowania układowego, którą użytkownicy mogą pobrać online, aby zaktualizować swój sprzęt.
Podczas gdy wewnętrzne debugowanie z pewnością może pozbyć się oprogramowania i sprzętu z wielu błędów, nic nie zastępuje rzeczywistych testów. Jest praktycznie niemożliwe, aby autor lub producent odtworzył każdy możliwy stan i system, w którym sprzęt lub oprogramowanie będzie używane. Wielu doświadczonych użytkowników komputerów IBM-PC czeka z tego powodu na 12-36 miesięcy przed przejściem na nowy system operacyjny, na przykład przejście z Windows ™ XP ™ na Windows Vista ™. Daje to społeczności czas na identyfikację wszelkich poważnych problemów bezpieczeństwa, błędów lub innych początkowych problemów, które mogą wymagać debugowania i łatania.