Odpravljanje napak se nanaša na proces pri razvoju programske opreme, pri katerem programski analitiki prečešejo računalniško kodo in iščejo “hrošče” – vir napak, napak ali varnostnih lukenj v notranjih navodilih programa. Razvoj strojne opreme poteka tudi skozi odpravljanje napak, da se zagotovi združljivost s trenutnimi standardi strojne opreme in interoperabilnost med komponentami, ki se držijo istih protokolov. Poleg tega odpravljanje napak zagotavlja, da sta strojna in programska oprema nazaj združljivi ali pa bosta obstajali z že obstoječimi standardi, ki so morda še vedno v uporabi.
Odpravljanje napak v programski opremi poteka v dveh fazah. Prva faza je znana kot “alfa testiranje” in se izvaja v podjetju, preden je programska oprema javno objavljena. Druga faza se izvaja z javnim postopkom, znanim kot “beta testiranje”. Preizkuševalci beta so prostovoljni računalniški navdušenci, ki uporabljajo beta programsko opremo na lastno odgovornost in soglašajo, da bodo o napakah ali težavah poročali razvijalcem.
Ker je treba napake izolirati in identificirati, preden jih lahko popravimo, je prvi korak testiranje programske opreme pod različnimi pogoji. Ko se napaka razkrije, razhroščevalnik upošteva natančne pogoje, pod katerimi se je napaka pojavila, vključno s trenutno funkcijo delovanja, vrsto in različico operacijskega sistema ter drugimi komponentami programske ali strojne opreme, ki bi lahko bile pomembne. Javni preizkuševalci beta predložijo na spletu podrobna poročila z ustreznimi podatki, običajno tako, da izpolnijo vnaprej oblikovan obrazec.
Ko sta obe fazi odpravljanja napak zaključeni, je program pripravljen za splošno izdajo kot stabilna različica. Vendar pa se odpravljanje napak nadaljuje kot vzdrževalni protokol za celotno življenjsko dobo izdelka in se okrepi z večjimi nadgradnjami.
Strojna oprema je razhroščena, preden pride na trg in sama po sebi ni podvržena testiranju beta v resničnem svetu, saj bi bilo to predrago in problematično iz več precej očitnih razlogov. Namesto tega večina proizvajalcev strojne opreme ponuja spletni vmesnik, kjer lahko uporabniki dobijo tehnično podporo ali prijavijo težave s strojno opremo. V mnogih primerih se te težave izkažejo za napako uporabnika, vendar postopek služi tudi za odkrivanje hroščev, ki niso bili ujeti v začetni fazi odpravljanja napak. Razhroščevalniki se lahko vrnejo k navodilom, kodiranim v krmilnih čipih, in naredijo spremembe, da se strojno opremo znebijo hroščev. Proizvajalec lahko nato zagotovi nadgradnjo vdelane programske opreme, ki jo uporabniki lahko prenesejo v splet, da posodobijo svojo strojno opremo.
Medtem ko lahko notranje razhroščevanje zagotovo reši programsko in strojno opremo številnih napak, nič ne nadomešča testiranja v resničnem svetu. Za avtorja ali proizvajalca je skoraj nemogoče ponoviti vse možne pogoje in sistem, v katerem bo strojna ali programska oprema uporabljena. Mnogi izkušeni uporabniki IBM-PC čakajo 12-36 mesecev, preden se preselijo na nov operacijski sistem iz tega razloga, kot je prehod z Windows™ XP™ na Windows Vista™. To daje skupnosti čas, da prepozna vse večje varnostne težave, hrošče ali druge začetne težave, ki bi lahko zahtevale odpravljanje napak in popravke.