line-chart inbox tachometer pencil search-plus quote-right quote-left share-alt smile-o birthday-cake thumbs-o-up lightbulb-o trophy pie-chart user question-circle dropbox exclamation folder-open-o sign-in exclamation-triangle ban youtube building-o icon-mouse-pointer angle-down angle-up location-arrow file-text-o heart-o heart envelope bars comment times info-circle envelope-o thumb-tack list-alt google lock at map-marker search twitter linkedin facebook bold users bar-chart home chevron-left chevron-right check chevron-down chevron-up file-pdf-o eye filter pencil-square-o database rss-square link whatsapp cogs upload calender plus minus picture-o sort step-backward step-forward weixin share share shopping-cart circle download level-up star phone check-square-o clock-o arrow-up trash-o external-link arrow-down price-tag

Troubleshooting en debugging: wat is het verschil?

Michiel van der Avoird - woensdag 5 december 2018

De termen troubleshooting en debugging worden nog weleens door elkaar gebruikt. ‘Probleemoplossing’ kan betrekking hebben op uiteenlopende systemen en bedrijfsmatige processen op allerlei afdelingen. Bugs kunnen alleen opgelost worden door technisch specialisten zoals programmeurs en softwareontwikkelaars.

Troubleshooting

Het proces van probleemoplossing helpt ICT’ers op uiteenlopende (niet-technische) afdelingen problemen te identificeren. Troubleshooting is van toepassing op een veelvoud aan systeemelementen en vindt over het algemeen op een ‘hoger’, met een beter woord ‘strategischer’ niveau plaats dan technische foutoplossing. Lees meer over de verschillende fases in dit proces.

Programmeurs, developers, technisch applicatiebeheerders en testers besteden meer tijd aan het oplossen bugs dan aan het stroomlijnen van een bedrijfsproces. Echter, hoe meer praktijkervaring ontwikkelaars hebben, hoe vaker zij zullen troubleshooten. Daarover later meer.

 

Debugging

Debuggen draait om het detecteren en verhelpen van bestaande en potentiële codefouten in programma’s en hardware. Foutopsporing voorkomt dat een systeem of software onverwacht gedrag vertoont of crasht. Het proces is complexer als meerdere subsystemen of modules aan elkaar zijn gekoppeld. Een wijziging in de ene module kan fouten veroorzaken in de andere. Het kost soms meer tijd om een ​​programma te debuggen dan te coderen.

Debuggers identificeren codefouten in verschillende fases van softwareontwikkeling. Deze softwareprogramma’s reproduceren de omstandigheden waarin een fout is opgetreden. Vervolgens wordt de programma-status onderzocht om de exacte oorzaak vast te stellen.

 

Processtappen

Te nemen stappen lijken op het eerste oog vergelijkbaar: waar ‘bug’ staat kan immers eveneens ‘probleem’ worden ingevuld.

Welke stappen moet je over het algemeen zetten? In grote lijnen:
 
  1. Reproduceer de bug.
  2. Identificeer de bug. Verzamel zoveel mogelijk informatie van de gebruiker om de exacte oorzaak te achterhalen.
  3. Maak een momentopname van de fout, verzamel alle variabele waarden en programma-statussen.
  4. Analyseer de momentopname op basis van de status en actie. Probeer de oorzaak van de bug te achterhalen.
  5. Los de fout op, controleer ook of er zich geen nieuwe fouten voordoen.
 

Wat is het verschil?

  • In een ICT-context of niet; troubleshooten heeft een algemenere betekenis dan debuggen.
  • ‘Probleemoplossing’ kan op een strategischer niveau plaatsvinden, aan de operations-kant van DevOps.
  • Het kan gaan om trage bedrijfsprocessen en problemen bij workflow-protocollen waarvoor geen directe oplossing noodzakelijk is.
 
  • Debuggen draait om het opsporen en oplossen van fouten in computerprogramma’s of –apparatuur en is een subonderdeel van een IT-probleemoplossing.
  • Software- of systeemfouten kunnen een bedrijf compleet stilleggen. Bugs moeten dan ook zo snel mogelijk worden opgelost.
  • Debugging wordt uitgevoerd door technische specialisten zoals full-stack developers, programmeurs en testers. Zij verhelpen een fout het liefst zo snel mogelijk, binnen één sessie.


Tenslotte: de rol ICT’ers wordt geherdefinieerd, grotendeels door veranderingen in de sector. Er zijn bijvoorbeeld developer-only teams, waarbij technici taken op zich nemen die normaliter door de afdeling operations worden uitgevoerd. Technici zoals back-end developers, testers en technisch applicatiebeheerders komen op die manier in aanraking met uitvoerende activiteiten (operations) van een bedrijf. Het blijft voor deze technisch specialisten daarom niet bij debuggen alleen. Ze krijgen eveneens te maken met troubleshooting.
  1. ICTerGezocht.nl
  2. Blog ICTerGezocht.nl