Käytä mitä tahansa aikaa työskentelemiseen tai tietokoneella pelaamiseen ja kuulet pian kolme sanaa: vianmääritys, testaus ja virheenkorjaus. Vaikka kaksi ensimmäistä ovat riittävän yleisiä, niiden merkitykset voivat näyttää hämärtyneiltä tai jopa synonyymeiltä. Käytännössä jokainen näistä toimista on erilainen, vaikka liittyy toisiinsa.
Vianetsintä on loppukäyttäjän ja asiakastuen teknikon huuhaata, ja se alkaa, kun ohjelmisto tai laitteisto ei toimi odotetulla tavalla, jolloin tulos on odottamaton tai muuten epätyydyttävä. Monissa tapauksissa käyttäjävirhe on syyllinen.
Ensimmäinen askel vianmäärityksessä on kattaa perusasiat. Onko ohjelmisto tai laitteisto asennettu oikein? Onko se määritetty oikein? Oletko lukenut ohjekirjan ja noudattanut kaikkia ohjeita? Ehkä muutit jotain järjestelmässäsi, mikä aiheutti ongelman? Oletko käyttänyt tätä tuotetta koko ajan, vai onko se uusi asennus?
Jos kyseessä on uusi asennus, voit melkein olla varma, että ongelma on asennusprosessissa, etenkin laitteiston tapauksessa. Laitteisto vaatii laiteajurin (ohjelmistotiedoston), joka toimii sillanä tai rajapintana laitteiston ja käyttöjärjestelmän välillä. Jos laiteajuri epäonnistuu, laitteisto ei voi kommunikoida oikein muiden järjestelmän osien kanssa. Laiteajureita ei ehkä ole tai ne on asennettu väärässä järjestyksessä suhteessa laitteeseen.
Jos ongelma johtuu laitteistosta, joka toimi täydellisesti tähän asti, laiteajurin vioittuminen saattaa olla syy. Ajurin uudelleenasentaminen saattaa ratkaista ongelman. Päivitetty ohjain voi myös tehdä tempun. Muina aikoina ongelma ratkaistaan, kun emolevyn komponentti asennetaan uudelleen sammuttamalla tietokone, purkamalla komponentti ja asentamalla se uudelleen.
Windows ™ -käyttöjärjestelmien vianmäärityslaitteita on saatavana myös Laitehallinta- ja Ohje -valikoista. Laitehallinnassa komponentin vieressä oleva keltainen huutomerkki ilmaisee ongelman.
Ohjelmisto, joka alkaa toimia huonosti, saattaa myös olla vioittunut. Uudelleenasennus voi joskus auttaa, mutta jos ohjelma alkoi toimia uuden, toisiinsa liittymättömän ohjelmiston asentamisen jälkeen, näiden kahden välillä saattaa olla ristiriita. Palomuurit ja virustentorjuntaohjelmat ovat tunnettuja siitä, etteivät ne pelaa hyvin yhdessä, ja on luultavasti viisasta pitää kiinni vain yhdestä ohjelmasta kussakin näistä luokista, ellet ole kokenut käyttäjä.
Yleensä vianetsintään kuuluu yleensä käsikirjojen tai ohjetiedostojen lukeminen, perusasioiden käsittely käyttäjän virheiden poistamiseksi mahdollisena syynä ja hakukoneen käyttäminen sen selvittämiseksi, miten muut ovat ratkaisseet ongelman. Jos on yksi asia, johon voit aina luottaa loppukäyttäjänä, se on, että joku on kävellyt kengissäsi ennen. Internet -yhteisö on erittäin hyvä tarjoamaan apua, ja useimmissa tapauksissa vastaukset löytyvät ahkerasta etsinnästä.
Testaus on virheenkorjauksen edeltäjä. Testaus on yleensä ohjelmoijien ja kokeneiden käyttäjien vahvuus, ja se tapahtuu, kun tuote on uusi tai sitä päivitetään ja se on suoritettava vaiheittain mahdollisten ongelmien poistamiseksi. Testaus tunnistaa “vikoja” tai puutteita, jotta ne voidaan korjata virheenkorjausprosessissa ennen tuotteen [seuraavaa] virallista julkaisua. Näitä “epävirallisia” julkaisuja kutsutaan beeta -julkaisuiksi (esim. 3.0b), ja julkisia vapaaehtoisia kutsutaan beta -testaajiksi.
Betatestaus on arvokas resurssi ohjelmistokehittäjille, koska siihen osallistuvat erilaiset tietokonejärjestelmät ja pelkkä tuntimäärä ja skenaariot, joissa ohjelmaa käytetään. Tämä huuhtelee odottamattomat ongelmat tavalla, jota ei voida tehokkaasti saavuttaa käyttämällä vain sisäisiä virheenkorjaimia. Beta -testausvaihe antaa kirjoittajille hyvän käsityksen tuotteen valmiudesta julkiseen käyttöön.
Laitteisto on myös beetatestattu, mutta koska ilmaisten beetalaitteistojen tarjoaminen yleisölle on taloudellisesti kiellettyä, laitteistotestaus ja virheenkorjaus tehdään yleensä kotona. Beetatuotteita saatetaan kuitenkin ensi -iltata ja joissakin tapauksissa jakaa rajoitettu määrä alan sisäpiiriläisille konferensseissa, kuten COMDEX.
Beta -ohjelmisto on erityisesti saatavana testaukseen, eikä sitä pidetä vakaana julkaisuna. Beetatestaajat asentavat beeta -ohjelmiston omalla vastuullaan ja auttavat ohjelmistokehittäjiä tunnistamaan ongelman lähteen, heidän on annettava terveitä tietoja, kun he ilmoittavat virheestä. Vaaditut tiedot vaihtelevat, mutta sisältävät yleensä järjestelmän tekniset tiedot, beta -version ja koontiversion, virheen tarkat olosuhteet ja virheilmoitusten sisällön.
Virheenkorjaus on ohjelmoijien ja kehittäjien vahvuus, ja siihen kuuluu ohjelmiston koodin korjaaminen virheiden tai virheiden poistamiseksi. Kehittäjät yrittävät toistaa beta-raportoituja vikoja talon järjestelmissä niiden poistamiseksi.
Vaikka virheenkorjaustyökaluja on monenlaisia, yksinkertainen esimerkki on työkalu, jonka avulla ohjelmoija voi seurata ohjelmakoodia ja manipuloida sitä suorittaakseen erilaisia komentoja ja rutiineja. Yksi peruslähestymistapa on yksinkertaistaa koodia mahdollisimman paljon epäillyssä ongelmakohdassa samalla, kun se toistaa ongelman ja rajoittaa keskittymisen mahdollisiin ongelmakohtiin. Todellisuudessa virheenkorjaus on monimutkainen prosessi, joka vaatii erilaisia lähestymistapoja, jotka perustuvat esimerkiksi ohjelmistokoodin monimutkaisuuteen ja pituuteen sekä kieleen, jolla se on kirjoitettu.
Virheenkorjaus voi olla väsyttävä tehtävä, vaikka joidenkin kielten virheenkorjaus on helpompaa kuin toisten. Esimerkiksi Java sisältää rutiinit, jotka käsittelevät poikkeusvirheitä. Poikkeusvirhe ilmenee, kun ohjelma kohtaa tilanteen, joka on ratkaistava ennen kuin ohjelma voi jatkaa kunnolla. Tässä tapauksessa sisäänrakennettu rutiini käynnistää ”haun” ohjelmistokoodin eri kerroksista ja etsii vastausta ongelmaan. Jos korjausta ei löydy, tapahtuu kohtalokas poikkeusvirhe ja ohjelma sammuu. Tuloksena oleva virheilmoitus saattaa sisältää muistiosoitteen tai muita salaisia tietoja, jotka eivät auta käyttäjää, mutta voivat olla arvokkaita virheenkorjauksessa. Hyvin kirjoitetuissa ohjelmissa ei saa olla kohtalokkaita virheitä.
Vanhemmat ohjelmointikielet, kuten C tai kokoonpano, eivät ole yhtä läpinäkyviä eivätkä käsittele virheitä niin tehokkaasti. Näillä kielillä kirjoitetut virheenkorjausohjelmat voivat testata virheenkorjaajan taitoja ja kärsivällisyyttä.
Onneksi loppukäyttäjälle kaupallisesti saatavilla olevista ohjelmistoista on jo poistettu suuria virheitä. Tästä syystä useimmat loppukäyttäjän kohtaamat ongelmat kuuluvat vianmäärityksen piiriin, ja ne voidaan korjata aiemmin mainituilla tavoilla. Tapauksissa, joissa loppukäyttäjä kohtaa virheen, vianetsintäliikkeet voivat paljastaa kiertämisen, kunnes kehittäjä on korjannut virheen.
Kun pyydät apua verkkofoorumilta tai uutisryhmästä, muista tehdä läksyt etukäteen. Vianetsintä on aikaa vievää, ja vapaaehtoisesti apua antavat ihmiset arvostavat jotakuta, joka on pyrkinyt löytämään vastauksia. Kysyminen ongelmasta, jota on kysytty ja vastattu toistuvasti, ei voita ystäviäsi, ja sitä pidetään huonona netiketinä.