Hva er forskjellen mellom feilsøking, testing og feilsøking?
Bruk litt tid på å jobbe eller spille på datamaskiner, og snart vil du høre tre ord om bånd: feilsøking , testing og feilsøking . Mens de to første er vanlige nok, kan betydningen av dem virke uskarpe eller til og med synonyme. I praksis er hver av disse handlingene forskjellige, selv om de er relatert.
Feilsøking er sluttbrukerens og kundesupportteknikerens bane, og begynner når programvare eller maskinvare ikke fungerer som forventet, noe som gir et uventet eller ellers utilfredsstillende resultat. I mange tilfeller er brukerfeil skyld.
Det første trinnet i feilsøking er å dekke det grunnleggende. Er programvaren eller maskinvaren riktig installert? Er den konfigurert riktig? Har du lest manualen og fulgt alle instruksjonene? Kanskje du forandret noe i systemet ditt som utløste problemet? Har du brukt dette produktet hele tiden, eller er det en ny installasjon?
Hvis det er en ny installasjon, kan du nesten være sikker på at problemet ligger i installasjonsprosessen, spesielt når det gjelder maskinvare. Maskinvare krever en enhetsdriver (programvarefil) som fungerer som en bro eller grensesnitt mellom maskinvaren og operativsystemet. Hvis enhetsdriveren mislykkes, kan ikke maskinvaren kommunisere ordentlig med andre systemkomponenter. Enhetsdrivere er kanskje ikke til stede eller har blitt installert i feil rekkefølge i forhold til enheten.
Hvis problemet ligger i maskinvare som fungerte helt fint frem til i dag, kan det være korrupsjon av enhetsdriveren. Å installere driveren igjen kan løse problemet. En oppdatert driver kan også gjøre susen. Andre ganger, ved å reseatere en komponent på hovedkortet ved å slå av datamaskinen, trekke ut komponenten og deretter installere den på nytt tar vare på problemet.
Feilsøking av maskinvare i Windows ™ -operativsystemer er også tilgjengelig via Enhetsbehandler- og hjelpemenyene . Et gult utropstegn ved siden av en komponent i Enhetsbehandler indikerer et problem.
Programvare som begynner å oppføre seg dårlig, kan også bli ødelagt. Noen ganger kan reinstallering hjelpe, men hvis et program begynte å fungere etter at ny, ikke relatert programvare ble installert, kan det være en konflikt mellom de to. Brannmurer og antivirusprogrammer er beryktet for at de ikke spiller fint sammen, og det er sannsynligvis lurt å holde seg til bare ett program i hver av disse kategoriene, med mindre du er en avansert bruker.
Feilsøking generelt innebærer vanligvis å lese manualer eller hjelpefiler, gå over det grunnleggende for å eliminere brukerfeil som en potensiell årsak, og bruke en søkemotor for å undersøke hvordan andre har løst problemet. Hvis det er en ting du alltid kan stole på som sluttbruker, er det at noen har gått i skoene dine før. Internett-samfunnet er veldig flinke til å gi hjelp, og i de fleste tilfeller kan du finne svar ved flittig søk.
Testing er forløperen for feilsøking. Testing er ofte forte for programmerere og avanserte brukere, og oppstår når et produkt er nytt eller blir oppdatert og må settes igjennom tempoet for å eliminere potensielle problemer. Testing identifiserer "bugs" eller ufullkommenheter slik at de kan rettes i feilsøkingsprosessen før [neste] offisielle utgivelse av produktet. Disse “uoffisielle” utgivelsene er kjent som betaversjoner (f.eks. 3.0 b ), og offentlige frivillige er kjent som betatestere.
Betatesting er en verdifull ressurs for programvareutviklere på grunn av de varierte datasystemene som deltar, kombinert med det store antall timer og scenarier som programmet brukes under. Dette skyller ut uforutsette problemer på en måte som ikke effektivt kan oppnås ved bruk av husfeilere. Betatestingsfasen gir forfattere en god ide om beredskapen til et produkt for det offentlige.
Maskinvare er også beta-testet, men siden det er økonomisk uoverkommelig å tilby gratis beta-maskinvare til publikum, blir maskinvaretesting og feilsøking ofte gjort i hus. Betaprodukter kan imidlertid ha premiere og i noen tilfeller distribueres i begrenset antall til industrinsidere på konferanser som COMDEX.
Beta-programvare er spesifikt gjort tilgjengelig for testing og regnes ikke som en stabil utgave. Betatestere installerer beta-programvare på egen risiko, og for å hjelpe programvareutviklere med å identifisere kilden til et problem, må de levere en sunn mengde informasjon når de rapporterer en feil. Nødvendige data varierer, men inkluderer vanligvis systemspesifikasjoner, betaversjon og build, de eksakte forhold under feilen og feilmeldingsinnhold.
Feilsøking er foreten til programmerere og utviklere, og innebærer å fikse selve koden til programvaren for å eliminere feil eller feil. Utviklere prøver å gjenskape betarapporterte feil i husets systemer med det formål å eliminere dem.
Selv om det er mange typer feilsøkingsverktøy, er et enkelt eksempel et verktøy som lar programmereren overvåke programkoden mens han manipulerer den for å utføre forskjellige kommandoer og rutiner. En grunnleggende tilnærming er å forenkle koden så mye som mulig på det mistenkte urolige stedet, mens du fortsatt replikerer problemet, og begrenser fokuset til potensielle problemlinjer. I realiteten er feilsøking en kompleks prosess som krever forskjellige tilnærminger basert på faktorer som kompleksiteten og lengden på selve programvarekoden, og språket den er skrevet med.
Feilsøking kan være en slitsom oppgave, selv om noen språk er lettere å feilsøke enn andre. Java inkluderer for eksempel rutiner som håndterer unntaksfeil. En unntaksfeil oppstår når programmet støter på en situasjon som må løses før programmet kan fortsette på riktig måte. I dette tilfellet starter en innebygd rutine et "søk" innenfor de forskjellige lagene med programvarekode, og leter etter et svar på problemet. Hvis en løsning ikke kan bli funnet, oppstår en dødelig unntaksfeil , og programmet slås av. Den resulterende feilmeldingen kan inneholde en minneadresse eller annen kryptisk data som ikke vil hjelpe brukeren, men som kan være nyttig for feilsøking. Velskrevne programmer skal ikke ha fatale feil.
Eldre programmeringsspråk som C eller montering er ikke så gjennomsiktige og håndterer ikke feil så effektivt. Feilsøkingsprogrammer skrevet på disse språkene kan teste debuggers ferdigheter og tålmodighet.
Heldigvis for sluttbrukeren, har kommersiell tilgjengelig programvare allerede blitt feilsøkt av store feil. På grunn av nettopp denne grunnen, faller de fleste problemer som sluttbrukeren opplever, innenfor oppgaven til feilsøking og kan fikses ved hjelp av tidligere nevnte. I de tilfeller en sluttbruker møter en feil, kan gjennomgå bevegelsene for feilsøking avsløre en omgang til feilen er løst av utvikleren.
Når du ber om hjelp på et nettforum eller en nyhetsgruppe, må du huske å gjøre leksene på forhånd. Feilsøking er tidkrevende, og folk som melder seg frivillig, setter pris på noen som har gjort en innsats for å finne svar. Å spørre om et problem som er blitt spurt og besvart gjentatte ganger, vil ikke vinne vennene dine og regnes som dårlig netikette.