I software testing, er det viktig å finne ut om systemet riktig aksepterer riktige innganger og bare de riktige innganger . For å nå dette målet, er ekvivalensklasseteknikken og grense - verdi analyse ansatt. Noen programvare ingeniører vil til og med gå utover kravene i en av disse, teste tre tilfeller rundt en grense : en på grensen , og én gang på hver side av den. Boundary Cases
Tanken bak både ekvivalensklasseteknikken og grense - verdi analyse hviler på en forståelse av grensen tilfeller. "Grensen " i spørsmålet er mellom gyldig og ugyldig input, pluss verdiene nærheten. For eksempel, hvis du hadde et system som var ment til å godta en måned som et innspill , ville 1-12 være gyldige innganger . Noe lik null eller negativ , eller 13 eller større , ville ikke være gyldig . Så grensen tilfeller er 0 , 1 , 12, og 13. .
Boundary -Value Analysis
For en grense - verdi analyse, i eksempelet måneder som input , ville du teste 0,1,12 og 13 . Du forventer en feilmelding for verdiene 0 og 13. . Du forventer at systemet skal fungere normalt for 1 og 12 . Hvis det ikke skjedde , ville du vite at det var noe galt med programmeringen.
Ekvivalensklasseinndeling
Ekvivalensklasseinndeling søker å eliminere redundans av grensen - verdi testing for å gjøre testing mer effektiv . På en rekke linje av heltall , for eksempel måneder , ønsker du vis mellomrommet mellom 0 og 1 som en skillevegg , og også rommet mellom 12 og 13 . Ditt nummer linjen vil derfor bli delt inn i tre seksjoner , og du vil sikre at hver seksjon ble testet en gang . Dette betyr at du vil teste tre tall totalt , ikke fire , som i grense - verdi analyse .
Bilder Andre Forskjeller
Ekvivalensklasseinndeling også lar deg teste en verdi mellom partisjonene , snarere enn bare verdier nær grensen . Så , i månedene eksempel kan du teste -3 , 5 og 1.000.000 . Men de fleste testere generelt bruker begge strategiene fordi, selv ekvivalensklasseteknikken er effektiv, hvis du ikke vet det nøyaktige innholdet i programmet , kan du gå glipp spissfindigheter . Et eksempel kan være et system som behandler måneder 1-6 forskjellig fra måneder 7-12 .