Kakšna je razlika med odpravljanjem težav, testiranjem in odpravljanjem napak?

Preživite poljubno količino časa za delo ali igranje na računalnikih in kmalu boste slišali tri besede: odpravljanje težav, testiranje in odpravljanje napak. Čeprav sta prva dva dovolj pogosta, se njuna pomena morda zdita zamegljena ali celo sinonimna. V praksi je vsako od teh dejanj drugačno, čeprav povezano.

Odpravljanje težav je poguba tehnika za podporo končnim uporabnikom in strankam in se začne, ko programska ali strojna oprema ne deluje po pričakovanjih, kar daje nepričakovan ali drugače nezadovoljiv rezultat. V mnogih primerih je kriva napaka uporabnika.

Prvi korak pri odpravljanju težav je pokrivanje osnov. Ali je programska ali strojna oprema pravilno nameščena? Ali je pravilno konfiguriran? Ste prebrali priročnik in upoštevali vsa navodila? Ste morda v sistemu kaj spremenili, kar je povzročilo težavo? Ali že ves čas uporabljate ta izdelek ali gre za novo namestitev?

Če gre za novo namestitev, ste lahko skoraj prepričani, da je težava v postopku namestitve, zlasti v primeru strojne opreme. Strojna oprema zahteva gonilnik naprave (programska datoteka), ki deluje kot most ali vmesnik med strojno opremo in operacijskim sistemom. Če gonilnik naprave ne uspe, strojna oprema ne more pravilno komunicirati z drugimi komponentami sistema. Gonilniki naprav morda niso prisotni ali pa so bili nameščeni v napačnem vrstnem redu glede na napravo.

