Sådan finder du fejl og mangler

hvor tror du, der kan være hjemsted for fejl? Korrekt, i programmer. Men hvor præcist?

hvorfor sker det, at programmer ikke fungerer korrekt? Det er meget enkelt – de er skabt og brugt af mennesker. Hvis brugeren begår en fejl, kan dette føre til et problem i driften af programmet – det bruges forkert, hvilket betyder, at det muligvis ikke opfører sig som forventet.

menneskelig fejl

en fejl – er en menneskelig handling, der producerer et forkert resultat.

men programmet er designet og skabt af mennesker, der også kan (og gøre) begå fejl. Det betyder, at der er fejl i selve programmet. De kaldes fejl eller fejl (begge betegnelser er ækvivalente). Husk-programmel er mere end bare kode.

programfejl eller fejl

defekt, fejl – en mangel på en komponent eller et system, der kan føre til fejl i visse funktioner. En defekt, der opdages under programudførelsen, kan forårsage en fejl i en enkelt komponent eller hele systemet.

under udførelsen af programkoden kan der forekomme fejl, der blev indlejret selv under skrivningen: programmet gør muligvis ikke, hvad det skal, eller omvendt – gør hvad det ikke skal, og der opstår et nedbrud.

programfejl eller nedbrud

fejl eller nedbrud er en uoverensstemmelse mellem det faktiske resultat af driften af en komponent eller et system og det forventede resultat.

fejl i programmet kan være en indikator for tilstedeværelsen af en defekt i den.

fejlen eksisterer således, når tre betingelser er opfyldt samtidigt:

  • det forventede resultat er kendt;
  • det faktiske resultat er kendt;
  • det faktiske resultat adskiller sig fra det forventede resultat.

det er vigtigt at forstå, at ikke alle fejl forårsager nedbrud – nogle af dem må ikke manifestere sig på nogen måde og forblive ubemærket (eller vises kun under meget specifikke omstændigheder).

fejl kan ikke kun skyldes defekter, men også af miljøforhold: for eksempel kan stråling, elektromagnetiske felter eller forurening også påvirke driften af både programmer og udstyr.

i alt er der flere kilder til fejl og følgelig fejl:

  • fejl i specifikation, design eller implementering af programmelsystemet;
  • systembrugsfejl;
  • ugunstige miljøforhold;
  • bevidst skade;
  • de potentielle konsekvenser af tidligere fejl, forhold eller forsætlige handlinger.

fejl kan forekomme på forskellige niveauer, og systemets kvalitet afhænger direkte af, om de korrigeres, og hvornår.

kvalitet – i hvilken grad sæt af iboende egenskaber opfylder kravene.

Programmelkvalitet er en samling af egenskaber ved programmel, der afspejler dets evne til at imødekomme angivne og underforståede behov. Krav er et etableret behov eller forventning. Normalt antages eller kræves.

i det første tilfælde blev alt gjort korrekt, og vi modtog et produkt, der fuldt ud opfylder kundens forventninger og opfylder kvalitetskriterierne.

i det andet tilfælde blev der allerede foretaget fejl under kodning, hvilket førte til udseendet af defekter i det færdige produkt. Men på dette niveau er fejl ret nemme at få øje på og rette, da vi ser manglende overholdelse.

den tredje mulighed er værre – her blev der lavet fejl i systemets designfase. Dette kan kun bemærkes ved at foretage en grundig kontrol med specifikationen. Det er heller ikke let at korrigere sådanne fejl – du skal redesigne produktdesignet.

i det fjerde tilfælde blev manglerne fastlagt på stadiet af kravdannelse; al yderligere udvikling og endda test gik ned på den oprindeligt forkerte vej. Under testen finder vi ikke fejl – programmet vil bestå alle test, men det kan afvises af kunden. Du vil lære mere om dette i vores online kvalitetskurser og certificering.

konventionelt er der fem grunde til udseendet af fejl i programkoden.

  1. manglende teamkommunikation. Ofte når forretningskrav simpelthen ikke udviklingsholdet. Kunden har en forståelse for, hvordan de vil se det færdige produkt, men hvis deres ide ikke er korrekt forklaret for udviklerne og testerne, kan resultatet ikke være som forventet. Kravene skal være tilgængelige og forståelige for alle deltagere i programmeludviklingsprocessen.
  2. programmets kompleksitet. Moderne programmer består af mange komponenter, der kombineres til komplekse systemer. Multi-threaded applikationer, klient-server og distribueret arkitektur, multi-tier databaser – programmer bliver sværere at skrive og vedligeholde, og jo vanskeligere bliver programmørernes job. Og jo vanskeligere arbejdet er, desto flere fejl kan den person, der udfører det, gøre.
  3. ændringer af krav. Selv mindre ændringer i krav sent i udviklingen kræver meget arbejde for at foretage ændringer i systemet. Design og arkitektur af applikationen ændrer sig, hvilket igen kræver ændringer i kildekoden og principperne for interaktion mellem programmoduler. Disse igangværende ændringer er ofte kilden til subtile mangler. Ikke desto mindre er ofte skiftende krav i moderne forretning mere reglen end undtagelsen, så kontinuerlig test og risikokontrol under sådanne forhold er kvalitetssikringsafdelingens direkte ansvar.
  4. dårligt dokumenteret kode. Det er vanskeligt at vedligeholde og ændre dårligt skrevet og dårligt dokumenteret kode. Mange virksomheder har særlige regler for at skrive og dokumentere kode af programmører. Selv om det i praksis ofte sker, at udviklere er tvunget til at skrive programmer hurtigt i første omgang, og det påvirker produktets kvalitet.
  5. værktøjer til udvikling af programmer. Renderere, biblioteker, kompilatorer, scriptgeneratorer og andre udviklingshjælpemidler er også ofte dårligt udførte og dårligt dokumenterede programmer, der kan blive en kilde til defekter i det færdige produkt.

identificering af fejl

Write a Comment

Din e-mailadresse vil ikke blive publiceret.