hoe software Bugs en defecten te vinden

waar zou volgens u de thuisbasis van de software bugs kunnen zijn? Correct, in software. Maar waar precies?

waarom gebeurt het dat programma ‘ s niet correct werken? Het is heel eenvoudig – ze zijn gemaakt en gebruikt door mensen. Als de gebruiker een fout maakt, kan dit leiden tot een probleem in de werking van het programma – het wordt verkeerd gebruikt, wat betekent dat het zich niet kan gedragen zoals verwacht.

menselijke fout

een fout-is een menselijke handeling die een onjuist resultaat oplevert.

software is echter ontworpen en gemaakt door mensen die ook fouten kunnen (en doen) maken. Dit betekent dat er fouten in de software zelf. Ze worden defecten of bugs genoemd (beide benamingen zijn gelijkwaardig). Vergeet niet-software is meer dan alleen code.

softwaredefecten of Bugs

Defect, Bug-een deficiëntie van een component of systeem dat kan leiden tot het falen van bepaalde functionaliteit. Een defect ontdekt tijdens de uitvoering van het programma kan leiden tot een storing van een afzonderlijke component of het hele systeem.

tijdens het uitvoeren van de programmacode kunnen defecten optreden die zelfs tijdens het schrijven zijn ingebed: het programma mag niet doen wat het zou moeten doen, of vice versa – doe wat het niet zou moeten doen en er treedt een crash op.

softwarefout of Crash

storing of crash is een discrepantie tussen het werkelijke resultaat van de werking van een onderdeel of systeem en het verwachte resultaat.

falen van het programma kan een indicatie zijn van de aanwezigheid van een defect in het programma.

de bug bestaat dus wanneer aan drie voorwaarden tegelijkertijd wordt voldaan:

  • het verwachte resultaat is bekend;
  • het werkelijke resultaat is bekend;
  • het werkelijke resultaat verschilt van het verwachte resultaat.

het is belangrijk om te begrijpen dat niet alle bugs crashes veroorzaken – sommige van hen kunnen zich op geen enkele manier manifesteren en onopgemerkt blijven (of alleen onder zeer specifieke omstandigheden verschijnen).

storingen kunnen niet alleen worden veroorzaakt door defecten, maar ook door omgevingsomstandigheden: bijvoorbeeld straling, elektromagnetische velden of verontreiniging kunnen ook de werking van zowel software als hardware beïnvloeden.

in totaal zijn er verschillende oorzaken van defecten en, bijgevolg, mislukkingen:

  • fouten in de specificatie, het ontwerp of de implementatie van het softwaresysteem;
  • fouten in het systeemgebruik;
  • ongunstige omgevingsomstandigheden;
  • opzettelijke schade;
  • de mogelijke gevolgen van eerdere fouten, omstandigheden of opzettelijke handelingen.

defecten kunnen op verschillende niveaus optreden, en de kwaliteit van het systeem zal direct afhangen van de vraag of ze worden gecorrigeerd en wanneer.

kwaliteit – de mate waarin de reeks inherente kenmerken aan de eisen voldoet.

softwarekwaliteit is een verzameling kenmerken van software die het vermogen weerspiegelt om te voldoen aan gestelde en impliciete behoeften. Eis is een gevestigde behoefte of verwachting. Meestal aangenomen of vereist.

in het eerste geval werd alles correct uitgevoerd en kregen we een product dat volledig voldoet aan de verwachtingen van de klant en voldoet aan de kwaliteitscriteria.

in het tweede geval werden al fouten gemaakt tijdens het coderen, wat leidde tot het ontstaan van defecten in het eindproduct. Maar op dit niveau zijn bugs vrij gemakkelijk te herkennen en op te lossen, omdat we niet-naleving zien.

de derde optie is erger – hier werden fouten gemaakt in de ontwerpfase van het systeem. Dit kan alleen worden opgemerkt door het uitvoeren van een grondige controle met de specificatie. Het corrigeren van dergelijke gebreken is ook niet eenvoudig – u moet het productontwerp opnieuw ontwerpen.

in het vierde geval werden de gebreken vastgesteld bij de opstelling van de eisen; alle verdere ontwikkeling en zelfs testen gingen de aanvankelijk verkeerde weg. Tijdens het testen zullen we geen bugs vinden – het programma zal alle tests doorstaan, maar het kan door de klant worden afgewezen. U leert hier meer over in onze online QA klassen en certificering.

conventioneel zijn er vijf redenen voor het optreden van defecten in de programmacode.

  1. gebrek aan teamcommunicatie. Vaak, zakelijke eisen gewoon niet het ontwikkelingsteam bereiken. De klant heeft inzicht in hoe ze het eindproduct willen zien, maar als hun idee niet goed wordt uitgelegd aan de ontwikkelaars en testers, kan het resultaat niet zijn zoals verwacht. De eisen moeten beschikbaar en begrijpelijk zijn voor alle deelnemers aan het softwareontwikkelingsproces.
  2. complexiteit van de software. Moderne software bestaat uit vele componenten die worden gecombineerd tot complexe softwaresystemen. Multi-threaded applicaties, client-server en gedistribueerde architectuur, multi-tier databases-programma ‘ s worden steeds moeilijker te schrijven en te onderhouden, en hoe moeilijker de taak van programmeurs wordt. En hoe moeilijker het werk, hoe meer fouten de persoon die het uitvoert kan maken.
  3. wijzigingen in de vereisten. Zelfs kleine wijzigingen aan de eisen laat in de ontwikkeling vereisen veel werk om wijzigingen aan te brengen in het systeem. Het ontwerp en de architectuur van de applicatie is aan het veranderen, wat op zijn beurt veranderingen in de broncode en de principes van interactie van softwaremodules vereist. Deze voortdurende veranderingen zijn vaak de bron van subtiele defecten. Toch zijn vaak veranderende eisen in het moderne bedrijfsleven meer de regel dan de uitzondering, dus continue testen en risicobeheersing in dergelijke omstandigheden is de directe verantwoordelijkheid van de afdeling kwaliteitsborging.
  4. slecht gedocumenteerde code. Het is moeilijk om slecht geschreven en slecht gedocumenteerde code te onderhouden en te wijzigen. Veel bedrijven hebben speciale regels voor het schrijven en documenteren van code door programmeurs. Hoewel het in de praktijk vaak gebeurt dat ontwikkelaars worden gedwongen om programma ‘ s snel te schrijven in de eerste plaats, en dit heeft invloed op de kwaliteit van het product.
  5. Software-ontwikkeltools. Renderers, bibliotheken, compilers, script generators en andere ontwikkelingshulpmiddelen zijn ook vaak slecht presterende en slecht gedocumenteerde programma ‘ s die een bron van defecten in het eindproduct kunnen worden.

identificatie van bugs

Write a Comment

Het e-mailadres wordt niet gepubliceerd.