Če je težava v strojni opremi, ki je do tega trenutka delovala popolnoma brezhibno, je lahko vzrok poškodba gonilnika naprave. Ponovna namestitev gonilnika lahko odpravi težavo. Posodobljeni gonilnik bi lahko naredil tudi trik. V drugih primerih ponovno namestite komponento na matični plošči tako, da izklopite računalnik, izvlečete komponento in jo znova namestite, odpravi težavo.
Odpravljanje težav s strojno opremo v operacijskih sistemih Windows™ je na voljo tudi prek menijev Upravitelj naprav in Pomoč. Rumeni klicaj poleg komponente v upravitelju naprav označuje težavo.
Programska oprema, ki se začne slabo obnašati, je lahko tudi poškodovana. Ponovna namestitev lahko včasih pomaga, vendar če je program začel delovati po namestitvi nove, nepovezane programske opreme, lahko pride do konflikta med obema. Požarni zidovi in ​​protivirusni programi so znani po tem, da se ne igrajo lepo skupaj, in verjetno se je pametno držati le enega programa v vsaki od teh kategorij, razen če ste napreden uporabnik.
Odpravljanje težav na splošno običajno vključuje branje priročnikov ali datotek pomoči, pregled osnov za odpravo napake uporabnika kot možnega vzroka in uporabo iskalnika za raziskovanje, kako so drugi problem rešili. Če obstaja ena stvar, na katero lahko vedno računate kot končni uporabnik, je to, da je nekdo že stopil v vaše čevlje. Internetna skupnost je zelo dobra pri zagotavljanju pomoči in v večini primerov je odgovore mogoče najti s skrbnim iskanjem.
Testiranje je predhodnik za odpravljanje napak. Testiranje je običajno prednost programerjev in naprednih uporabnikov in se zgodi, ko je izdelek nov ali se posodablja in ga je treba opraviti skozi svoje korake, da se odpravijo morebitne težave. S testiranjem se odkrijejo “hrošče” ali pomanjkljivosti, tako da jih je mogoče popraviti v postopku odpravljanja napak, pred [naslednjo] uradno izdajo izdelka. Te “neuradne” izdaje so znane kot beta izdaje (npr. 3.0b), javni prostovoljci pa so znani kot beta preizkuševalci.
Beta testiranje je dragocen vir za razvijalce programske opreme zaradi različnih računalniških sistemov, ki sodelujejo, v kombinaciji s samim številom ur in scenarijev, v katerih se program uporablja. To odpravlja nepredvidene težave na način, ki ga ni mogoče učinkovito doseči samo z domačimi razhroščevalniki. Faza beta testiranja daje avtorjem dobro predstavo o pripravljenosti izdelka za javno domeno.
Tudi strojna oprema je preizkušena v različici beta, a ker je finančno previsoko posredovati brezplačno beta strojno opremo javnosti, se testiranje in odpravljanje napak strojne opreme običajno izvaja doma. Beta izdelki pa bi lahko bili premierno predstavljeni in v nekaterih primerih razdeljeni v omejenem številu poznavalcem industrije na konferencah, kot je COMDEX.
Beta programska oprema je posebej na voljo za testiranje in se ne šteje za stabilno izdajo. Preizkuševalci beta namestijo programsko opremo beta na lastno odgovornost in da bi razvijalcem programske opreme pomagali prepoznati vir težave, morajo pri prijavi napake zagotoviti zdravo količino informacij. Zahtevani podatki se razlikujejo, vendar na splošno vključujejo sistemske specifikacije, beta različico in gradnjo, natančne pogoje, pod katerimi je prišlo do napake, in vsebino sporočila o napaki.
Odpravljanje napak je močna stran programerjev in razvijalcev in vključuje popravljanje same kode programske opreme za odpravo napak ali hroščev. Razvijalci poskušajo ponoviti napake, o katerih so poročali beta, na domače sisteme, da bi jih odpravili.
Čeprav obstaja veliko vrst orodij za odpravljanje napak, je preprost primer orodje, ki programerju omogoča spremljanje programske kode, medtem ko z njo manipulira za izvajanje različnih ukazov in rutin. Eden od osnovnih pristopov je čim bolj poenostaviti kodo na domnevnem problematičnem mestu, hkrati pa še vedno ponoviti težavo in zožiti fokus na morebitne težave. V resnici je odpravljanje napak zapleten proces, ki zahteva različne pristope, ki temeljijo na dejavnikih, kot so zapletenost in dolžina same programske kode ter jezik, v katerem je napisana.
Odpravljanje napak je lahko naporno opravilo, čeprav je nekatere jezike lažje odpraviti kot druge. Java na primer vključuje rutine, ki obravnavajo napake izjem. Napaka izjeme se pojavi, ko program naleti na situacijo, ki jo je treba odpraviti, preden lahko program pravilno nadaljuje. V tem primeru vgrajena rutina sproži “iskanje” znotraj različnih plasti programske kode in išče odgovor na težavo. Če popravka ni mogoče najti, pride do usodne napake izjeme in program se izklopi. Posledično sporočilo o napaki lahko vključuje pomnilniški naslov ali nekatere druge skrivnostne podatke, ki uporabniku ne bodo v pomoč, a bi lahko bili dragoceni za odpravljanje napak. Dobro napisani programi ne smejo imeti usodnih napak.
Starejši programski jeziki, kot sta C ali montaža, niso tako pregledni in ne obravnavajo napak tako učinkovito. Programi za odpravljanje napak, napisani v teh jezikih, lahko preizkusijo spretnosti in potrpežljivost odpravljalnika napak.
Na srečo za končnega uporabnika je bila komercialno dostopna programska oprema že odpravljena zaradi večjih napak. Prav zaradi tega razloga večina težav, s katerimi se srečuje končni uporabnik, spada v področje odpravljanja težav in jih je mogoče odpraviti na prej omenjeni način. V primerih, ko končni uporabnik naleti na napako, lahko odpravljanje težav razkrije rešitev, dokler razvijalec napake ne odpravi.
Ko prosite za pomoč na spletnem forumu ali novičarski skupini, vnaprej naredite domačo nalogo. Odpravljanje težav je dolgotrajno in ljudje, ki prostovoljno nudijo njihovo pomoč, cenijo nekoga, ki se je potrudil iskati odgovore. Spraševanje o težavi, ki je bila večkrat zastavljena in na katero ste odgovorili, vas ne bo pridobilo prijateljev in velja za slabo etiketo.