hvor tror du kan være hjemmet til programvarefeil? Riktig, i programvare. Men hvor nøyaktig?
hvorfor skjer det at programmer ikke fungerer riktig? Det er veldig enkelt – de er laget og brukt av mennesker. Hvis brukeren gjør en feil, kan dette føre til et problem i driften av programmet – det brukes feil, noe som betyr at det kanskje ikke oppfører seg som forventet.
Menneskelig Feil
En feil – er en menneskelig handling som gir et feil resultat.
programvaren er imidlertid designet og laget av folk som kan (og gjør) gjøre feil også. Dette betyr at det er feil i selve programvaren. De kalles feil eller feil (begge betegnelsene er ekvivalente). Husk-programvare er mer enn bare kode.
Programvarefeil Eller Feil
Feil, Feil-mangel på en komponent eller et system som kan føre til feil i visse funksjoner. En feil oppdaget under programutførelse kan føre til feil i en enkelt komponent eller hele systemet.
under utførelsen av programkoden kan det oppstå feil som ble innebygd selv under skrivingen: programmet kan ikke gjøre hva det skal, eller omvendt-gjør hva det ikke skal, og det oppstår et krasj.
Programvarefeil Eller Krasj
Feil eller krasj er et avvik mellom det faktiske resultatet av driften av en komponent eller et system og det forventede resultatet.
Feil i programmet kan være en indikator på tilstedeværelsen av en feil i den.
dermed eksisterer feilen når tre betingelser er oppfylt samtidig:
- det forventede resultatet er kjent;
- det faktiske resultatet er kjent;
- det faktiske resultatet er forskjellig fra det forventede resultatet.
det er viktig å forstå at ikke alle feil forårsaker krasjer-noen av dem kan ikke manifestere seg på noen måte og forbli ubemerket (eller vises bare under svært spesielle forhold).
Feil kan ikke bare skyldes feil, men også av miljøforhold: for eksempel kan stråling, elektromagnetiske felt eller forurensning også påvirke driften av både programvare og maskinvare.
totalt er det flere kilder til feil og dermed feil:
- programvaresystemet;
- systembruksfeil;
- ugunstige miljøforhold;
- bevisst skade;
- de potensielle konsekvensene av tidligere feil, forhold eller tilsiktede handlinger.
Feil kan oppstå på forskjellige nivåer,og kvaliteten på systemet vil direkte avhenge av om de korrigeres og når.
Kvalitet-i hvilken grad settet av iboende egenskaper oppfyller kravene.
Programvarekvalitet er en samling av egenskaper ved programvare som gjenspeiler dens evne til å møte uttalte og underforståtte behov. Krav er et etablert behov eller forventning. Vanligvis antatt eller nødvendig.
i det første tilfellet ble alt gjort riktig og vi mottok et produkt som fullt ut oppfyller kundens forventninger og oppfyller kvalitetskriteriene.
i andre tilfelle ble det gjort feil allerede under kodingen, noe som førte til feil i ferdigproduktet. Men på dette nivået er bugs ganske enkle å oppdage og fikse, da vi ser manglende overholdelse.
det tredje alternativet er verre – her ble det gjort feil i designfasen av systemet. Dette kan bare legges merke til ved å gjennomføre en grundig kontroll med spesifikasjonen. Korrigering av slike feil er heller ikke lett – du må omforme produktdesignen.
i fjerde tilfelle ble feilene lagt ned på scenen for kravdannelse; all videreutvikling og jevn testing gikk ned i utgangspunktet feil vei. Under testingen finner vi ikke feil-programmet vil passere alle tester, men det kan avvises av kunden. Du vil lære mer om dette i våre ONLINE QA klasser og sertifisering.
Konvensjonelt er det fem grunner for utseendet på feil i programkoden.
- Mangel på lagkommunikasjon. Ofte, forretningsbehov rett og slett ikke nå utviklingsteamet. Kunden har en forståelse av hvordan de vil se det ferdige produktet, men hvis ideen ikke er riktig forklart for utviklere og testere, kan resultatet ikke være som forventet. Kravene skal være tilgjengelige og forståelige for alle deltakere i programvareutviklingsprosessen.
- Kompleksiteten av programvaren. Moderne programvare består av mange komponenter som kombineres til komplekse programvaresystemer. Multi-threaded applikasjoner, klient-server og distribuert arkitektur, multi-tier databaser-programmer blir vanskeligere å skrive og vedlikeholde, og jo vanskeligere jobben til programmerere blir. Og jo vanskeligere arbeidet, desto flere feil kan personen som utfører det gjøre.
- Endringer i krav. Selv små endringer i krav sent i utviklingen krever mye arbeid for å gjøre endringer i systemet. Design og arkitektur av applikasjonen endrer seg, noe som igjen krever endringer i kildekoden og prinsippene for samhandling av programvaremoduler. Disse pågående endringene er ofte kilden til subtile feil. Likevel er ofte endrede krav i moderne virksomhet mer regelen enn unntaket, så kontinuerlig testing og risikokontroll under slike forhold er det direkte ansvaret for kvalitetssikringsavdelingen.
- Dårlig dokumentert kode. Det er vanskelig å vedlikeholde og endre dårlig skrevet og dårlig dokumentert kode. Mange selskaper har spesielle regler for å skrive og dokumentere kode av programmerere. Selv om det i praksis ofte skjer at utviklere er tvunget til å skrive programmer raskt i utgangspunktet, og dette påvirker kvaliteten på produktet.
- Verktøy For Programvareutvikling. Gjengivere, biblioteker, kompilatorer, skriptgeneratorer og andre utviklingshjelpemidler er også ofte dårlig utførte og dårlig dokumenterte programmer som kan bli en kilde til feil i ferdigproduktet.