Wat is het verschil tussen probleemoplossing, testen en foutopsporing?
Besteed elke hoeveelheid tijd aan het werken of spelen op computers en al snel hoor je drie woorden over: probleemoplossing , testen en foutopsporing . Hoewel de eerste twee vaak genoeg voorkomen, kunnen hun betekenissen wazig of zelfs synoniem lijken. In de praktijk is elk van deze acties anders, hoewel gerelateerd.
Problemen oplossen is de last van de eindgebruiker en de klantenservicetechnicus en begint wanneer de software of hardware niet naar verwachting presteert en een onverwacht of anderszins onbevredigend resultaat oplevert. In veel gevallen is er een fout van de gebruiker.
De eerste stap bij het oplossen van problemen is het behandelen van de basis. Is de software of hardware correct geïnstalleerd? Is het correct geconfigureerd? Heb je de handleiding gelezen en alle instructies opgevolgd? Misschien hebt u iets in uw systeem veranderd dat het probleem heeft veroorzaakt? Heb je dit product altijd al gebruikt, of is het een nieuwe installatie?
Als het een nieuwe installatie is, kunt u er bijna zeker van zijn dat het probleem in het installatieproces ligt, met name in het geval van hardware. Hardware vereist een apparaatstuurprogramma (softwarebestand) dat fungeert als een brug of interface tussen de hardware en het besturingssysteem. Als het stuurprogramma mislukt, kan de hardware niet correct communiceren met andere systeemcomponenten. Apparaatstuurprogramma's zijn mogelijk niet aanwezig of zijn mogelijk in de verkeerde volgorde ten opzichte van het apparaat geïnstalleerd.
Als het probleem ligt in hardware die tot op heden perfect werkte, kan corruptie van het stuurprogramma de oorzaak zijn. Het opnieuw installeren van het stuurprogramma kan het probleem oplossen. Een geüpdatet stuurprogramma kan ook werken. Op andere momenten zorgt het opnieuw oplossen van een component op het moederbord door de computer uit te schakelen, de component uit te pakken en vervolgens opnieuw te installeren.
Probleemoplossing voor hardware in Windows ™ -besturingssystemen is ook beschikbaar via Apparaatbeheer en Help- menu's. Een geel uitroepteken naast een component in Apparaatbeheer geeft een probleem aan.
Software die zich slecht begint te gedragen, kan ook beschadigd zijn. Herinstallatie kan soms helpen, maar als een programma begint te werken nadat nieuwe, niet-gerelateerde software is geïnstalleerd, is er mogelijk een conflict tussen de twee. Firewalls en antivirusprogramma's zijn berucht omdat ze niet mooi samen spelen, en het is waarschijnlijk verstandig om slechts één programma in elk van deze categorieën te gebruiken, tenzij je een ervaren gebruiker bent.
Problemen oplossen in het algemeen omvat meestal het lezen van handleidingen of helpbestanden, het doornemen van de basis om gebruikersfouten als mogelijke oorzaak te elimineren, en het gebruik van een zoekmachine om te onderzoeken hoe anderen het probleem hebben opgelost. Als er één ding is waar u altijd op kunt rekenen als eindgebruiker, is het dat iemand eerder in uw schoenen heeft gelopen. De internetcommunity is erg goed in het bieden van hulp en in de meeste gevallen kunnen antwoorden worden gevonden door zorgvuldig te zoeken.
Testen is de voorloper van foutopsporing. Testen is meestal de kracht van programmeurs en geavanceerde gebruikers, en vindt plaats wanneer een product nieuw is of wordt bijgewerkt en moet worden getest om mogelijke problemen te elimineren. Testen identificeert "bugs" of onvolkomenheden zodat ze kunnen worden gecorrigeerd in het foutopsporingsproces, vóór de [volgende] officiële release van het product. Deze "niet-officiële" releases staan bekend als beta- releases (bijv. 3.0 b ), en openbare vrijwilligers staan bekend als beta-testers.
Bètatests zijn een waardevolle bron voor softwareontwikkelaars vanwege de gevarieerde deelnemende computersystemen, gecombineerd met het enorme aantal uren en scenario's waaronder het programma wordt gebruikt. Dit verwijdert onvoorziene problemen op een manier die niet effectief kan worden bereikt met alleen interne debuggers. De bètatestfase geeft auteurs een goed idee van de gereedheid van een product voor het publieke domein.
Hardware is ook bètatest, maar omdat het financieel onbetaalbaar is om gratis bètahardware aan het publiek te bieden, worden hardwaretests en foutopsporing meestal intern gedaan. Bètaproducten kunnen echter in première gaan en in sommige gevallen in beperkte aantallen worden verdeeld onder insiders in de industrie op conferenties zoals COMDEX.
Beta-software wordt specifiek beschikbaar gesteld voor testen en wordt niet als een stabiele release beschouwd. Bètatesters installeren bètasoftware op eigen risico en om softwareontwikkelaars te helpen de oorzaak van een probleem te achterhalen, moeten ze een gezonde hoeveelheid informatie verstrekken bij het melden van een bug. Vereiste gegevens variëren, maar bevatten over het algemeen systeemspecificaties, bètaversie en build, de exacte omstandigheden waaronder de fout is opgetreden en inhoud van foutmeldingen.
Foutopsporing is de forte van programmeurs en ontwikkelaars, en houdt in dat de code van de software wordt gecorrigeerd om fouten of bugs te elimineren. Ontwikkelaars proberen bèta-gemelde bugs in eigen systemen te repliceren om ze te elimineren.
Hoewel er veel soorten hulpprogramma's voor foutopsporing zijn, is een eenvoudig voorbeeld een programma waarmee de programmeur programmacode kan controleren en deze tegelijkertijd kan manipuleren om verschillende opdrachten en routines uit te voeren. Een basisbenadering is om de code zo veel mogelijk te vereenvoudigen op de vermoedelijke onrustige plek, terwijl het probleem nog steeds wordt gerepliceerd, waardoor de focus wordt beperkt tot mogelijke probleemlijnen. In werkelijkheid is debuggen een complex proces dat verschillende benaderingen vereist op basis van factoren zoals de complexiteit en de lengte van de softwarecode zelf, en de taal waarmee het is geschreven.
Debuggen kan een vervelende taak zijn, hoewel sommige talen gemakkelijker te debuggen zijn dan andere. Java bevat bijvoorbeeld routines die uitzonderingsfouten verwerken. Er treedt een uitzonderingsfout op wanneer het programma een situatie tegenkomt die moet worden verholpen voordat het programma correct kan worden voortgezet. In dit geval start een ingebouwde routine een "zoekactie" binnen de verschillende lagen softwarecode, op zoek naar een antwoord op het probleem. Als er geen oplossing wordt gevonden, treedt een fatale uitzonderingsfout op en wordt het programma afgesloten. Het resulterende foutbericht kan een geheugenadres of andere cryptische gegevens bevatten die de gebruiker niet kunnen helpen, maar die waardevol kunnen zijn voor foutopsporing. Goed geschreven programma's mogen geen fatale fouten bevatten.
Oudere programmeertalen zoals C of assembly zijn niet zo transparant en kunnen fouten niet zo efficiënt verwerken. Programma's voor foutopsporing die in deze talen zijn geschreven, kunnen de vaardigheden en het geduld van de foutopsporing testen.
Gelukkig voor de eindgebruiker is er in de commercieel beschikbare software al sprake van grote fouten. Vanwege deze reden vallen de meeste problemen van de eindgebruiker onder de probleemoplossing en kunnen worden opgelost met eerder genoemde middelen. In die gevallen dat een eindgebruiker een bug tegenkomt, kan het doorlopen van de bewegingen van het oplossen van problemen een oplossing bieden totdat de bug door de ontwikkelaar is opgelost.
Wanneer u om hulp vraagt op een webforum of nieuwsgroep, moet u uw huiswerk van tevoren doen. Problemen oplossen is tijdrovend en mensen die hun hulp aanbieden, waarderen iemand die zich heeft ingespannen om antwoorden te vinden. Vragen naar een probleem dat herhaaldelijk is gesteld en beantwoord, zal je geen vrienden opleveren en wordt beschouwd als een slechte netiquette.